Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: qcom: add Alfa Network AP120C-AC

ALFA Network AP120C-AC is a dual-band ceiling AP, based on Qualcomm
IPQ4018 + QCA8075 platform.

Specification:

- Qualcomm IPQ4018 (717 MHz)
- 256 MB of RAM (DDR3)
- 16 MB (SPI NOR) + 128 or 512 MB (SPI NAND) of flash
- 2x Gbps Ethernet, with 802.3af PoE support in one port
- 2T2R 2.4/5 GHz (IPQ4018), with ext. FEMs (QFE1952, QFE1922)
- 3x U.FL connectors
- 1x 1.8 dBi (Bluetooth) and 2x 3/5 dBi dual-band (Wi-Fi) antennas
- Atmel/Microchip AT97SC3205T TPM module (I2C bus)
- TI CC2540 Bluetooth LE module (USB 2.0 bus)
- 1x button (reset)
- 1x USB 2.0
- DC jack for main power input (12 V)
- UART header available on PCB (2.0 mm pitch)

This adds DTS for both the generic and custom Bit edition for Sartura.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Link: https://lore.kernel.org/r/20200909195640.3127341-4-robert.marko@sartura.hr
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

authored by

Robert Marko and committed by
Bjorn Andersson
7fccbd67 308b2365

+311
+2
arch/arm/boot/dts/Makefile
··· 912 912 qcom-apq8074-dragonboard.dtb \ 913 913 qcom-apq8084-ifc6540.dtb \ 914 914 qcom-apq8084-mtp.dtb \ 915 + qcom-ipq4018-ap120c-ac.dtb \ 916 + qcom-ipq4018-ap120c-ac-bit.dtb \ 915 917 qcom-ipq4018-jalapeno.dtb \ 916 918 qcom-ipq4019-ap.dk01.1-c1.dtb \ 917 919 qcom-ipq4019-ap.dk04.1-c1.dtb \
+28
arch/arm/boot/dts/qcom-ipq4018-ap120c-ac-bit.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + 3 + #include "qcom-ipq4018-ap120c-ac.dtsi" 4 + 5 + / { 6 + model = "ALFA Network AP120C-AC Bit"; 7 + 8 + leds { 9 + compatible = "gpio-leds"; 10 + 11 + power { 12 + label = "ap120c-ac:green:power"; 13 + gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; 14 + default-state = "on"; 15 + }; 16 + 17 + wlan { 18 + label = "ap120c-ac:green:wlan"; 19 + gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; 20 + }; 21 + 22 + support { 23 + label = "ap120c-ac:green:support"; 24 + gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; 25 + panic-indicator; 26 + }; 27 + }; 28 + };
+27
arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + 3 + #include "qcom-ipq4018-ap120c-ac.dtsi" 4 + 5 + / { 6 + leds { 7 + compatible = "gpio-leds"; 8 + 9 + status: status { 10 + label = "ap120c-ac:blue:status"; 11 + gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; 12 + default-state = "keep"; 13 + }; 14 + 15 + wlan2g { 16 + label = "ap120c-ac:green:wlan2g"; 17 + gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; 18 + linux,default-trigger = "phy0tpt"; 19 + }; 20 + 21 + wlan5g { 22 + label = "ap120c-ac:red:wlan5g"; 23 + gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; 24 + linux,default-trigger = "phy1tpt"; 25 + }; 26 + }; 27 + };
+254
arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + 3 + #include "qcom-ipq4019.dtsi" 4 + #include <dt-bindings/gpio/gpio.h> 5 + #include <dt-bindings/input/input.h> 6 + 7 + / { 8 + model = "ALFA Network AP120C-AC"; 9 + compatible = "alfa-network,ap120c-ac"; 10 + 11 + keys { 12 + compatible = "gpio-keys"; 13 + 14 + reset { 15 + label = "reset"; 16 + gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; 17 + linux,code = <KEY_RESTART>; 18 + }; 19 + }; 20 + }; 21 + 22 + &tlmm { 23 + i2c0_pins: i2c0_pinmux { 24 + mux_i2c { 25 + function = "blsp_i2c0"; 26 + pins = "gpio58", "gpio59"; 27 + drive-strength = <16>; 28 + bias-disable; 29 + }; 30 + }; 31 + 32 + mdio_pins: mdio_pinmux { 33 + mux_mdio { 34 + pins = "gpio53"; 35 + function = "mdio"; 36 + bias-pull-up; 37 + }; 38 + 39 + mux_mdc { 40 + pins = "gpio52"; 41 + function = "mdc"; 42 + bias-pull-up; 43 + }; 44 + }; 45 + 46 + serial0_pins: serial0_pinmux { 47 + mux_uart { 48 + pins = "gpio60", "gpio61"; 49 + function = "blsp_uart0"; 50 + bias-disable; 51 + }; 52 + }; 53 + 54 + spi0_pins: spi0_pinmux { 55 + mux_spi { 56 + function = "blsp_spi0"; 57 + pins = "gpio55", "gpio56", "gpio57"; 58 + drive-strength = <12>; 59 + bias-disable; 60 + }; 61 + 62 + mux_cs { 63 + function = "gpio"; 64 + pins = "gpio54", "gpio4"; 65 + drive-strength = <2>; 66 + bias-disable; 67 + output-high; 68 + }; 69 + }; 70 + 71 + usb-power { 72 + line-name = "USB-power"; 73 + gpios = <1 GPIO_ACTIVE_HIGH>; 74 + gpio-hog; 75 + output-high; 76 + }; 77 + }; 78 + 79 + &watchdog { 80 + status = "okay"; 81 + }; 82 + 83 + &prng { 84 + status = "okay"; 85 + }; 86 + 87 + &blsp_dma { 88 + status = "okay"; 89 + }; 90 + 91 + &blsp1_i2c3 { 92 + status = "okay"; 93 + 94 + pinctrl-0 = <&i2c0_pins>; 95 + pinctrl-names = "default"; 96 + 97 + tpm@29 { 98 + compatible = "atmel,at97sc3204t"; 99 + reg = <0x29>; 100 + }; 101 + }; 102 + 103 + &blsp1_spi1 { 104 + status = "okay"; 105 + 106 + pinctrl-0 = <&spi0_pins>; 107 + pinctrl-names = "default"; 108 + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 4 GPIO_ACTIVE_HIGH>; 109 + 110 + flash@0 { 111 + compatible = "jedec,spi-nor"; 112 + reg = <0>; 113 + spi-max-frequency = <24000000>; 114 + 115 + partitions { 116 + compatible = "fixed-partitions"; 117 + #address-cells = <1>; 118 + #size-cells = <1>; 119 + 120 + partition@0 { 121 + label = "SBL1"; 122 + reg = <0x00000000 0x00040000>; 123 + read-only; 124 + }; 125 + 126 + partition@40000 { 127 + label = "MIBIB"; 128 + reg = <0x00040000 0x00020000>; 129 + read-only; 130 + }; 131 + 132 + partition@60000 { 133 + label = "QSEE"; 134 + reg = <0x00060000 0x00060000>; 135 + read-only; 136 + }; 137 + 138 + partition@c0000 { 139 + label = "CDT"; 140 + reg = <0x000c0000 0x00010000>; 141 + read-only; 142 + }; 143 + 144 + partition@d0000 { 145 + label = "DDRPARAMS"; 146 + reg = <0x000d0000 0x00010000>; 147 + read-only; 148 + }; 149 + 150 + partition@e0000 { 151 + label = "u-boot-env"; 152 + reg = <0x000e0000 0x00010000>; 153 + }; 154 + 155 + partition@f0000 { 156 + label = "u-boot"; 157 + reg = <0x000f0000 0x00080000>; 158 + read-only; 159 + }; 160 + 161 + partition@170000 { 162 + label = "ART"; 163 + reg = <0x00170000 0x00010000>; 164 + read-only; 165 + }; 166 + 167 + partition@180000 { 168 + label = "priv_data1"; 169 + reg = <0x00180000 0x00010000>; 170 + read-only; 171 + }; 172 + 173 + partition@190000 { 174 + label = "priv_data2"; 175 + reg = <0x00190000 0x00010000>; 176 + read-only; 177 + }; 178 + }; 179 + }; 180 + 181 + nand@1 { 182 + compatible = "spi-nand"; 183 + reg = <1>; 184 + spi-max-frequency = <40000000>; 185 + 186 + partitions { 187 + compatible = "fixed-partitions"; 188 + #address-cells = <1>; 189 + #size-cells = <1>; 190 + 191 + partition@0 { 192 + label = "ubi1"; 193 + reg = <0x00000000 0x04000000>; 194 + }; 195 + 196 + partition@4000000 { 197 + label = "ubi2"; 198 + reg = <0x04000000 0x04000000>; 199 + }; 200 + }; 201 + }; 202 + }; 203 + 204 + &blsp1_uart1 { 205 + status = "okay"; 206 + 207 + pinctrl-0 = <&serial0_pins>; 208 + pinctrl-names = "default"; 209 + }; 210 + 211 + &cryptobam { 212 + status = "okay"; 213 + }; 214 + 215 + &crypto { 216 + status = "okay"; 217 + }; 218 + 219 + &mdio { 220 + status = "okay"; 221 + 222 + pinctrl-0 = <&mdio_pins>; 223 + pinctrl-names = "default"; 224 + }; 225 + 226 + &wifi0 { 227 + status = "okay"; 228 + }; 229 + 230 + &wifi1 { 231 + status = "okay"; 232 + qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC"; 233 + }; 234 + 235 + &usb3_hs_phy { 236 + status = "okay"; 237 + }; 238 + 239 + &usb3 { 240 + status = "okay"; 241 + 242 + dwc3@8a00000 { 243 + phys = <&usb3_hs_phy>; 244 + phy-names = "usb2-phy"; 245 + }; 246 + }; 247 + 248 + &usb2_hs_phy { 249 + status = "okay"; 250 + }; 251 + 252 + &usb2 { 253 + status = "okay"; 254 + };