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

Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull 64-bit ARM DT updates from Olof Johansson:
"Just as the 32-bit contents, the 64-bit device tree branch also
contains a number of additions this release cycle.

New platforms:
- LG LG1313
- Mediatek MT6755
- Renesas r8a7796
- Broadcom 2837

Other platforms with larger updates are:
- Nvidia X1 platforms (USB 3.0, regulators, display subsystem)
- Mediatek MT8173 (display subsystem added)
- Rockchip RK3399 (a lot of new peripherals)
- ARM Juno reference implementation (SCPI power domains, coresight,
thermal)"

* tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (118 commits)
arm64: tegra: Enable HDMI on Jetson TX1
arm64: tegra: Add sor1_src clock
arm64: tegra: Add XUSB powergates on Tegra210
arm64: tegra: Add DPAUX pinctrl bindings
arm64: tegra: Add ACONNECT bus node for Tegra210
arm64: tegra: Add audio powergate node for Tegra210
arm64: tegra: Add regulators for Tegra210 Smaug
arm64: tegra: Correct Tegra210 XUSB mailbox interrupt
arm64: tegra: Enable XUSB controller on Jetson TX1
arm64: tegra: Enable debug serial on Jetson TX1
arm64: tegra: Add Tegra210 XUSB controller
arm64: tegra: Add Tegra210 XUSB pad controller
arm64: tegra: Add DSI panel on Jetson TX1
arm64: tegra: p2597: Add SDMMC power supplies
arm64: tegra: Add PMIC support on Jetson TX1
Revert "ARM64: DTS: meson-gxbb: switch ethernet to real clock"
arm64: dts: hi6220: Add pl031 RTC support
arm64: dts: r8a7796/salvator-x: Enable watchdog timer
arm64: dts: r8a7796: Add RWDT node
arm64: dts: r8a7796: Use SYSC "always-on" PM Domain
...

+4450 -141
+4
Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
··· 30 30 Required root node properties: 31 31 compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; 32 32 33 + Raspberry Pi 3 Model B 34 + Required root node properties: 35 + compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; 36 + 33 37 Raspberry Pi Compute Module 34 38 Required root node properties: 35 39 compatible = "raspberrypi,compute-module", "brcm,bcm2835";
+4
Documentation/devicetree/bindings/arm/mediatek.txt
··· 10 10 "mediatek,mt6580" 11 11 "mediatek,mt6589" 12 12 "mediatek,mt6592" 13 + "mediatek,mt6755" 13 14 "mediatek,mt6795" 14 15 "mediatek,mt7623" 15 16 "mediatek,mt8127" ··· 32 31 - Evaluation board for MT6592: 33 32 Required root node properties: 34 33 - compatible = "mediatek,mt6592-evb", "mediatek,mt6592"; 34 + - Evaluation phone for MT6755(Helio P10): 35 + Required root node properties: 36 + - compatible = "mediatek,mt6755-evb", "mediatek,mt6755"; 35 37 - Evaluation board for MT6795(Helio X10): 36 38 Required root node properties: 37 39 - compatible = "mediatek,mt6795-evb", "mediatek,mt6795";
+4
Documentation/devicetree/bindings/arm/shmobile.txt
··· 29 29 compatible = "renesas,r8a7794" 30 30 - R-Car H3 (R8A77950) 31 31 compatible = "renesas,r8a7795" 32 + - R-Car M3-W (R8A77960) 33 + compatible = "renesas,r8a7796" 32 34 33 35 34 36 Boards: ··· 65 63 compatible = "renesas,porter", "renesas,r8a7791" 66 64 - Salvator-X (RTP0RC7795SIPB0010S) 67 65 compatible = "renesas,salvator-x", "renesas,r8a7795"; 66 + - Salvator-X 67 + compatible = "renesas,salvator-x", "renesas,r8a7796"; 68 68 - SILK (RTP0RC7794LCB00011S) 69 69 compatible = "renesas,silk", "renesas,r8a7794"
+1
Documentation/devicetree/bindings/ata/ahci-platform.txt
··· 10 10 Required properties: 11 11 - compatible : compatible string, one of: 12 12 - "allwinner,sun4i-a10-ahci" 13 + - "brcm,iproc-ahci" 13 14 - "hisilicon,hisi-ahci" 14 15 - "cavium,octeon-7130-ahci" 15 16 - "ibm,476gtr-ahci"
+1
Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt
··· 9 9 "mediatek,mt8135-sysirq" 10 10 "mediatek,mt8127-sysirq" 11 11 "mediatek,mt6795-sysirq" 12 + "mediatek,mt6755-sysirq" 12 13 "mediatek,mt6592-sysirq" 13 14 "mediatek,mt6589-sysirq" 14 15 "mediatek,mt6582-sysirq"
+2 -2
Documentation/devicetree/bindings/net/apm-xgene-enet.txt
··· 59 59 compatible = "apm,xgene-enet"; 60 60 status = "disabled"; 61 61 reg = <0x0 0x17020000 0x0 0xd100>, 62 - <0x0 0X17030000 0x0 0X400>, 63 - <0x0 0X10000000 0x0 0X200>; 62 + <0x0 0x17030000 0x0 0x400>, 63 + <0x0 0x10000000 0x0 0x200>; 64 64 reg-names = "enet_csr", "ring_csr", "ring_cmd"; 65 65 interrupts = <0x0 0x3c 0x4>; 66 66 port-id = <0>;
+4
Documentation/devicetree/bindings/pci/layerscape-pci.txt
··· 24 24 The first entry must be a link to the SCFG device node 25 25 The second entry must be '0' or '1' based on physical PCIe controller index. 26 26 This is used to get SCFG PEXN registers 27 + - dma-coherent: Indicates that the hardware IP block can ensure the coherency 28 + of the data transferred from/to the IP block. This can avoid the software 29 + cache flush/invalid actions, and improve the performance significantly. 27 30 28 31 Example: 29 32 ··· 41 38 #address-cells = <3>; 42 39 #size-cells = <2>; 43 40 device_type = "pci"; 41 + dma-coherent; 44 42 num-lanes = <4>; 45 43 bus-range = <0x0 0xff>; 46 44 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
+2
Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
··· 5 5 "amlogic,meson8b-cbus-pinctrl" 6 6 "amlogic,meson8-aobus-pinctrl" 7 7 "amlogic,meson8b-aobus-pinctrl" 8 + "amlogic,meson-gxbb-periphs-pinctrl" 9 + "amlogic,meson-gxbb-aobus-pinctrl" 8 10 - reg: address and size of registers controlling irq functionality 9 11 10 12 === GPIO sub-nodes ===
+14
Documentation/devicetree/bindings/rng/amlogic,meson-rng.txt
··· 1 + Amlogic Meson Random number generator 2 + ===================================== 3 + 4 + Required properties: 5 + 6 + - compatible : should be "amlogic,meson-rng" 7 + - reg : Specifies base physical address and size of the registers. 8 + 9 + Example: 10 + 11 + rng { 12 + compatible = "amlogic,meson-rng"; 13 + reg = <0x0 0xc8834000 0x0 0x4>; 14 + };
+1
Documentation/devicetree/bindings/serial/mtk-uart.txt
··· 6 6 * "mediatek,mt6580-uart" for MT6580 compatible UARTS 7 7 * "mediatek,mt6582-uart" for MT6582 compatible UARTS 8 8 * "mediatek,mt6589-uart" for MT6589 compatible UARTS 9 + * "mediatek,mt6755-uart" for MT6755 compatible UARTS 9 10 * "mediatek,mt6795-uart" for MT6795 compatible UARTS 10 11 * "mediatek,mt7623-uart" for MT7623 compatible UARTS 11 12 * "mediatek,mt8127-uart" for MT8127 compatible UARTS
+6
arch/arm64/Kconfig.platforms
··· 140 140 help 141 141 This enables support for the Renesas R-Car H3 SoC. 142 142 143 + config ARCH_R8A7796 144 + bool "Renesas R-Car M3-W SoC Platform" 145 + depends on ARCH_RENESAS 146 + help 147 + This enables support for the Renesas R-Car M3-W SoC. 148 + 143 149 config ARCH_STRATIX10 144 150 bool "Altera's Stratix 10 SoCFPGA Family" 145 151 help
+20
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
··· 45 45 /dts-v1/; 46 46 47 47 #include "meson-gxbb.dtsi" 48 + #include <dt-bindings/gpio/gpio.h> 48 49 49 50 / { 50 51 compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb"; ··· 63 62 device_type = "memory"; 64 63 reg = <0x0 0x0 0x0 0x80000000>; 65 64 }; 65 + 66 + leds { 67 + compatible = "gpio-leds"; 68 + blue { 69 + label = "c2:blue:alive"; 70 + gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>; 71 + linux,default-trigger = "heartbeat"; 72 + default-state = "off"; 73 + }; 74 + }; 66 75 }; 67 76 68 77 &uart_AO { 69 78 status = "okay"; 79 + pinctrl-0 = <&uart_ao_a_pins>; 80 + pinctrl-names = "default"; 70 81 }; 82 + 83 + &ethmac { 84 + status = "okay"; 85 + pinctrl-0 = <&eth_pins>; 86 + pinctrl-names = "default"; 87 + }; 88 +
+9
arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
··· 62 62 /* This UART is brought out to the DB9 connector */ 63 63 &uart_AO { 64 64 status = "okay"; 65 + pinctrl-0 = <&uart_ao_a_pins>; 66 + pinctrl-names = "default"; 65 67 }; 68 + 69 + &ethmac { 70 + status = "okay"; 71 + pinctrl-0 = <&eth_pins>; 72 + pinctrl-names = "default"; 73 + }; 74 +
+3
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
··· 56 56 57 57 &uart_AO { 58 58 status = "okay"; 59 + pinctrl-0 = <&uart_ao_a_pins>; 60 + pinctrl-names = "default"; 61 + 59 62 };
+169 -1
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
··· 43 43 #include <dt-bindings/gpio/gpio.h> 44 44 #include <dt-bindings/interrupt-controller/irq.h> 45 45 #include <dt-bindings/interrupt-controller/arm-gic.h> 46 + #include <dt-bindings/gpio/meson-gxbb-gpio.h> 47 + #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h> 46 48 47 49 / { 48 50 compatible = "amlogic,meson-gxbb"; ··· 131 129 #size-cells = <2>; 132 130 ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>; 133 131 132 + reset: reset-controller@4404 { 133 + compatible = "amlogic,meson-gxbb-reset"; 134 + reg = <0x0 0x04404 0x0 0x20>; 135 + #reset-cells = <1>; 136 + }; 137 + 134 138 uart_A: serial@84c0 { 135 139 compatible = "amlogic,meson-uart"; 136 - reg = <0x0 0x084c0 0x0 0x14>; 140 + reg = <0x0 0x84c0 0x0 0x14>; 137 141 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 142 + clocks = <&xtal>; 143 + status = "disabled"; 144 + }; 145 + 146 + uart_B: serial@84dc { 147 + compatible = "amlogic,meson-uart"; 148 + reg = <0x0 0x84dc 0x0 0x14>; 149 + interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; 150 + clocks = <&xtal>; 151 + status = "disabled"; 152 + }; 153 + 154 + uart_C: serial@8700 { 155 + compatible = "amlogic,meson-uart"; 156 + reg = <0x0 0x8700 0x0 0x14>; 157 + interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>; 138 158 clocks = <&xtal>; 139 159 status = "disabled"; 140 160 }; ··· 182 158 #size-cells = <2>; 183 159 ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>; 184 160 161 + pinctrl_aobus: pinctrl@14 { 162 + compatible = "amlogic,meson-gxbb-aobus-pinctrl"; 163 + #address-cells = <2>; 164 + #size-cells = <2>; 165 + ranges; 166 + 167 + gpio_ao: bank@14 { 168 + reg = <0x0 0x00014 0x0 0x8>, 169 + <0x0 0x0002c 0x0 0x4>, 170 + <0x0 0x00024 0x0 0x8>; 171 + reg-names = "mux", "pull", "gpio"; 172 + gpio-controller; 173 + #gpio-cells = <2>; 174 + }; 175 + 176 + uart_ao_a_pins: uart_ao_a { 177 + mux { 178 + groups = "uart_tx_ao_a", "uart_rx_ao_a"; 179 + function = "uart_ao"; 180 + }; 181 + }; 182 + }; 183 + 185 184 uart_AO: serial@4c0 { 186 185 compatible = "amlogic,meson-uart"; 187 186 reg = <0x0 0x004c0 0x0 0x14>; ··· 214 167 }; 215 168 }; 216 169 170 + periphs: periphs@c8834000 { 171 + compatible = "simple-bus"; 172 + reg = <0x0 0xc8834000 0x0 0x2000>; 173 + #address-cells = <2>; 174 + #size-cells = <2>; 175 + ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>; 176 + 177 + rng { 178 + compatible = "amlogic,meson-rng"; 179 + reg = <0x0 0x0 0x0 0x4>; 180 + }; 181 + 182 + pinctrl_periphs: pinctrl@4b0 { 183 + compatible = "amlogic,meson-gxbb-periphs-pinctrl"; 184 + #address-cells = <2>; 185 + #size-cells = <2>; 186 + ranges; 187 + 188 + gpio: bank@4b0 { 189 + reg = <0x0 0x004b0 0x0 0x28>, 190 + <0x0 0x004e8 0x0 0x14>, 191 + <0x0 0x00120 0x0 0x14>, 192 + <0x0 0x00430 0x0 0x40>; 193 + reg-names = "mux", "pull", "pull-enable", "gpio"; 194 + gpio-controller; 195 + #gpio-cells = <2>; 196 + }; 197 + 198 + emmc_pins: emmc { 199 + mux { 200 + groups = "emmc_nand_d07", 201 + "emmc_cmd", 202 + "emmc_clk"; 203 + function = "emmc"; 204 + }; 205 + }; 206 + 207 + sdcard_pins: sdcard { 208 + mux { 209 + groups = "sdcard_d0", 210 + "sdcard_d1", 211 + "sdcard_d2", 212 + "sdcard_d3", 213 + "sdcard_cmd", 214 + "sdcard_clk"; 215 + function = "sdcard"; 216 + }; 217 + }; 218 + 219 + uart_a_pins: uart_a { 220 + mux { 221 + groups = "uart_tx_a", 222 + "uart_rx_a"; 223 + function = "uart_a"; 224 + }; 225 + }; 226 + 227 + uart_b_pins: uart_b { 228 + mux { 229 + groups = "uart_tx_b", 230 + "uart_rx_b"; 231 + function = "uart_b"; 232 + }; 233 + }; 234 + 235 + uart_c_pins: uart_c { 236 + mux { 237 + groups = "uart_tx_c", 238 + "uart_rx_c"; 239 + function = "uart_c"; 240 + }; 241 + }; 242 + 243 + eth_pins: eth_c { 244 + mux { 245 + groups = "eth_mdio", 246 + "eth_mdc", 247 + "eth_clk_rx_clk", 248 + "eth_rx_dv", 249 + "eth_rxd0", 250 + "eth_rxd1", 251 + "eth_rxd2", 252 + "eth_rxd3", 253 + "eth_rgmii_tx_clk", 254 + "eth_tx_en", 255 + "eth_txd0", 256 + "eth_txd1", 257 + "eth_txd2", 258 + "eth_txd3"; 259 + function = "eth"; 260 + }; 261 + }; 262 + }; 263 + }; 264 + 265 + hiubus: hiubus@c883c000 { 266 + compatible = "simple-bus"; 267 + reg = <0x0 0xc883c000 0x0 0x2000>; 268 + #address-cells = <2>; 269 + #size-cells = <2>; 270 + ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>; 271 + 272 + clkc: clock-controller@0 { 273 + compatible = "amlogic,gxbb-clkc"; 274 + #clock-cells = <1>; 275 + reg = <0x0 0x0 0x0 0x3db>; 276 + }; 277 + }; 278 + 217 279 apb: apb@d0000000 { 218 280 compatible = "simple-bus"; 219 281 reg = <0x0 0xd0000000 0x0 0x200000>; 220 282 #address-cells = <2>; 221 283 #size-cells = <2>; 222 284 ranges = <0x0 0x0 0x0 0xd0000000 0x0 0x200000>; 285 + }; 286 + 287 + ethmac: ethernet@c9410000 { 288 + compatible = "amlogic,meson6-dwmac", "snps,dwmac"; 289 + reg = <0x0 0xc9410000 0x0 0x10000 290 + 0x0 0xc8834540 0x0 0x4>; 291 + interrupts = <0 8 1>; 292 + interrupt-names = "macirq"; 293 + clocks = <&xtal>; 294 + clock-names = "stmmaceth"; 295 + phy-mode = "rgmii"; 296 + status = "disabled"; 223 297 }; 224 298 }; 225 299 };
+34 -34
arch/arm64/boot/dts/apm/apm-shadowcat.dtsi
··· 106 106 interrupts = <1 9 0xf04>; /* GIC Maintenence IRQ */ 107 107 ranges = <0 0 0 0x79000000 0x0 0x800000>; /* MSI Range */ 108 108 reg = <0x0 0x78090000 0x0 0x10000>, /* GIC Dist */ 109 - <0x0 0x780A0000 0x0 0x20000>, /* GIC CPU */ 110 - <0x0 0x780C0000 0x0 0x10000>, /* GIC VCPU Control */ 111 - <0x0 0x780E0000 0x0 0x20000>; /* GIC VCPU */ 112 - v2m0: v2m@0x00000 { 109 + <0x0 0x780a0000 0x0 0x20000>, /* GIC CPU */ 110 + <0x0 0x780c0000 0x0 0x10000>, /* GIC VCPU Control */ 111 + <0x0 0x780e0000 0x0 0x20000>; /* GIC VCPU */ 112 + v2m0: v2m@00000 { 113 113 compatible = "arm,gic-v2m-frame"; 114 114 msi-controller; 115 115 reg = <0x0 0x0 0x0 0x1000>; 116 116 }; 117 - v2m1: v2m@0x10000 { 117 + v2m1: v2m@10000 { 118 118 compatible = "arm,gic-v2m-frame"; 119 119 msi-controller; 120 120 reg = <0x0 0x10000 0x0 0x1000>; 121 121 }; 122 - v2m2: v2m@0x20000 { 122 + v2m2: v2m@20000 { 123 123 compatible = "arm,gic-v2m-frame"; 124 124 msi-controller; 125 125 reg = <0x0 0x20000 0x0 0x1000>; 126 126 }; 127 - v2m3: v2m@0x30000 { 127 + v2m3: v2m@30000 { 128 128 compatible = "arm,gic-v2m-frame"; 129 129 msi-controller; 130 130 reg = <0x0 0x30000 0x0 0x1000>; 131 131 }; 132 - v2m4: v2m@0x40000 { 132 + v2m4: v2m@40000 { 133 133 compatible = "arm,gic-v2m-frame"; 134 134 msi-controller; 135 135 reg = <0x0 0x40000 0x0 0x1000>; 136 136 }; 137 - v2m5: v2m@0x50000 { 137 + v2m5: v2m@50000 { 138 138 compatible = "arm,gic-v2m-frame"; 139 139 msi-controller; 140 140 reg = <0x0 0x50000 0x0 0x1000>; 141 141 }; 142 - v2m6: v2m@0x60000 { 142 + v2m6: v2m@60000 { 143 143 compatible = "arm,gic-v2m-frame"; 144 144 msi-controller; 145 145 reg = <0x0 0x60000 0x0 0x1000>; 146 146 }; 147 - v2m7: v2m@0x70000 { 147 + v2m7: v2m@70000 { 148 148 compatible = "arm,gic-v2m-frame"; 149 149 msi-controller; 150 150 reg = <0x0 0x70000 0x0 0x1000>; 151 151 }; 152 - v2m8: v2m@0x80000 { 152 + v2m8: v2m@80000 { 153 153 compatible = "arm,gic-v2m-frame"; 154 154 msi-controller; 155 155 reg = <0x0 0x80000 0x0 0x1000>; 156 156 }; 157 - v2m9: v2m@0x90000 { 157 + v2m9: v2m@90000 { 158 158 compatible = "arm,gic-v2m-frame"; 159 159 msi-controller; 160 160 reg = <0x0 0x90000 0x0 0x1000>; 161 161 }; 162 - v2m10: v2m@0xA0000 { 162 + v2m10: v2m@a0000 { 163 163 compatible = "arm,gic-v2m-frame"; 164 164 msi-controller; 165 - reg = <0x0 0xA0000 0x0 0x1000>; 165 + reg = <0x0 0xa0000 0x0 0x1000>; 166 166 }; 167 - v2m11: v2m@0xB0000 { 167 + v2m11: v2m@b0000 { 168 168 compatible = "arm,gic-v2m-frame"; 169 169 msi-controller; 170 - reg = <0x0 0xB0000 0x0 0x1000>; 170 + reg = <0x0 0xb0000 0x0 0x1000>; 171 171 }; 172 - v2m12: v2m@0xC0000 { 172 + v2m12: v2m@c0000 { 173 173 compatible = "arm,gic-v2m-frame"; 174 174 msi-controller; 175 - reg = <0x0 0xC0000 0x0 0x1000>; 175 + reg = <0x0 0xc0000 0x0 0x1000>; 176 176 }; 177 - v2m13: v2m@0xD0000 { 177 + v2m13: v2m@d0000 { 178 178 compatible = "arm,gic-v2m-frame"; 179 179 msi-controller; 180 - reg = <0x0 0xD0000 0x0 0x1000>; 180 + reg = <0x0 0xd0000 0x0 0x1000>; 181 181 }; 182 - v2m14: v2m@0xE0000 { 182 + v2m14: v2m@e0000 { 183 183 compatible = "arm,gic-v2m-frame"; 184 184 msi-controller; 185 - reg = <0x0 0xE0000 0x0 0x1000>; 185 + reg = <0x0 0xe0000 0x0 0x1000>; 186 186 }; 187 - v2m15: v2m@0xF0000 { 187 + v2m15: v2m@f0000 { 188 188 compatible = "arm,gic-v2m-frame"; 189 189 msi-controller; 190 - reg = <0x0 0xF0000 0x0 0x1000>; 190 + reg = <0x0 0xf0000 0x0 0x1000>; 191 191 }; 192 192 }; 193 193 ··· 198 198 199 199 timer { 200 200 compatible = "arm,armv8-timer"; 201 - interrupts = <1 0 0xff04>, /* Secure Phys IRQ */ 202 - <1 13 0xff04>, /* Non-secure Phys IRQ */ 203 - <1 14 0xff04>, /* Virt IRQ */ 204 - <1 15 0xff04>; /* Hyp IRQ */ 201 + interrupts = <1 0 0xff08>, /* Secure Phys IRQ */ 202 + <1 13 0xff08>, /* Non-secure Phys IRQ */ 203 + <1 14 0xff08>, /* Virt IRQ */ 204 + <1 15 0xff08>; /* Hyp IRQ */ 205 205 clock-frequency = <50000000>; 206 206 }; 207 207 ··· 637 637 compatible = "apm,xgene2-sgenet"; 638 638 status = "disabled"; 639 639 reg = <0x0 0x1f610000 0x0 0xd100>, 640 - <0x0 0x1f600000 0x0 0Xd100>, 641 - <0x0 0x20000000 0x0 0X20000>; 640 + <0x0 0x1f600000 0x0 0xd100>, 641 + <0x0 0x20000000 0x0 0x20000>; 642 642 interrupts = <0 96 4>, 643 643 <0 97 4>; 644 644 dma-coherent; ··· 652 652 compatible = "apm,xgene2-xgenet"; 653 653 status = "disabled"; 654 654 reg = <0x0 0x1f620000 0x0 0x10000>, 655 - <0x0 0x1f600000 0x0 0Xd100>, 656 - <0x0 0x20000000 0x0 0X220000>; 655 + <0x0 0x1f600000 0x0 0xd100>, 656 + <0x0 0x20000000 0x0 0x220000>; 657 657 interrupts = <0 108 4>, 658 658 <0 109 4>, 659 659 <0 110 4>, ··· 693 693 #size-cells = <0>; 694 694 compatible = "snps,designware-i2c"; 695 695 reg = <0x0 0x10640000 0x0 0x1000>; 696 - interrupts = <0 0x3A 0x4>; 696 + interrupts = <0 0x3a 0x4>; 697 697 clocks = <&i2c4clk 0>; 698 698 bus_num = <4>; 699 699 };
+17 -27
arch/arm64/boot/dts/apm/apm-storm.dtsi
··· 199 199 clock-output-names = "sdioclk"; 200 200 }; 201 201 202 - qmlclk: qmlclk { 203 - compatible = "apm,xgene-device-clock"; 204 - #clock-cells = <1>; 205 - clocks = <&socplldiv2 0>; 206 - clock-names = "qmlclk"; 207 - reg = <0x0 0x1703C000 0x0 0x1000>; 208 - reg-names = "csr-reg"; 209 - clock-output-names = "qmlclk"; 210 - }; 211 - 212 202 ethclk: ethclk { 213 203 compatible = "apm,xgene-device-clock"; 214 204 #clock-cells = <1>; ··· 216 226 compatible = "apm,xgene-device-clock"; 217 227 #clock-cells = <1>; 218 228 clocks = <&ethclk 0>; 219 - reg = <0x0 0x1702C000 0x0 0x1000>; 229 + reg = <0x0 0x1702c000 0x0 0x1000>; 220 230 reg-names = "csr-reg"; 221 231 clock-output-names = "menetclk"; 222 232 }; ··· 914 924 compatible = "apm,xgene-enet"; 915 925 status = "disabled"; 916 926 reg = <0x0 0x17020000 0x0 0xd100>, 917 - <0x0 0X17030000 0x0 0Xc300>, 918 - <0x0 0X10000000 0x0 0X200>; 927 + <0x0 0x17030000 0x0 0xc300>, 928 + <0x0 0x10000000 0x0 0x200>; 919 929 reg-names = "enet_csr", "ring_csr", "ring_cmd"; 920 930 interrupts = <0x0 0x3c 0x4>; 921 931 dma-coherent; ··· 940 950 compatible = "apm,xgene1-sgenet"; 941 951 status = "disabled"; 942 952 reg = <0x0 0x1f210000 0x0 0xd100>, 943 - <0x0 0x1f200000 0x0 0Xc300>, 944 - <0x0 0x1B000000 0x0 0X200>; 953 + <0x0 0x1f200000 0x0 0xc300>, 954 + <0x0 0x1b000000 0x0 0x200>; 945 955 reg-names = "enet_csr", "ring_csr", "ring_cmd"; 946 - interrupts = <0x0 0xA0 0x4>, 947 - <0x0 0xA1 0x4>; 956 + interrupts = <0x0 0xa0 0x4>, 957 + <0x0 0xa1 0x4>; 948 958 dma-coherent; 949 959 clocks = <&sge0clk 0>; 950 960 local-mac-address = [00 00 00 00 00 00]; ··· 956 966 compatible = "apm,xgene1-sgenet"; 957 967 status = "disabled"; 958 968 reg = <0x0 0x1f210030 0x0 0xd100>, 959 - <0x0 0x1f200000 0x0 0Xc300>, 960 - <0x0 0x1B000000 0x0 0X8000>; 969 + <0x0 0x1f200000 0x0 0xc300>, 970 + <0x0 0x1b000000 0x0 0x8000>; 961 971 reg-names = "enet_csr", "ring_csr", "ring_cmd"; 962 - interrupts = <0x0 0xAC 0x4>, 963 - <0x0 0xAD 0x4>; 972 + interrupts = <0x0 0xac 0x4>, 973 + <0x0 0xad 0x4>; 964 974 port-id = <1>; 965 975 dma-coherent; 966 976 local-mac-address = [00 00 00 00 00 00]; ··· 972 982 compatible = "apm,xgene1-xgenet"; 973 983 status = "disabled"; 974 984 reg = <0x0 0x1f610000 0x0 0xd100>, 975 - <0x0 0x1f600000 0x0 0Xc300>, 976 - <0x0 0x18000000 0x0 0X200>; 985 + <0x0 0x1f600000 0x0 0xc300>, 986 + <0x0 0x18000000 0x0 0x200>; 977 987 reg-names = "enet_csr", "ring_csr", "ring_cmd"; 978 988 interrupts = <0x0 0x60 0x4>, 979 989 <0x0 0x61 0x4>, ··· 995 1005 compatible = "apm,xgene1-xgenet"; 996 1006 status = "disabled"; 997 1007 reg = <0x0 0x1f620000 0x0 0xd100>, 998 - <0x0 0x1f600000 0x0 0Xc300>, 999 - <0x0 0x18000000 0x0 0X8000>; 1008 + <0x0 0x1f600000 0x0 0xc300>, 1009 + <0x0 0x18000000 0x0 0x8000>; 1000 1010 reg-names = "enet_csr", "ring_csr", "ring_cmd"; 1001 - interrupts = <0x0 0x6C 0x4>, 1002 - <0x0 0x6D 0x4>; 1011 + interrupts = <0x0 0x6c 0x4>, 1012 + <0x0 0x6d 0x4>; 1003 1013 port-id = <1>; 1004 1014 dma-coherent; 1005 1015 clocks = <&xge1clk 0>;
+357
arch/arm64/boot/dts/arm/juno-base.dtsi
··· 56 56 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; 57 57 }; 58 58 59 + /* 60 + * Juno TRMs specify the size for these coresight components as 64K. 61 + * The actual size is just 4K though 64K is reserved. Access to the 62 + * unmapped reserved region results in a DECERR response. 63 + */ 64 + etf@20010000 { 65 + compatible = "arm,coresight-tmc", "arm,primecell"; 66 + reg = <0 0x20010000 0 0x1000>; 67 + 68 + clocks = <&soc_smc50mhz>; 69 + clock-names = "apb_pclk"; 70 + power-domains = <&scpi_devpd 0>; 71 + ports { 72 + #address-cells = <1>; 73 + #size-cells = <0>; 74 + 75 + /* input port */ 76 + port@0 { 77 + reg = <0>; 78 + etf_in_port: endpoint { 79 + slave-mode; 80 + remote-endpoint = <&main_funnel_out_port>; 81 + }; 82 + }; 83 + 84 + /* output port */ 85 + port@1 { 86 + reg = <0>; 87 + etf_out_port: endpoint { 88 + remote-endpoint = <&replicator_in_port0>; 89 + }; 90 + }; 91 + }; 92 + }; 93 + 94 + tpiu@20030000 { 95 + compatible = "arm,coresight-tpiu", "arm,primecell"; 96 + reg = <0 0x20030000 0 0x1000>; 97 + 98 + clocks = <&soc_smc50mhz>; 99 + clock-names = "apb_pclk"; 100 + power-domains = <&scpi_devpd 0>; 101 + port { 102 + tpiu_in_port: endpoint { 103 + slave-mode; 104 + remote-endpoint = <&replicator_out_port0>; 105 + }; 106 + }; 107 + }; 108 + 109 + main-funnel@20040000 { 110 + compatible = "arm,coresight-funnel", "arm,primecell"; 111 + reg = <0 0x20040000 0 0x1000>; 112 + 113 + clocks = <&soc_smc50mhz>; 114 + clock-names = "apb_pclk"; 115 + power-domains = <&scpi_devpd 0>; 116 + ports { 117 + #address-cells = <1>; 118 + #size-cells = <0>; 119 + 120 + port@0 { 121 + reg = <0>; 122 + main_funnel_out_port: endpoint { 123 + remote-endpoint = <&etf_in_port>; 124 + }; 125 + }; 126 + 127 + port@1 { 128 + reg = <0>; 129 + main_funnel_in_port0: endpoint { 130 + slave-mode; 131 + remote-endpoint = <&cluster0_funnel_out_port>; 132 + }; 133 + }; 134 + 135 + port@2 { 136 + reg = <1>; 137 + main_funnel_in_port1: endpoint { 138 + slave-mode; 139 + remote-endpoint = <&cluster1_funnel_out_port>; 140 + }; 141 + }; 142 + 143 + }; 144 + }; 145 + 146 + etr@20070000 { 147 + compatible = "arm,coresight-tmc", "arm,primecell"; 148 + reg = <0 0x20070000 0 0x1000>; 149 + 150 + clocks = <&soc_smc50mhz>; 151 + clock-names = "apb_pclk"; 152 + power-domains = <&scpi_devpd 0>; 153 + port { 154 + etr_in_port: endpoint { 155 + slave-mode; 156 + remote-endpoint = <&replicator_out_port1>; 157 + }; 158 + }; 159 + }; 160 + 161 + etm0: etm@22040000 { 162 + compatible = "arm,coresight-etm4x", "arm,primecell"; 163 + reg = <0 0x22040000 0 0x1000>; 164 + 165 + clocks = <&soc_smc50mhz>; 166 + clock-names = "apb_pclk"; 167 + power-domains = <&scpi_devpd 0>; 168 + port { 169 + cluster0_etm0_out_port: endpoint { 170 + remote-endpoint = <&cluster0_funnel_in_port0>; 171 + }; 172 + }; 173 + }; 174 + 175 + cluster0-funnel@220c0000 { 176 + compatible = "arm,coresight-funnel", "arm,primecell"; 177 + reg = <0 0x220c0000 0 0x1000>; 178 + 179 + clocks = <&soc_smc50mhz>; 180 + clock-names = "apb_pclk"; 181 + power-domains = <&scpi_devpd 0>; 182 + ports { 183 + #address-cells = <1>; 184 + #size-cells = <0>; 185 + 186 + port@0 { 187 + reg = <0>; 188 + cluster0_funnel_out_port: endpoint { 189 + remote-endpoint = <&main_funnel_in_port0>; 190 + }; 191 + }; 192 + 193 + port@1 { 194 + reg = <0>; 195 + cluster0_funnel_in_port0: endpoint { 196 + slave-mode; 197 + remote-endpoint = <&cluster0_etm0_out_port>; 198 + }; 199 + }; 200 + 201 + port@2 { 202 + reg = <1>; 203 + cluster0_funnel_in_port1: endpoint { 204 + slave-mode; 205 + remote-endpoint = <&cluster0_etm1_out_port>; 206 + }; 207 + }; 208 + }; 209 + }; 210 + 211 + etm1: etm@22140000 { 212 + compatible = "arm,coresight-etm4x", "arm,primecell"; 213 + reg = <0 0x22140000 0 0x1000>; 214 + 215 + clocks = <&soc_smc50mhz>; 216 + clock-names = "apb_pclk"; 217 + power-domains = <&scpi_devpd 0>; 218 + port { 219 + cluster0_etm1_out_port: endpoint { 220 + remote-endpoint = <&cluster0_funnel_in_port1>; 221 + }; 222 + }; 223 + }; 224 + 225 + etm2: etm@23040000 { 226 + compatible = "arm,coresight-etm4x", "arm,primecell"; 227 + reg = <0 0x23040000 0 0x1000>; 228 + 229 + clocks = <&soc_smc50mhz>; 230 + clock-names = "apb_pclk"; 231 + power-domains = <&scpi_devpd 0>; 232 + port { 233 + cluster1_etm0_out_port: endpoint { 234 + remote-endpoint = <&cluster1_funnel_in_port0>; 235 + }; 236 + }; 237 + }; 238 + 239 + cluster1-funnel@230c0000 { 240 + compatible = "arm,coresight-funnel", "arm,primecell"; 241 + reg = <0 0x230c0000 0 0x1000>; 242 + 243 + clocks = <&soc_smc50mhz>; 244 + clock-names = "apb_pclk"; 245 + power-domains = <&scpi_devpd 0>; 246 + ports { 247 + #address-cells = <1>; 248 + #size-cells = <0>; 249 + 250 + port@0 { 251 + reg = <0>; 252 + cluster1_funnel_out_port: endpoint { 253 + remote-endpoint = <&main_funnel_in_port1>; 254 + }; 255 + }; 256 + 257 + port@1 { 258 + reg = <0>; 259 + cluster1_funnel_in_port0: endpoint { 260 + slave-mode; 261 + remote-endpoint = <&cluster1_etm0_out_port>; 262 + }; 263 + }; 264 + 265 + port@2 { 266 + reg = <1>; 267 + cluster1_funnel_in_port1: endpoint { 268 + slave-mode; 269 + remote-endpoint = <&cluster1_etm1_out_port>; 270 + }; 271 + }; 272 + port@3 { 273 + reg = <2>; 274 + cluster1_funnel_in_port2: endpoint { 275 + slave-mode; 276 + remote-endpoint = <&cluster1_etm2_out_port>; 277 + }; 278 + }; 279 + port@4 { 280 + reg = <3>; 281 + cluster1_funnel_in_port3: endpoint { 282 + slave-mode; 283 + remote-endpoint = <&cluster1_etm3_out_port>; 284 + }; 285 + }; 286 + }; 287 + }; 288 + 289 + etm3: etm@23140000 { 290 + compatible = "arm,coresight-etm4x", "arm,primecell"; 291 + reg = <0 0x23140000 0 0x1000>; 292 + 293 + clocks = <&soc_smc50mhz>; 294 + clock-names = "apb_pclk"; 295 + power-domains = <&scpi_devpd 0>; 296 + port { 297 + cluster1_etm1_out_port: endpoint { 298 + remote-endpoint = <&cluster1_funnel_in_port1>; 299 + }; 300 + }; 301 + }; 302 + 303 + etm4: etm@23240000 { 304 + compatible = "arm,coresight-etm4x", "arm,primecell"; 305 + reg = <0 0x23240000 0 0x1000>; 306 + 307 + clocks = <&soc_smc50mhz>; 308 + clock-names = "apb_pclk"; 309 + power-domains = <&scpi_devpd 0>; 310 + port { 311 + cluster1_etm2_out_port: endpoint { 312 + remote-endpoint = <&cluster1_funnel_in_port2>; 313 + }; 314 + }; 315 + }; 316 + 317 + etm5: etm@23340000 { 318 + compatible = "arm,coresight-etm4x", "arm,primecell"; 319 + reg = <0 0x23340000 0 0x1000>; 320 + 321 + clocks = <&soc_smc50mhz>; 322 + clock-names = "apb_pclk"; 323 + power-domains = <&scpi_devpd 0>; 324 + port { 325 + cluster1_etm3_out_port: endpoint { 326 + remote-endpoint = <&cluster1_funnel_in_port3>; 327 + }; 328 + }; 329 + }; 330 + 331 + coresight-replicator { 332 + /* 333 + * Non-configurable replicators don't show up on the 334 + * AMBA bus. As such no need to add "arm,primecell". 335 + */ 336 + compatible = "arm,coresight-replicator"; 337 + 338 + ports { 339 + #address-cells = <1>; 340 + #size-cells = <0>; 341 + 342 + /* replicator output ports */ 343 + port@0 { 344 + reg = <0>; 345 + replicator_out_port0: endpoint { 346 + remote-endpoint = <&tpiu_in_port>; 347 + }; 348 + }; 349 + 350 + port@1 { 351 + reg = <1>; 352 + replicator_out_port1: endpoint { 353 + remote-endpoint = <&etr_in_port>; 354 + }; 355 + }; 356 + 357 + /* replicator input port */ 358 + port@2 { 359 + reg = <0>; 360 + replicator_in_port0: endpoint { 361 + slave-mode; 362 + remote-endpoint = <&etf_out_port>; 363 + }; 364 + }; 365 + }; 366 + }; 367 + 59 368 sram: sram@2e000000 { 60 369 compatible = "arm,juno-sram-ns", "mmio-sram"; 61 370 reg = <0x0 0x2e000000 0x0 0x8000>; ··· 428 119 }; 429 120 }; 430 121 122 + scpi_devpd: scpi-power-domains { 123 + compatible = "arm,scpi-power-domains"; 124 + num-domains = <2>; 125 + #power-domain-cells = <1>; 126 + }; 127 + 431 128 scpi_sensors0: sensors { 432 129 compatible = "arm,scpi-sensors"; 433 130 #thermal-sensor-cells = <1>; 131 + }; 132 + }; 133 + 134 + thermal-zones { 135 + pmic { 136 + polling-delay = <1000>; 137 + polling-delay-passive = <100>; 138 + thermal-sensors = <&scpi_sensors0 0>; 139 + }; 140 + 141 + soc { 142 + polling-delay = <1000>; 143 + polling-delay-passive = <100>; 144 + thermal-sensors = <&scpi_sensors0 3>; 145 + }; 146 + 147 + big_cluster_thermal_zone: big_cluster { 148 + polling-delay = <1000>; 149 + polling-delay-passive = <100>; 150 + thermal-sensors = <&scpi_sensors0 21>; 151 + status = "disabled"; 152 + }; 153 + 154 + little_cluster_thermal_zone: little_cluster { 155 + polling-delay = <1000>; 156 + polling-delay-passive = <100>; 157 + thermal-sensors = <&scpi_sensors0 22>; 158 + status = "disabled"; 159 + }; 160 + 161 + gpu0_thermal_zone: gpu0 { 162 + polling-delay = <1000>; 163 + polling-delay-passive = <100>; 164 + thermal-sensors = <&scpi_sensors0 23>; 165 + status = "disabled"; 166 + }; 167 + 168 + gpu1_thermal_zone: gpu1 { 169 + polling-delay = <1000>; 170 + polling-delay-passive = <100>; 171 + thermal-sensors = <&scpi_sensors0 24>; 172 + status = "disabled"; 434 173 }; 435 174 }; 436 175
+40
arch/arm64/boot/dts/arm/juno-r1.dts
··· 181 181 &pcie_ctlr { 182 182 status = "okay"; 183 183 }; 184 + 185 + &etm0 { 186 + cpu = <&A57_0>; 187 + }; 188 + 189 + &etm1 { 190 + cpu = <&A57_1>; 191 + }; 192 + 193 + &etm2 { 194 + cpu = <&A53_0>; 195 + }; 196 + 197 + &etm3 { 198 + cpu = <&A53_1>; 199 + }; 200 + 201 + &etm4 { 202 + cpu = <&A53_2>; 203 + }; 204 + 205 + &etm5 { 206 + cpu = <&A53_3>; 207 + }; 208 + 209 + &big_cluster_thermal_zone { 210 + status = "okay"; 211 + }; 212 + 213 + &little_cluster_thermal_zone { 214 + status = "okay"; 215 + }; 216 + 217 + &gpu0_thermal_zone { 218 + status = "okay"; 219 + }; 220 + 221 + &gpu1_thermal_zone { 222 + status = "okay"; 223 + };
+40
arch/arm64/boot/dts/arm/juno-r2.dts
··· 181 181 &pcie_ctlr { 182 182 status = "okay"; 183 183 }; 184 + 185 + &etm0 { 186 + cpu = <&A72_0>; 187 + }; 188 + 189 + &etm1 { 190 + cpu = <&A72_1>; 191 + }; 192 + 193 + &etm2 { 194 + cpu = <&A53_0>; 195 + }; 196 + 197 + &etm3 { 198 + cpu = <&A53_1>; 199 + }; 200 + 201 + &etm4 { 202 + cpu = <&A53_2>; 203 + }; 204 + 205 + &etm5 { 206 + cpu = <&A53_3>; 207 + }; 208 + 209 + &big_cluster_thermal_zone { 210 + status = "okay"; 211 + }; 212 + 213 + &little_cluster_thermal_zone { 214 + status = "okay"; 215 + }; 216 + 217 + &gpu0_thermal_zone { 218 + status = "okay"; 219 + }; 220 + 221 + &gpu1_thermal_zone { 222 + status = "okay"; 223 + };
+24
arch/arm64/boot/dts/arm/juno.dts
··· 173 173 174 174 #include "juno-base.dtsi" 175 175 }; 176 + 177 + &etm0 { 178 + cpu = <&A57_0>; 179 + }; 180 + 181 + &etm1 { 182 + cpu = <&A57_1>; 183 + }; 184 + 185 + &etm2 { 186 + cpu = <&A53_0>; 187 + }; 188 + 189 + &etm3 { 190 + cpu = <&A53_1>; 191 + }; 192 + 193 + &etm4 { 194 + cpu = <&A53_2>; 195 + }; 196 + 197 + &etm5 { 198 + cpu = <&A53_3>; 199 + };
+1
arch/arm64/boot/dts/broadcom/Makefile
··· 1 + dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb 1 2 dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb 2 3 dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb 3 4
+30
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
··· 1 + /dts-v1/; 2 + #include "bcm2837.dtsi" 3 + #include "../../../../arm/boot/dts/bcm2835-rpi.dtsi" 4 + #include "../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi" 5 + 6 + / { 7 + compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; 8 + model = "Raspberry Pi 3 Model B"; 9 + 10 + memory { 11 + reg = <0 0x40000000>; 12 + }; 13 + 14 + leds { 15 + act { 16 + gpios = <&gpio 47 0>; 17 + }; 18 + 19 + pwr { 20 + label = "PWR"; 21 + gpios = <&gpio 35 0>; 22 + default-state = "keep"; 23 + linux,default-trigger = "default-on"; 24 + }; 25 + }; 26 + }; 27 + 28 + &uart1 { 29 + status = "okay"; 30 + };
+76
arch/arm64/boot/dts/broadcom/bcm2837.dtsi
··· 1 + #include "../../../../arm/boot/dts/bcm283x.dtsi" 2 + 3 + / { 4 + compatible = "brcm,bcm2836"; 5 + 6 + soc { 7 + ranges = <0x7e000000 0x3f000000 0x1000000>, 8 + <0x40000000 0x40000000 0x00001000>; 9 + dma-ranges = <0xc0000000 0x00000000 0x3f000000>; 10 + 11 + local_intc: local_intc { 12 + compatible = "brcm,bcm2836-l1-intc"; 13 + reg = <0x40000000 0x100>; 14 + interrupt-controller; 15 + #interrupt-cells = <1>; 16 + interrupt-parent = <&local_intc>; 17 + }; 18 + }; 19 + 20 + timer { 21 + compatible = "arm,armv7-timer"; 22 + interrupt-parent = <&local_intc>; 23 + interrupts = <0>, // PHYS_SECURE_PPI 24 + <1>, // PHYS_NONSECURE_PPI 25 + <3>, // VIRT_PPI 26 + <2>; // HYP_PPI 27 + always-on; 28 + }; 29 + 30 + cpus: cpus { 31 + #address-cells = <1>; 32 + #size-cells = <0>; 33 + 34 + cpu0: cpu@0 { 35 + device_type = "cpu"; 36 + compatible = "arm,cortex-a53"; 37 + reg = <0>; 38 + enable-method = "spin-table"; 39 + cpu-release-addr = <0x0 0x000000d8>; 40 + }; 41 + 42 + cpu1: cpu@1 { 43 + device_type = "cpu"; 44 + compatible = "arm,cortex-a53"; 45 + reg = <1>; 46 + enable-method = "spin-table"; 47 + cpu-release-addr = <0x0 0x000000e0>; 48 + }; 49 + 50 + cpu2: cpu@2 { 51 + device_type = "cpu"; 52 + compatible = "arm,cortex-a53"; 53 + reg = <2>; 54 + enable-method = "spin-table"; 55 + cpu-release-addr = <0x0 0x000000e8>; 56 + }; 57 + 58 + cpu3: cpu@3 { 59 + device_type = "cpu"; 60 + compatible = "arm,cortex-a53"; 61 + reg = <3>; 62 + enable-method = "spin-table"; 63 + cpu-release-addr = <0x0 0x000000f0>; 64 + }; 65 + }; 66 + }; 67 + 68 + /* Make the BCM2835-style global interrupt controller be a child of the 69 + * CPU-local interrupt controller. 70 + */ 71 + &intc { 72 + compatible = "brcm,bcm2836-armctrl-ic"; 73 + reg = <0x7e00b200 0x200>; 74 + interrupt-parent = <&local_intc>; 75 + interrupts = <8>; 76 + };
+37
arch/arm64/boot/dts/broadcom/ns2-svk.dts
··· 40 40 41 41 aliases { 42 42 serial0 = &uart3; 43 + serial1 = &uart0; 44 + serial2 = &uart1; 45 + serial3 = &uart2; 43 46 }; 44 47 45 48 chosen { 46 49 stdout-path = "serial0:115200n8"; 50 + bootargs = "earlycon=uart8250,mmio32,0x66130000"; 47 51 }; 48 52 49 53 memory { ··· 77 73 }; 78 74 79 75 &i2c1 { 76 + status = "ok"; 77 + }; 78 + 79 + &uart0 { 80 + status = "ok"; 81 + }; 82 + 83 + &uart1 { 84 + status = "ok"; 85 + }; 86 + 87 + &uart2 { 80 88 status = "ok"; 81 89 }; 82 90 ··· 141 125 }; 142 126 }; 143 127 128 + &sata_phy0 { 129 + status = "ok"; 130 + }; 131 + 132 + &sata_phy1 { 133 + status = "ok"; 134 + }; 135 + 136 + &sata { 137 + status = "ok"; 138 + }; 139 + 144 140 &sdio0 { 145 141 status = "ok"; 146 142 }; ··· 174 146 gphy0: eth-phy@10 { 175 147 reg = <0x10>; 176 148 }; 149 + }; 150 + }; 151 + 152 + &pinctrl { 153 + pinctrl-names = "default"; 154 + pinctrl-0 = <&nand_sel>; 155 + nand_sel: nand_sel { 156 + function = "nand"; 157 + groups = "nand_grp"; 177 158 }; 178 159 };
+119
arch/arm64/boot/dts/broadcom/ns2.dtsi
··· 251 251 mmu-masters; 252 252 }; 253 253 254 + pinctrl: pinctrl@6501d130 { 255 + compatible = "brcm,ns2-pinmux"; 256 + reg = <0x6501d130 0x08>, 257 + <0x660a0028 0x04>, 258 + <0x660009b0 0x40>; 259 + }; 260 + 261 + gpio_aon: gpio@65024800 { 262 + compatible = "brcm,iproc-gpio"; 263 + reg = <0x65024800 0x50>, 264 + <0x65024008 0x18>; 265 + ngpios = <6>; 266 + #gpio-cells = <2>; 267 + gpio-controller; 268 + }; 269 + 254 270 gic: interrupt-controller@65210000 { 255 271 compatible = "arm,gic-400"; 256 272 #interrupt-cells = <3>; ··· 277 261 <0x65260000 0x1000>; 278 262 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) | 279 263 IRQ_TYPE_LEVEL_HIGH)>; 264 + }; 265 + 266 + cci@65590000 { 267 + compatible = "arm,cci-400"; 268 + #address-cells = <1>; 269 + #size-cells = <1>; 270 + reg = <0x65590000 0x1000>; 271 + ranges = <0 0x65590000 0x10000>; 272 + 273 + pmu@9000 { 274 + compatible = "arm,cci-400-pmu,r1", 275 + "arm,cci-400-pmu"; 276 + reg = <0x9000 0x4000>; 277 + interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>, 278 + <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 279 + <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>, 280 + <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>, 281 + <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>, 282 + <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>; 283 + }; 280 284 }; 281 285 282 286 mdio_mux_iproc: mdio-mux@6602023c { ··· 396 360 clock-names = "wdogclk", "apb_pclk"; 397 361 }; 398 362 363 + gpio_g: gpio@660a0000 { 364 + compatible = "brcm,iproc-gpio"; 365 + reg = <0x660a0000 0x50>; 366 + ngpios = <32>; 367 + #gpio-cells = <2>; 368 + gpio-controller; 369 + interrupt-controller; 370 + interrupts = <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>; 371 + }; 372 + 399 373 i2c1: i2c@660b0000 { 400 374 compatible = "brcm,iproc-i2c"; 401 375 reg = <0x660b0000 0x100>; ··· 413 367 #size-cells = <0>; 414 368 interrupts = <GIC_SPI 395 IRQ_TYPE_NONE>; 415 369 clock-frequency = <100000>; 370 + status = "disabled"; 371 + }; 372 + 373 + uart0: serial@66100000 { 374 + compatible = "snps,dw-apb-uart"; 375 + reg = <0x66100000 0x100>; 376 + interrupts = <GIC_SPI 390 IRQ_TYPE_LEVEL_HIGH>; 377 + clocks = <&iprocslow>; 378 + reg-shift = <2>; 379 + reg-io-width = <4>; 380 + status = "disabled"; 381 + }; 382 + 383 + uart1: serial@66110000 { 384 + compatible = "snps,dw-apb-uart"; 385 + reg = <0x66110000 0x100>; 386 + interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH>; 387 + clocks = <&iprocslow>; 388 + reg-shift = <2>; 389 + reg-io-width = <4>; 390 + status = "disabled"; 391 + }; 392 + 393 + uart2: serial@66120000 { 394 + compatible = "snps,dw-apb-uart"; 395 + reg = <0x66120000 0x100>; 396 + interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>; 397 + clocks = <&iprocslow>; 398 + reg-shift = <2>; 399 + reg-io-width = <4>; 416 400 status = "disabled"; 417 401 }; 418 402 ··· 481 405 hwrng: hwrng@66220000 { 482 406 compatible = "brcm,iproc-rng200"; 483 407 reg = <0x66220000 0x28>; 408 + }; 409 + 410 + sata_phy: sata_phy@663f0100 { 411 + compatible = "brcm,iproc-ns2-sata-phy"; 412 + reg = <0x663f0100 0x1f00>, 413 + <0x663f004c 0x10>; 414 + reg-names = "phy", "phy-ctrl"; 415 + #address-cells = <1>; 416 + #size-cells = <0>; 417 + 418 + sata_phy0: sata-phy@0 { 419 + reg = <0>; 420 + #phy-cells = <0>; 421 + status = "disabled"; 422 + }; 423 + 424 + sata_phy1: sata-phy@1 { 425 + reg = <1>; 426 + #phy-cells = <0>; 427 + status = "disabled"; 428 + }; 429 + }; 430 + 431 + sata: ahci@663f2000 { 432 + compatible = "brcm,iproc-ahci", "generic-ahci"; 433 + reg = <0x663f2000 0x1000>; 434 + reg-names = "ahci"; 435 + interrupts = <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>; 436 + #address-cells = <1>; 437 + #size-cells = <0>; 438 + status = "disabled"; 439 + 440 + sata0: sata-port@0 { 441 + reg = <0>; 442 + phys = <&sata_phy0>; 443 + phy-names = "sata-phy"; 444 + }; 445 + 446 + sata1: sata-port@1 { 447 + reg = <1>; 448 + phys = <&sata_phy1>; 449 + phy-names = "sata-phy"; 450 + }; 484 451 }; 485 452 486 453 sdio0: sdhci@66420000 {
+1 -1
arch/arm64/boot/dts/exynos/exynos7-espresso.dts
··· 249 249 250 250 buck2_reg: BUCK2 { 251 251 regulator-name = "vdd_atlas"; 252 - regulator-min-microvolt = <1200000>; 252 + regulator-min-microvolt = <500000>; 253 253 regulator-max-microvolt = <1200000>; 254 254 regulator-always-on; 255 255 regulator-boot-on;
+19 -5
arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
··· 51 51 #size-cells = <2>; 52 52 53 53 cpus { 54 - #address-cells = <2>; 54 + #address-cells = <1>; 55 55 #size-cells = <0>; 56 56 57 57 /* ··· 63 63 cpu0: cpu@0 { 64 64 device_type = "cpu"; 65 65 compatible = "arm,cortex-a53"; 66 - reg = <0x0 0x0>; 66 + reg = <0x0>; 67 67 clocks = <&clockgen 1 0>; 68 + next-level-cache = <&l2>; 68 69 }; 69 70 70 71 cpu1: cpu@1 { 71 72 device_type = "cpu"; 72 73 compatible = "arm,cortex-a53"; 73 - reg = <0x0 0x1>; 74 + reg = <0x1>; 74 75 clocks = <&clockgen 1 0>; 76 + next-level-cache = <&l2>; 75 77 }; 76 78 77 79 cpu2: cpu@2 { 78 80 device_type = "cpu"; 79 81 compatible = "arm,cortex-a53"; 80 - reg = <0x0 0x2>; 82 + reg = <0x2>; 81 83 clocks = <&clockgen 1 0>; 84 + next-level-cache = <&l2>; 82 85 }; 83 86 84 87 cpu3: cpu@3 { 85 88 device_type = "cpu"; 86 89 compatible = "arm,cortex-a53"; 87 - reg = <0x0 0x3>; 90 + reg = <0x3>; 88 91 clocks = <&clockgen 1 0>; 92 + next-level-cache = <&l2>; 93 + }; 94 + 95 + l2: l2-cache { 96 + compatible = "cache"; 89 97 }; 90 98 }; 91 99 ··· 473 465 interrupts = <0 60 0x4>; 474 466 dr_mode = "host"; 475 467 snps,quirk-frame-length-adjustment = <0x20>; 468 + snps,dis_rxdet_inp3_quirk; 476 469 }; 477 470 478 471 usb1: usb3@3000000 { ··· 482 473 interrupts = <0 61 0x4>; 483 474 dr_mode = "host"; 484 475 snps,quirk-frame-length-adjustment = <0x20>; 476 + snps,dis_rxdet_inp3_quirk; 485 477 }; 486 478 487 479 usb2: usb3@3100000 { ··· 491 481 interrupts = <0 63 0x4>; 492 482 dr_mode = "host"; 493 483 snps,quirk-frame-length-adjustment = <0x20>; 484 + snps,dis_rxdet_inp3_quirk; 494 485 }; 495 486 496 487 sata: sata@3200000 { ··· 533 522 #address-cells = <3>; 534 523 #size-cells = <2>; 535 524 device_type = "pci"; 525 + dma-coherent; 536 526 num-lanes = <4>; 537 527 bus-range = <0x0 0xff>; 538 528 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */ ··· 558 546 #address-cells = <3>; 559 547 #size-cells = <2>; 560 548 device_type = "pci"; 549 + dma-coherent; 561 550 num-lanes = <2>; 562 551 bus-range = <0x0 0xff>; 563 552 ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */ ··· 583 570 #address-cells = <3>; 584 571 #size-cells = <2>; 585 572 device_type = "pci"; 573 + dma-coherent; 586 574 num-lanes = <2>; 587 575 bus-range = <0x0 0xff>; 588 576 ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
+35 -9
arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
··· 51 51 #size-cells = <2>; 52 52 53 53 cpus { 54 - #address-cells = <2>; 54 + #address-cells = <1>; 55 55 #size-cells = <0>; 56 56 57 57 /* ··· 65 65 cpu@0 { 66 66 device_type = "cpu"; 67 67 compatible = "arm,cortex-a57"; 68 - reg = <0x0 0x0>; 68 + reg = <0x0>; 69 69 clocks = <&clockgen 1 0>; 70 + next-level-cache = <&cluster0_l2>; 70 71 }; 71 72 72 73 cpu@1 { 73 74 device_type = "cpu"; 74 75 compatible = "arm,cortex-a57"; 75 - reg = <0x0 0x1>; 76 + reg = <0x1>; 76 77 clocks = <&clockgen 1 0>; 78 + next-level-cache = <&cluster0_l2>; 77 79 }; 78 80 79 81 cpu@100 { 80 82 device_type = "cpu"; 81 83 compatible = "arm,cortex-a57"; 82 - reg = <0x0 0x100>; 84 + reg = <0x100>; 83 85 clocks = <&clockgen 1 1>; 86 + next-level-cache = <&cluster1_l2>; 84 87 }; 85 88 86 89 cpu@101 { 87 90 device_type = "cpu"; 88 91 compatible = "arm,cortex-a57"; 89 - reg = <0x0 0x101>; 92 + reg = <0x101>; 90 93 clocks = <&clockgen 1 1>; 94 + next-level-cache = <&cluster1_l2>; 91 95 }; 92 96 93 97 cpu@200 { 94 98 device_type = "cpu"; 95 99 compatible = "arm,cortex-a57"; 96 - reg = <0x0 0x200>; 100 + reg = <0x200>; 97 101 clocks = <&clockgen 1 2>; 102 + next-level-cache = <&cluster2_l2>; 98 103 }; 99 104 100 105 cpu@201 { 101 106 device_type = "cpu"; 102 107 compatible = "arm,cortex-a57"; 103 - reg = <0x0 0x201>; 108 + reg = <0x201>; 104 109 clocks = <&clockgen 1 2>; 110 + next-level-cache = <&cluster2_l2>; 105 111 }; 106 112 107 113 cpu@300 { 108 114 device_type = "cpu"; 109 115 compatible = "arm,cortex-a57"; 110 - reg = <0x0 0x300>; 116 + reg = <0x300>; 111 117 clocks = <&clockgen 1 3>; 118 + next-level-cache = <&cluster3_l2>; 112 119 }; 113 120 114 121 cpu@301 { 115 122 device_type = "cpu"; 116 123 compatible = "arm,cortex-a57"; 117 - reg = <0x0 0x301>; 124 + reg = <0x301>; 118 125 clocks = <&clockgen 1 3>; 126 + next-level-cache = <&cluster3_l2>; 127 + }; 128 + 129 + cluster0_l2: l2-cache0 { 130 + compatible = "cache"; 131 + }; 132 + 133 + cluster1_l2: l2-cache1 { 134 + compatible = "cache"; 135 + }; 136 + 137 + cluster2_l2: l2-cache2 { 138 + compatible = "cache"; 139 + }; 140 + 141 + cluster3_l2: l2-cache3 { 142 + compatible = "cache"; 119 143 }; 120 144 }; 121 145 ··· 696 672 interrupts = <0 80 0x4>; /* Level high type */ 697 673 dr_mode = "host"; 698 674 snps,quirk-frame-length-adjustment = <0x20>; 675 + snps,dis_rxdet_inp3_quirk; 699 676 }; 700 677 701 678 usb1: usb3@3110000 { ··· 706 681 interrupts = <0 81 0x4>; /* Level high type */ 707 682 dr_mode = "host"; 708 683 snps,quirk-frame-length-adjustment = <0x20>; 684 + snps,dis_rxdet_inp3_quirk; 709 685 }; 710 686 711 687 ccn@4000000 {
+143
arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
··· 66 66 status = "ok"; 67 67 }; 68 68 69 + /* 70 + * Legend: proper name = the GPIO line is used as GPIO 71 + * NC = not connected (not routed from the SoC) 72 + * "[PER]" = pin is muxed for peripheral (not GPIO) 73 + * "" = no idea, schematic doesn't say, could be 74 + * unrouted (not connected to any external pin) 75 + * LSEC = Low Speed External Connector 76 + * HSEC = High Speed External Connector 77 + * 78 + * Pin assignments taken from LeMaker and CircuitCo Schematics 79 + * Rev A1. 80 + * 81 + * For the lines routed to the external connectors the 82 + * lines are named after the 96Boards CE Specification 1.0, 83 + * Appendix "Expansion Connector Signal Description". 84 + * 85 + * When the 96Board naming of a line and the schematic name of 86 + * the same line are in conflict, the 96Board specification 87 + * takes precedence, which means that the external UART on the 88 + * LSEC is named UART0 while the schematic and SoC names this 89 + * UART2. This is only for the informational lines i.e. "[FOO]", 90 + * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 91 + * ones actually used for GPIO. 92 + */ 93 + gpio0: gpio@f8011000 { 94 + gpio-line-names = "PWR_HOLD", "DSI_SEL", 95 + "USB_HUB_RESET_N", "USB_SEL", "HDMI_PD", "WL_REG_ON", 96 + "PWRON_DET", "5V_HUB_EN"; 97 + }; 98 + 99 + gpio1: gpio@f8012000 { 100 + gpio-line-names = "SD_DET", "HDMI_INT", "PMU_IRQ_N", 101 + "WL_HOST_WAKE", "NC", "NC", "NC", "BT_REG_ON"; 102 + }; 103 + 104 + gpio2: gpio@f8013000 { 105 + gpio-line-names = 106 + "GPIO-A", /* LSEC Pin 23: GPIO2_0 */ 107 + "GPIO-B", /* LSEC Pin 24: GPIO2_1 */ 108 + "GPIO-C", /* LSEC Pin 25: GPIO2_2 */ 109 + "GPIO-D", /* LSEC Pin 26: GPIO2_3 */ 110 + "GPIO-E", /* LSEC Pin 27: GPIO2_4 */ 111 + "USB_ID_DET", "USB_VBUS_DET", 112 + "GPIO-H"; /* LSEC Pin 30: GPIO2_7 */ 113 + }; 114 + 115 + gpio3: gpio@f8014000 { 116 + gpio-line-names = "GPIO3_0", "NC", "NC", "", "NC", "", 117 + "WLAN_ACTIVE", "NC", "NC"; 118 + }; 119 + 120 + gpio4: gpio@f7020000 { 121 + gpio-line-names = "USER_LED1", "USER_LED2", "USER_LED3", 122 + "USER_LED4", "SD_SEL", "NC", "NC", "BT_ACTIVE"; 123 + }; 124 + 125 + gpio5: gpio@f7021000 { 126 + gpio-line-names = "NC", "NC", 127 + "[UART1_RxD]", /* LSEC Pin 11: UART3_RX */ 128 + "[UART1_TxD]", /* LSEC Pin 13: UART3_TX */ 129 + "[AUX_SSI1]", "NC", 130 + "[PCM_CLK]", /* LSEC Pin 18: MODEM_PCM_XCLK */ 131 + "[PCM_FS]"; /* LSEC Pin 16: MODEM_PCM_XFS */ 132 + }; 133 + 134 + gpio6: gpio@f7022000 { 135 + gpio-line-names = 136 + "[SPI0_DIN]", /* Pin 10: SPI0_DI */ 137 + "[SPI0_DOUT]", /* Pin 14: SPI0_DO */ 138 + "[SPI0_CS]", /* Pin 12: SPI0_CS_N */ 139 + "[SPI0_SCLK]", /* Pin 8: SPI0_SCLK */ 140 + "NC", "NC", "NC", 141 + "GPIO-G"; /* Pin 29: GPIO6_7_DSI_TE0 */ 142 + }; 143 + 144 + gpio7: gpio@f7023000 { 145 + gpio-line-names = "NC", "NC", "NC", "NC", 146 + "[PCM_DI]", /* Pin 22: MODEM_PCM_DI */ 147 + "[PCM_DO]", /* Pin 20: MODEM_PCM_DO */ 148 + "NC", "NC"; 149 + }; 150 + 151 + gpio8: gpio@f7024000 { 152 + gpio-line-names = "NC", "[CEC_CLK_19_2MHZ]", "NC", 153 + "", "", "", "", "", ""; 154 + }; 155 + 156 + gpio9: gpio@f7025000 { 157 + gpio-line-names = "", 158 + "GPIO-J", /* LSEC Pin 32: ISP_PWDN0_GPIO9_1 */ 159 + "GPIO-L", /* LSEC Pin 34: ISP_PWDN1_GPIO9_2 */ 160 + "NC", "NC", "NC", "NC", "[ISP_CCLK0]"; 161 + }; 162 + 163 + gpio10: gpio@f7026000 { 164 + gpio-line-names = "BOOT_SEL", 165 + "[ISP_CCLK1]", 166 + "GPIO-I", /* LSEC Pin 31: ISP_RSTB0_GPIO10_2 */ 167 + "GPIO-K", /* LSEC Pin 33: ISP_RSTB1_GPIO10_3 */ 168 + "NC", "NC", 169 + "[I2C2_SDA]", /* HSEC Pin 34: ISP0_SDA */ 170 + "[I2C2_SCL]"; /* HSEC Pin 32: ISP0_SCL */ 171 + }; 172 + 173 + gpio11: gpio@f7027000 { 174 + gpio-line-names = 175 + "[I2C3_SDA]", /* HSEC Pin 38: ISP1_SDA */ 176 + "[I2C3_SCL]", /* HSEC Pin 36: ISP1_SCL */ 177 + "", "NC", "NC", "NC", "", ""; 178 + }; 179 + 180 + gpio12: gpio@f7028000 { 181 + gpio-line-names = "[BT_PCM_XFS]", "[BT_PCM_DI]", 182 + "[BT_PCM_DO]", 183 + "NC", "NC", "NC", "NC", 184 + "GPIO-F"; /* LSEC Pin 28: BL_PWM_GPIO12_7 */ 185 + }; 186 + 187 + gpio13: gpio@f7029000 { 188 + gpio-line-names = "[UART0_RX]", "[UART0_TX]", 189 + "[BT_UART1_CTS]", "[BT_UART1_RTS]", 190 + "[BT_UART1_RX]", "[BT_UART1_TX]", 191 + "[UART0_CTS]", /* LSEC Pin 3: UART2_CTS_N */ 192 + "[UART0_RTS]"; /* LSEC Pin 9: UART2_RTS_N */ 193 + }; 194 + 195 + gpio14: gpio@f702a000 { 196 + gpio-line-names = 197 + "[UART0_RxD]", /* LSEC Pin 7: UART2_RX */ 198 + "[UART0_TxD]", /* LSEC Pin 5: UART2_TX */ 199 + "[I2C0_SCL]", /* LSEC Pin 15: I2C0_SCL */ 200 + "[I2C0_SDA]", /* LSEC Pin 17: I2C0_SDA */ 201 + "[I2C1_SCL]", /* LSEC Pin 19: I2C1_SCL */ 202 + "[I2C1_SDA]", /* LSEC Pin 21: I2C1_SDA */ 203 + "[I2C2_SCL]", "[I2C2_SDA]"; 204 + }; 205 + 206 + gpio15: gpio@f702b000 { 207 + gpio-line-names = "", "", "", "", "", "", "NC", ""; 208 + }; 209 + 210 + /* GPIO blocks 16 thru 19 do not appear to be routed to pins */ 211 + 69 212 dwmmc_2: dwmmc2@f723f000 { 70 213 ti,non-removable; 71 214 non-removable;
+16
arch/arm64/boot/dts/hisilicon/hi6220.dtsi
··· 338 338 clock-names = "timer1", "timer2", "apb_pclk"; 339 339 }; 340 340 341 + rtc0: rtc@f8003000 { 342 + compatible = "arm,pl031", "arm,primecell"; 343 + reg = <0x0 0xf8003000 0x0 0x1000>; 344 + interrupts = <0 12 4>; 345 + clocks = <&ao_ctrl HI6220_RTC0_PCLK>; 346 + clock-names = "apb_pclk"; 347 + }; 348 + 349 + rtc1: rtc@f8004000 { 350 + compatible = "arm,pl031", "arm,primecell"; 351 + reg = <0x0 0xf8004000 0x0 0x1000>; 352 + interrupts = <0 8 4>; 353 + clocks = <&ao_ctrl HI6220_RTC1_PCLK>; 354 + clock-names = "apb_pclk"; 355 + }; 356 + 341 357 pmx0: pinmux@f7010000 { 342 358 compatible = "pinctrl-single"; 343 359 reg = <0x0 0xf7010000 0x0 0x27c>;
+1
arch/arm64/boot/dts/lg/Makefile
··· 1 1 dtb-$(CONFIG_ARCH_LG1K) += lg1312-ref.dtb 2 + dtb-$(CONFIG_ARCH_LG1K) += lg1313-ref.dtb 2 3 3 4 always := $(dtb-y) 4 5 subdir-y := $(dts-dirs)
+36
arch/arm64/boot/dts/lg/lg1313-ref.dts
··· 1 + /* 2 + * dts file for lg1313 Reference Board. 3 + * 4 + * Copyright (C) 2016, LG Electronics 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "lg1313.dtsi" 10 + 11 + / { 12 + #address-cells = <2>; 13 + #size-cells = <1>; 14 + 15 + model = "LG Electronics, DTV SoC LG1313 Reference Board"; 16 + compatible = "lge,lg1313-ref", "lge,lg1313"; 17 + 18 + aliases { 19 + serial0 = &uart0; 20 + serial1 = &uart1; 21 + serial2 = &uart2; 22 + }; 23 + 24 + memory { 25 + device_type = "memory"; 26 + reg = <0x0 0x00000000 0x20000000>; 27 + }; 28 + 29 + chosen { 30 + stdout-path = "serial0:115200n8"; 31 + }; 32 + }; 33 + 34 + &uart0 { 35 + status = "okay"; 36 + };
+351
arch/arm64/boot/dts/lg/lg1313.dtsi
··· 1 + /* 2 + * dts file for lg1313 SoC 3 + * 4 + * Copyright (C) 2016, LG Electronics 5 + */ 6 + 7 + #include <dt-bindings/gpio/gpio.h> 8 + #include <dt-bindings/interrupt-controller/arm-gic.h> 9 + 10 + / { 11 + #address-cells = <2>; 12 + #size-cells = <2>; 13 + 14 + compatible = "lge,lg1313"; 15 + interrupt-parent = <&gic>; 16 + 17 + cpus { 18 + #address-cells = <2>; 19 + #size-cells = <0>; 20 + 21 + cpu0: cpu@0 { 22 + device_type = "cpu"; 23 + compatible = "arm,cortex-a53", "arm,armv8"; 24 + reg = <0x0 0x0>; 25 + next-level-cache = <&L2_0>; 26 + }; 27 + cpu1: cpu@1 { 28 + device_type = "cpu"; 29 + compatible = "arm,cortex-a53", "arm,armv8"; 30 + reg = <0x0 0x1>; 31 + enable-method = "psci"; 32 + next-level-cache = <&L2_0>; 33 + }; 34 + cpu2: cpu@2 { 35 + device_type = "cpu"; 36 + compatible = "arm,cortex-a53", "arm,armv8"; 37 + reg = <0x0 0x2>; 38 + enable-method = "psci"; 39 + next-level-cache = <&L2_0>; 40 + }; 41 + cpu3: cpu@3 { 42 + device_type = "cpu"; 43 + compatible = "arm,cortex-a53", "arm,armv8"; 44 + reg = <0x0 0x3>; 45 + enable-method = "psci"; 46 + next-level-cache = <&L2_0>; 47 + }; 48 + L2_0: l2-cache0 { 49 + compatible = "cache"; 50 + }; 51 + }; 52 + 53 + psci { 54 + compatible = "arm,psci-0.2", "arm,psci"; 55 + method = "smc"; 56 + cpu_suspend = <0x84000001>; 57 + cpu_off = <0x84000002>; 58 + cpu_on = <0x84000003>; 59 + }; 60 + 61 + gic: interrupt-controller@c0001000 { 62 + #interrupt-cells = <3>; 63 + compatible = "arm,gic-400"; 64 + interrupt-controller; 65 + reg = <0x0 0xc0001000 0x1000>, 66 + <0x0 0xc0002000 0x2000>, 67 + <0x0 0xc0004000 0x2000>, 68 + <0x0 0xc0006000 0x2000>; 69 + }; 70 + 71 + pmu { 72 + compatible = "arm,cortex-a53-pmu"; 73 + interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, 74 + <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, 75 + <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>, 76 + <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 77 + interrupt-affinity = <&cpu0>, 78 + <&cpu1>, 79 + <&cpu2>, 80 + <&cpu3>; 81 + }; 82 + 83 + timer { 84 + compatible = "arm,armv8-timer"; 85 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x0f) | 86 + IRQ_TYPE_LEVEL_LOW)>, 87 + <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x0f) | 88 + IRQ_TYPE_LEVEL_LOW)>, 89 + <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x0f) | 90 + IRQ_TYPE_LEVEL_LOW)>, 91 + <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x0f) | 92 + IRQ_TYPE_LEVEL_LOW)>; 93 + }; 94 + 95 + clk_bus: clk_bus { 96 + #clock-cells = <0>; 97 + 98 + compatible = "fixed-clock"; 99 + clock-frequency = <198000000>; 100 + clock-output-names = "BUSCLK"; 101 + }; 102 + 103 + soc { 104 + #address-cells = <2>; 105 + #size-cells = <1>; 106 + 107 + compatible = "simple-bus"; 108 + interrupt-parent = <&gic>; 109 + ranges; 110 + 111 + eth0: ethernet@c3700000 { 112 + compatible = "cdns,gem"; 113 + reg = <0x0 0xc3700000 0x1000>; 114 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 115 + clocks = <&clk_bus>, <&clk_bus>; 116 + clock-names = "hclk", "pclk"; 117 + phy-mode = "rmii"; 118 + /* Filled in by boot */ 119 + mac-address = [ 00 00 00 00 00 00 ]; 120 + }; 121 + }; 122 + 123 + amba { 124 + #address-cells = <2>; 125 + #size-cells = <1>; 126 + #interrupts-cells = <3>; 127 + 128 + compatible = "simple-bus"; 129 + interrupt-parent = <&gic>; 130 + ranges; 131 + 132 + timers: timer@fd100000 { 133 + compatible = "arm,sp804"; 134 + reg = <0x0 0xfd100000 0x1000>; 135 + interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 136 + clocks = <&clk_bus>; 137 + clock-names = "apb_pclk"; 138 + }; 139 + wdog: watchdog@fd200000 { 140 + compatible = "arm,sp805", "arm,primecell"; 141 + reg = <0x0 0xfd200000 0x1000>; 142 + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 143 + clocks = <&clk_bus>; 144 + clock-names = "apb_pclk"; 145 + }; 146 + uart0: serial@fe000000 { 147 + compatible = "arm,pl011", "arm,primecell"; 148 + reg = <0x0 0xfe000000 0x1000>; 149 + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 150 + clocks = <&clk_bus>; 151 + clock-names = "apb_pclk"; 152 + status="disabled"; 153 + }; 154 + uart1: serial@fe100000 { 155 + compatible = "arm,pl011", "arm,primecell"; 156 + reg = <0x0 0xfe100000 0x1000>; 157 + interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 158 + clocks = <&clk_bus>; 159 + clock-names = "apb_pclk"; 160 + status="disabled"; 161 + }; 162 + uart2: serial@fe200000 { 163 + compatible = "arm,pl011", "arm,primecell"; 164 + reg = <0x0 0xfe200000 0x1000>; 165 + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 166 + clocks = <&clk_bus>; 167 + clock-names = "apb_pclk"; 168 + status="disabled"; 169 + }; 170 + spi0: ssp@fe800000 { 171 + compatible = "arm,pl022", "arm,primecell"; 172 + reg = <0x0 0xfe800000 0x1000>; 173 + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 174 + clocks = <&clk_bus>; 175 + clock-names = "apb_pclk"; 176 + }; 177 + spi1: ssp@fe900000 { 178 + compatible = "arm,pl022", "arm,primecell"; 179 + reg = <0x0 0xfe900000 0x1000>; 180 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 181 + clocks = <&clk_bus>; 182 + clock-names = "apb_pclk"; 183 + }; 184 + dmac0: dma@c1128000 { 185 + compatible = "arm,pl330", "arm,primecell"; 186 + reg = <0x0 0xc1128000 0x1000>; 187 + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 188 + clocks = <&clk_bus>; 189 + clock-names = "apb_pclk"; 190 + }; 191 + gpio0: gpio@fd400000 { 192 + #gpio-cells = <2>; 193 + compatible = "arm,pl061", "arm,primecell"; 194 + gpio-controller; 195 + reg = <0x0 0xfd400000 0x1000>; 196 + clocks = <&clk_bus>; 197 + clock-names = "apb_pclk"; 198 + status="disabled"; 199 + }; 200 + gpio1: gpio@fd410000 { 201 + #gpio-cells = <2>; 202 + compatible = "arm,pl061", "arm,primecell"; 203 + gpio-controller; 204 + reg = <0x0 0xfd410000 0x1000>; 205 + clocks = <&clk_bus>; 206 + clock-names = "apb_pclk"; 207 + status="disabled"; 208 + }; 209 + gpio2: gpio@fd420000 { 210 + #gpio-cells = <2>; 211 + compatible = "arm,pl061", "arm,primecell"; 212 + gpio-controller; 213 + reg = <0x0 0xfd420000 0x1000>; 214 + clocks = <&clk_bus>; 215 + clock-names = "apb_pclk"; 216 + status="disabled"; 217 + }; 218 + gpio3: gpio@fd430000 { 219 + #gpio-cells = <2>; 220 + compatible = "arm,pl061", "arm,primecell"; 221 + gpio-controller; 222 + reg = <0x0 0xfd430000 0x1000>; 223 + clocks = <&clk_bus>; 224 + clock-names = "apb_pclk"; 225 + }; 226 + gpio4: gpio@fd440000 { 227 + #gpio-cells = <2>; 228 + compatible = "arm,pl061", "arm,primecell"; 229 + gpio-controller; 230 + reg = <0x0 0xfd440000 0x1000>; 231 + clocks = <&clk_bus>; 232 + clock-names = "apb_pclk"; 233 + status="disabled"; 234 + }; 235 + gpio5: gpio@fd450000 { 236 + #gpio-cells = <2>; 237 + compatible = "arm,pl061", "arm,primecell"; 238 + gpio-controller; 239 + reg = <0x0 0xfd450000 0x1000>; 240 + clocks = <&clk_bus>; 241 + clock-names = "apb_pclk"; 242 + status="disabled"; 243 + }; 244 + gpio6: gpio@fd460000 { 245 + #gpio-cells = <2>; 246 + compatible = "arm,pl061", "arm,primecell"; 247 + gpio-controller; 248 + reg = <0x0 0xfd460000 0x1000>; 249 + clocks = <&clk_bus>; 250 + clock-names = "apb_pclk"; 251 + status="disabled"; 252 + }; 253 + gpio7: gpio@fd470000 { 254 + #gpio-cells = <2>; 255 + compatible = "arm,pl061", "arm,primecell"; 256 + gpio-controller; 257 + reg = <0x0 0xfd470000 0x1000>; 258 + clocks = <&clk_bus>; 259 + clock-names = "apb_pclk"; 260 + status="disabled"; 261 + }; 262 + gpio8: gpio@fd480000 { 263 + #gpio-cells = <2>; 264 + compatible = "arm,pl061", "arm,primecell"; 265 + gpio-controller; 266 + reg = <0x0 0xfd480000 0x1000>; 267 + clocks = <&clk_bus>; 268 + clock-names = "apb_pclk"; 269 + status="disabled"; 270 + }; 271 + gpio9: gpio@fd490000 { 272 + #gpio-cells = <2>; 273 + compatible = "arm,pl061", "arm,primecell"; 274 + gpio-controller; 275 + reg = <0x0 0xfd490000 0x1000>; 276 + clocks = <&clk_bus>; 277 + clock-names = "apb_pclk"; 278 + status="disabled"; 279 + }; 280 + gpio10: gpio@fd4a0000 { 281 + #gpio-cells = <2>; 282 + compatible = "arm,pl061", "arm,primecell"; 283 + gpio-controller; 284 + reg = <0x0 0xfd4a0000 0x1000>; 285 + clocks = <&clk_bus>; 286 + clock-names = "apb_pclk"; 287 + status="disabled"; 288 + }; 289 + gpio11: gpio@fd4b0000 { 290 + #gpio-cells = <2>; 291 + compatible = "arm,pl061", "arm,primecell"; 292 + gpio-controller; 293 + reg = <0x0 0xfd4b0000 0x1000>; 294 + clocks = <&clk_bus>; 295 + clock-names = "apb_pclk"; 296 + }; 297 + gpio12: gpio@fd4c0000 { 298 + #gpio-cells = <2>; 299 + compatible = "arm,pl061", "arm,primecell"; 300 + gpio-controller; 301 + reg = <0x0 0xfd4c0000 0x1000>; 302 + clocks = <&clk_bus>; 303 + clock-names = "apb_pclk"; 304 + status="disabled"; 305 + }; 306 + gpio13: gpio@fd4d0000 { 307 + #gpio-cells = <2>; 308 + compatible = "arm,pl061", "arm,primecell"; 309 + gpio-controller; 310 + reg = <0x0 0xfd4d0000 0x1000>; 311 + clocks = <&clk_bus>; 312 + clock-names = "apb_pclk"; 313 + status="disabled"; 314 + }; 315 + gpio14: gpio@fd4e0000 { 316 + #gpio-cells = <2>; 317 + compatible = "arm,pl061", "arm,primecell"; 318 + gpio-controller; 319 + reg = <0x0 0xfd4e0000 0x1000>; 320 + clocks = <&clk_bus>; 321 + clock-names = "apb_pclk"; 322 + status="disabled"; 323 + }; 324 + gpio15: gpio@fd4f0000 { 325 + #gpio-cells = <2>; 326 + compatible = "arm,pl061", "arm,primecell"; 327 + gpio-controller; 328 + reg = <0x0 0xfd4f0000 0x1000>; 329 + clocks = <&clk_bus>; 330 + clock-names = "apb_pclk"; 331 + status="disabled"; 332 + }; 333 + gpio16: gpio@fd500000 { 334 + #gpio-cells = <2>; 335 + compatible = "arm,pl061", "arm,primecell"; 336 + gpio-controller; 337 + reg = <0x0 0xfd500000 0x1000>; 338 + clocks = <&clk_bus>; 339 + clock-names = "apb_pclk"; 340 + status="disabled"; 341 + }; 342 + gpio17: gpio@fd510000 { 343 + #gpio-cells = <2>; 344 + compatible = "arm,pl061", "arm,primecell"; 345 + gpio-controller; 346 + reg = <0x0 0xfd510000 0x1000>; 347 + clocks = <&clk_bus>; 348 + clock-names = "apb_pclk"; 349 + }; 350 + }; 351 + };
+35
arch/arm64/boot/dts/marvell/armada-37xx.dtsi
··· 105 105 status = "disabled"; 106 106 }; 107 107 108 + nb_perih_clk: nb-periph-clk@13000{ 109 + compatible = "marvell,armada-3700-periph-clock-nb"; 110 + reg = <0x13000 0x100>; 111 + clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, 112 + <&tbg 3>, <&xtalclk>; 113 + #clock-cells = <1>; 114 + }; 115 + 116 + sb_perih_clk: sb-periph-clk@18000{ 117 + compatible = "marvell,armada-3700-periph-clock-sb"; 118 + reg = <0x18000 0x100>; 119 + clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, 120 + <&tbg 3>, <&xtalclk>; 121 + #clock-cells = <1>; 122 + }; 123 + 124 + tbg: tbg@13200 { 125 + compatible = "marvell,armada-3700-tbg-clock"; 126 + reg = <0x13200 0x100>; 127 + clocks = <&xtalclk>; 128 + #clock-cells = <1>; 129 + }; 130 + 131 + gpio1: gpio@13800 { 132 + compatible = "marvell,mvebu-gpio-3700", 133 + "syscon", "simple-mfd"; 134 + reg = <0x13800 0x500>; 135 + 136 + xtalclk: xtal-clk { 137 + compatible = "marvell,armada-3700-xtal-clock"; 138 + clock-output-names = "xtal"; 139 + #clock-cells = <0>; 140 + }; 141 + }; 142 + 108 143 usb3: usb@58000 { 109 144 compatible = "marvell,armada3700-xhci", 110 145 "generic-xhci";
+4 -4
arch/arm64/boot/dts/marvell/armada-ap806.dtsi
··· 141 141 }; 142 142 143 143 xor@400000 { 144 - compatible = "marvell,mv-xor-v2"; 144 + compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 145 145 reg = <0x400000 0x1000>, 146 146 <0x410000 0x1000>; 147 147 msi-parent = <&gic_v2m0>; ··· 149 149 }; 150 150 151 151 xor@420000 { 152 - compatible = "marvell,mv-xor-v2"; 152 + compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 153 153 reg = <0x420000 0x1000>, 154 154 <0x430000 0x1000>; 155 155 msi-parent = <&gic_v2m0>; ··· 157 157 }; 158 158 159 159 xor@440000 { 160 - compatible = "marvell,mv-xor-v2"; 160 + compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 161 161 reg = <0x440000 0x1000>, 162 162 <0x450000 0x1000>; 163 163 msi-parent = <&gic_v2m0>; ··· 165 165 }; 166 166 167 167 xor@460000 { 168 - compatible = "marvell,mv-xor-v2"; 168 + compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 169 169 reg = <0x460000 0x1000>, 170 170 <0x470000 0x1000>; 171 171 msi-parent = <&gic_v2m0>;
+18
arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
··· 107 107 status = "disabled"; 108 108 }; 109 109 110 + cpm_xor0: xor@6a0000 { 111 + compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 112 + reg = <0x6a0000 0x1000>, 113 + <0x6b0000 0x1000>; 114 + dma-coherent; 115 + msi-parent = <&gic_v2m0>; 116 + clocks = <&cpm_syscon0 1 8>; 117 + }; 118 + 119 + cpm_xor1: xor@6c0000 { 120 + compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 121 + reg = <0x6c0000 0x1000>, 122 + <0x6d0000 0x1000>; 123 + dma-coherent; 124 + msi-parent = <&gic_v2m0>; 125 + clocks = <&cpm_syscon0 1 7>; 126 + }; 127 + 110 128 cpm_spi0: spi@700600 { 111 129 compatible = "marvell,armada-380-spi"; 112 130 reg = <0x700600 0x50>;
+1
arch/arm64/boot/dts/mediatek/Makefile
··· 1 + dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb 1 2 dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb 2 3 dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb 3 4
+38
arch/arm64/boot/dts/mediatek/mt6755-evb.dts
··· 1 + /* 2 + * Copyright (c) 2016 MediaTek Inc. 3 + * Author: Mars.C <mars.cheng@mediatek.com> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + * 9 + * This program is distributed in the hope that it will be useful, 10 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 + * GNU General Public License for more details. 13 + */ 14 + 15 + /dts-v1/; 16 + #include "mt6755.dtsi" 17 + 18 + / { 19 + model = "MediaTek MT6755 EVB"; 20 + compatible = "mediatek,mt6755-evb", "mediatek,mt6755"; 21 + 22 + aliases { 23 + serial0 = &uart0; 24 + }; 25 + 26 + memory@40000000 { 27 + device_type = "memory"; 28 + reg = <0 0x40000000 0 0x1e800000>; 29 + }; 30 + 31 + chosen { 32 + stdout-path = "serial0:921600n8"; 33 + }; 34 + }; 35 + 36 + &uart0 { 37 + status = "okay"; 38 + };
+145
arch/arm64/boot/dts/mediatek/mt6755.dtsi
··· 1 + /* 2 + * Copyright (c) 2016 MediaTek Inc. 3 + * Author: Mars.C <mars.cheng@mediatek.com> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + * 9 + * This program is distributed in the hope that it will be useful, 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + */ 13 + 14 + #include <dt-bindings/interrupt-controller/irq.h> 15 + #include <dt-bindings/interrupt-controller/arm-gic.h> 16 + 17 + / { 18 + compatible = "mediatek,mt6755"; 19 + interrupt-parent = <&sysirq>; 20 + #address-cells = <2>; 21 + #size-cells = <2>; 22 + 23 + psci { 24 + compatible = "arm,psci-0.2"; 25 + method = "smc"; 26 + }; 27 + 28 + cpus { 29 + #address-cells = <1>; 30 + #size-cells = <0>; 31 + 32 + cpu0: cpu@0 { 33 + device_type = "cpu"; 34 + compatible = "arm,cortex-a53"; 35 + enable-method = "psci"; 36 + reg = <0x000>; 37 + }; 38 + 39 + cpu1: cpu@1 { 40 + device_type = "cpu"; 41 + compatible = "arm,cortex-a53"; 42 + enable-method = "psci"; 43 + reg = <0x001>; 44 + }; 45 + 46 + cpu2: cpu@2 { 47 + device_type = "cpu"; 48 + compatible = "arm,cortex-a53"; 49 + enable-method = "psci"; 50 + reg = <0x002>; 51 + }; 52 + 53 + cpu3: cpu@3 { 54 + device_type = "cpu"; 55 + compatible = "arm,cortex-a53"; 56 + enable-method = "psci"; 57 + reg = <0x003>; 58 + }; 59 + 60 + cpu4: cpu@100 { 61 + device_type = "cpu"; 62 + compatible = "arm,cortex-a53"; 63 + enable-method = "psci"; 64 + reg = <0x100>; 65 + }; 66 + 67 + cpu5: cpu@101 { 68 + device_type = "cpu"; 69 + compatible = "arm,cortex-a53"; 70 + enable-method = "psci"; 71 + reg = <0x101>; 72 + }; 73 + 74 + cpu6: cpu@102 { 75 + device_type = "cpu"; 76 + compatible = "arm,cortex-a53"; 77 + enable-method = "psci"; 78 + reg = <0x102>; 79 + }; 80 + 81 + cpu7: cpu@103 { 82 + device_type = "cpu"; 83 + compatible = "arm,cortex-a53"; 84 + enable-method = "psci"; 85 + reg = <0x103>; 86 + }; 87 + }; 88 + 89 + uart_clk: dummy26m { 90 + compatible = "fixed-clock"; 91 + clock-frequency = <26000000>; 92 + #clock-cells = <0>; 93 + }; 94 + 95 + timer { 96 + compatible = "arm,armv8-timer"; 97 + interrupt-parent = <&gic>; 98 + interrupts = <GIC_PPI 13 99 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 100 + <GIC_PPI 14 101 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 102 + <GIC_PPI 11 103 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 104 + <GIC_PPI 10 105 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 106 + }; 107 + 108 + sysirq: intpol-controller@10200620 { 109 + compatible = "mediatek,mt6755-sysirq", 110 + "mediatek,mt6577-sysirq"; 111 + interrupt-controller; 112 + #interrupt-cells = <3>; 113 + interrupt-parent = <&gic>; 114 + reg = <0 0x10200620 0 0x20>; 115 + }; 116 + 117 + gic: interrupt-controller@10231000 { 118 + compatible = "arm,gic-400"; 119 + #interrupt-cells = <3>; 120 + interrupt-parent = <&gic>; 121 + interrupt-controller; 122 + reg = <0 0x10231000 0 0x1000>, 123 + <0 0x10232000 0 0x2000>, 124 + <0 0x10234000 0 0x2000>, 125 + <0 0x10236000 0 0x2000>; 126 + }; 127 + 128 + uart0: serial@11002000 { 129 + compatible = "mediatek,mt6755-uart", 130 + "mediatek,mt6577-uart"; 131 + reg = <0 0x11002000 0 0x400>; 132 + interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 133 + clocks = <&uart_clk>; 134 + status = "disabled"; 135 + }; 136 + 137 + uart1: serial@11003000 { 138 + compatible = "mediatek,mt6755-uart", 139 + "mediatek,mt6577-uart"; 140 + reg = <0 0x11003000 0 0x400>; 141 + interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>; 142 + clocks = <&uart_clk>; 143 + status = "disabled"; 144 + }; 145 + };
+223
arch/arm64/boot/dts/mediatek/mt8173.dtsi
··· 26 26 #address-cells = <2>; 27 27 #size-cells = <2>; 28 28 29 + aliases { 30 + ovl0 = &ovl0; 31 + ovl1 = &ovl1; 32 + rdma0 = &rdma0; 33 + rdma1 = &rdma1; 34 + rdma2 = &rdma2; 35 + wdma0 = &wdma0; 36 + wdma1 = &wdma1; 37 + color0 = &color0; 38 + color1 = &color1; 39 + split0 = &split0; 40 + split1 = &split1; 41 + dpi0 = &dpi0; 42 + dsi0 = &dsi0; 43 + dsi1 = &dsi1; 44 + }; 45 + 29 46 cpus { 30 47 #address-cells = <1>; 31 48 #size-cells = <0>; ··· 383 366 #clock-cells = <1>; 384 367 }; 385 368 369 + mipi_tx0: mipi-dphy@10215000 { 370 + compatible = "mediatek,mt8173-mipi-tx"; 371 + reg = <0 0x10215000 0 0x1000>; 372 + clocks = <&clk26m>; 373 + clock-output-names = "mipi_tx0_pll"; 374 + #clock-cells = <0>; 375 + #phy-cells = <0>; 376 + status = "disabled"; 377 + }; 378 + 379 + mipi_tx1: mipi-dphy@10216000 { 380 + compatible = "mediatek,mt8173-mipi-tx"; 381 + reg = <0 0x10216000 0 0x1000>; 382 + clocks = <&clk26m>; 383 + clock-output-names = "mipi_tx1_pll"; 384 + #clock-cells = <0>; 385 + #phy-cells = <0>; 386 + status = "disabled"; 387 + }; 388 + 386 389 gic: interrupt-controller@10220000 { 387 390 compatible = "arm,gic-400"; 388 391 #interrupt-cells = <3>; ··· 712 675 mmsys: clock-controller@14000000 { 713 676 compatible = "mediatek,mt8173-mmsys", "syscon"; 714 677 reg = <0 0x14000000 0 0x1000>; 678 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 715 679 #clock-cells = <1>; 680 + }; 681 + 682 + ovl0: ovl@1400c000 { 683 + compatible = "mediatek,mt8173-disp-ovl"; 684 + reg = <0 0x1400c000 0 0x1000>; 685 + interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_LOW>; 686 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 687 + clocks = <&mmsys CLK_MM_DISP_OVL0>; 688 + iommus = <&iommu M4U_PORT_DISP_OVL0>; 689 + mediatek,larb = <&larb0>; 690 + }; 691 + 692 + ovl1: ovl@1400d000 { 693 + compatible = "mediatek,mt8173-disp-ovl"; 694 + reg = <0 0x1400d000 0 0x1000>; 695 + interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_LOW>; 696 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 697 + clocks = <&mmsys CLK_MM_DISP_OVL1>; 698 + iommus = <&iommu M4U_PORT_DISP_OVL1>; 699 + mediatek,larb = <&larb4>; 700 + }; 701 + 702 + rdma0: rdma@1400e000 { 703 + compatible = "mediatek,mt8173-disp-rdma"; 704 + reg = <0 0x1400e000 0 0x1000>; 705 + interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_LOW>; 706 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 707 + clocks = <&mmsys CLK_MM_DISP_RDMA0>; 708 + iommus = <&iommu M4U_PORT_DISP_RDMA0>; 709 + mediatek,larb = <&larb0>; 710 + }; 711 + 712 + rdma1: rdma@1400f000 { 713 + compatible = "mediatek,mt8173-disp-rdma"; 714 + reg = <0 0x1400f000 0 0x1000>; 715 + interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_LOW>; 716 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 717 + clocks = <&mmsys CLK_MM_DISP_RDMA1>; 718 + iommus = <&iommu M4U_PORT_DISP_RDMA1>; 719 + mediatek,larb = <&larb4>; 720 + }; 721 + 722 + rdma2: rdma@14010000 { 723 + compatible = "mediatek,mt8173-disp-rdma"; 724 + reg = <0 0x14010000 0 0x1000>; 725 + interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_LOW>; 726 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 727 + clocks = <&mmsys CLK_MM_DISP_RDMA2>; 728 + iommus = <&iommu M4U_PORT_DISP_RDMA2>; 729 + mediatek,larb = <&larb4>; 730 + }; 731 + 732 + wdma0: wdma@14011000 { 733 + compatible = "mediatek,mt8173-disp-wdma"; 734 + reg = <0 0x14011000 0 0x1000>; 735 + interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_LOW>; 736 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 737 + clocks = <&mmsys CLK_MM_DISP_WDMA0>; 738 + iommus = <&iommu M4U_PORT_DISP_WDMA0>; 739 + mediatek,larb = <&larb0>; 740 + }; 741 + 742 + wdma1: wdma@14012000 { 743 + compatible = "mediatek,mt8173-disp-wdma"; 744 + reg = <0 0x14012000 0 0x1000>; 745 + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_LOW>; 746 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 747 + clocks = <&mmsys CLK_MM_DISP_WDMA1>; 748 + iommus = <&iommu M4U_PORT_DISP_WDMA1>; 749 + mediatek,larb = <&larb4>; 750 + }; 751 + 752 + color0: color@14013000 { 753 + compatible = "mediatek,mt8173-disp-color"; 754 + reg = <0 0x14013000 0 0x1000>; 755 + interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_LOW>; 756 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 757 + clocks = <&mmsys CLK_MM_DISP_COLOR0>; 758 + }; 759 + 760 + color1: color@14014000 { 761 + compatible = "mediatek,mt8173-disp-color"; 762 + reg = <0 0x14014000 0 0x1000>; 763 + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_LOW>; 764 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 765 + clocks = <&mmsys CLK_MM_DISP_COLOR1>; 766 + }; 767 + 768 + aal@14015000 { 769 + compatible = "mediatek,mt8173-disp-aal"; 770 + reg = <0 0x14015000 0 0x1000>; 771 + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_LOW>; 772 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 773 + clocks = <&mmsys CLK_MM_DISP_AAL>; 774 + }; 775 + 776 + gamma@14016000 { 777 + compatible = "mediatek,mt8173-disp-gamma"; 778 + reg = <0 0x14016000 0 0x1000>; 779 + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_LOW>; 780 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 781 + clocks = <&mmsys CLK_MM_DISP_GAMMA>; 782 + }; 783 + 784 + merge@14017000 { 785 + compatible = "mediatek,mt8173-disp-merge"; 786 + reg = <0 0x14017000 0 0x1000>; 787 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 788 + clocks = <&mmsys CLK_MM_DISP_MERGE>; 789 + }; 790 + 791 + split0: split@14018000 { 792 + compatible = "mediatek,mt8173-disp-split"; 793 + reg = <0 0x14018000 0 0x1000>; 794 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 795 + clocks = <&mmsys CLK_MM_DISP_SPLIT0>; 796 + }; 797 + 798 + split1: split@14019000 { 799 + compatible = "mediatek,mt8173-disp-split"; 800 + reg = <0 0x14019000 0 0x1000>; 801 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 802 + clocks = <&mmsys CLK_MM_DISP_SPLIT1>; 803 + }; 804 + 805 + ufoe@1401a000 { 806 + compatible = "mediatek,mt8173-disp-ufoe"; 807 + reg = <0 0x1401a000 0 0x1000>; 808 + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_LOW>; 809 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 810 + clocks = <&mmsys CLK_MM_DISP_UFOE>; 811 + }; 812 + 813 + dsi0: dsi@1401b000 { 814 + compatible = "mediatek,mt8173-dsi"; 815 + reg = <0 0x1401b000 0 0x1000>; 816 + interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_LOW>; 817 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 818 + clocks = <&mmsys CLK_MM_DSI0_ENGINE>, 819 + <&mmsys CLK_MM_DSI0_DIGITAL>, 820 + <&mipi_tx0>; 821 + clock-names = "engine", "digital", "hs"; 822 + phys = <&mipi_tx0>; 823 + phy-names = "dphy"; 824 + status = "disabled"; 825 + }; 826 + 827 + dsi1: dsi@1401c000 { 828 + compatible = "mediatek,mt8173-dsi"; 829 + reg = <0 0x1401c000 0 0x1000>; 830 + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>; 831 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 832 + clocks = <&mmsys CLK_MM_DSI1_ENGINE>, 833 + <&mmsys CLK_MM_DSI1_DIGITAL>, 834 + <&mipi_tx1>; 835 + clock-names = "engine", "digital", "hs"; 836 + phy = <&mipi_tx1>; 837 + phy-names = "dphy"; 838 + status = "disabled"; 839 + }; 840 + 841 + dpi0: dpi@1401d000 { 842 + compatible = "mediatek,mt8173-dpi"; 843 + reg = <0 0x1401d000 0 0x1000>; 844 + interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>; 845 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 846 + clocks = <&mmsys CLK_MM_DPI_PIXEL>, 847 + <&mmsys CLK_MM_DPI_ENGINE>, 848 + <&apmixedsys CLK_APMIXED_TVDPLL>; 849 + clock-names = "pixel", "engine", "pll"; 850 + status = "disabled"; 716 851 }; 717 852 718 853 pwm0: pwm@1401e000 { ··· 909 700 status = "disabled"; 910 701 }; 911 702 703 + mutex: mutex@14020000 { 704 + compatible = "mediatek,mt8173-disp-mutex"; 705 + reg = <0 0x14020000 0 0x1000>; 706 + interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_LOW>; 707 + power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 708 + clocks = <&mmsys CLK_MM_MUTEX_32K>; 709 + }; 710 + 912 711 larb0: larb@14021000 { 913 712 compatible = "mediatek,mt8173-smi-larb"; 914 713 reg = <0 0x14021000 0 0x1000>; ··· 934 717 clocks = <&mmsys CLK_MM_SMI_COMMON>, 935 718 <&mmsys CLK_MM_SMI_COMMON>; 936 719 clock-names = "apb", "smi"; 720 + }; 721 + 722 + od@14023000 { 723 + compatible = "mediatek,mt8173-disp-od"; 724 + reg = <0 0x14023000 0 0x1000>; 725 + clocks = <&mmsys CLK_MM_DISP_OD>; 937 726 }; 938 727 939 728 larb4: larb@14027000 {
+249
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
··· 1 + #include <dt-bindings/mfd/max77620.h> 2 + 1 3 #include "tegra210.dtsi" 2 4 3 5 / { ··· 7 5 compatible = "nvidia,p2180", "nvidia,tegra210"; 8 6 9 7 aliases { 8 + rtc0 = "/i2c@7000d000/pmic@3c"; 10 9 rtc1 = "/rtc@7000e000"; 11 10 serial0 = &uarta; 11 + }; 12 + 13 + chosen { 14 + stdout-path = "serial0:115200n8"; 12 15 }; 13 16 14 17 memory { ··· 24 17 /* debug port */ 25 18 serial@70006000 { 26 19 status = "okay"; 20 + }; 21 + 22 + i2c@7000d000 { 23 + status = "okay"; 24 + clock-frequency = <400000>; 25 + 26 + pmic: pmic@3c { 27 + compatible = "maxim,max77620"; 28 + reg = <0x3c>; 29 + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 30 + 31 + #interrupt-cells = <2>; 32 + interrupt-controller; 33 + 34 + #gpio-cells = <2>; 35 + gpio-controller; 36 + 37 + pinctrl-names = "default"; 38 + pinctrl-0 = <&max77620_default>; 39 + 40 + max77620_default: pinmux { 41 + gpio0 { 42 + pins = "gpio0"; 43 + function = "gpio"; 44 + }; 45 + 46 + gpio1 { 47 + pins = "gpio1"; 48 + function = "fps-out"; 49 + drive-push-pull = <1>; 50 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 51 + maxim,active-fps-power-up-slot = <7>; 52 + maxim,active-fps-power-down-slot = <0>; 53 + }; 54 + 55 + gpio2_3 { 56 + pins = "gpio2", "gpio3"; 57 + function = "fps-out"; 58 + drive-open-drain = <1>; 59 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 60 + }; 61 + 62 + gpio4 { 63 + pins = "gpio4"; 64 + function = "32k-out1"; 65 + }; 66 + 67 + gpio5_6_7 { 68 + pins = "gpio5", "gpio6", "gpio7"; 69 + function = "gpio"; 70 + drive-push-pull = <1>; 71 + }; 72 + }; 73 + 74 + fps { 75 + fps0 { 76 + maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 77 + maxim,suspend-fps-time-period-us = <1280>; 78 + }; 79 + 80 + fps1 { 81 + maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>; 82 + maxim,suspend-fps-time-period-us = <1280>; 83 + }; 84 + 85 + fps2 { 86 + maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 87 + }; 88 + }; 89 + 90 + regulators { 91 + in-ldo0-1-supply = <&vdd_pre>; 92 + in-ldo7-8-supply = <&vdd_pre>; 93 + in-sd3-supply = <&vdd_5v0_sys>; 94 + 95 + vdd_soc: sd0 { 96 + regulator-name = "VDD_SOC"; 97 + regulator-min-microvolt = <600000>; 98 + regulator-max-microvolt = <1400000>; 99 + regulator-always-on; 100 + regulator-boot-on; 101 + 102 + regulator-enable-ramp-delay = <146>; 103 + regulator-ramp-delay = <27500>; 104 + 105 + maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 106 + }; 107 + 108 + vdd_ddr: sd1 { 109 + regulator-name = "VDD_DDR_1V1_PMIC"; 110 + regulator-always-on; 111 + regulator-boot-on; 112 + 113 + regulator-enable-ramp-delay = <130>; 114 + regulator-ramp-delay = <27500>; 115 + 116 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 117 + }; 118 + 119 + vdd_pre: sd2 { 120 + regulator-name = "VDD_PRE_REG_1V35"; 121 + regulator-min-microvolt = <1350000>; 122 + regulator-max-microvolt = <1350000>; 123 + 124 + regulator-enable-ramp-delay = <176>; 125 + regulator-ramp-delay = <27500>; 126 + 127 + maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 128 + }; 129 + 130 + vdd_1v8: sd3 { 131 + regulator-name = "VDD_1V8"; 132 + regulator-min-microvolt = <1800000>; 133 + regulator-max-microvolt = <1800000>; 134 + regulator-always-on; 135 + regulator-boot-on; 136 + 137 + regulator-enable-ramp-delay = <242>; 138 + regulator-ramp-delay = <27500>; 139 + 140 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 141 + }; 142 + 143 + vdd_sys_1v2: ldo0 { 144 + regulator-name = "AVDD_SYS_1V2"; 145 + regulator-min-microvolt = <1200000>; 146 + regulator-max-microvolt = <1200000>; 147 + regulator-always-on; 148 + regulator-boot-on; 149 + 150 + regulator-enable-ramp-delay = <26>; 151 + regulator-ramp-delay = <100000>; 152 + 153 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 154 + }; 155 + 156 + vdd_pex_1v05: ldo1 { 157 + regulator-name = "VDD_PEX_1V05"; 158 + regulator-min-microvolt = <1050000>; 159 + regulator-max-microvolt = <1050000>; 160 + 161 + regulator-enable-ramp-delay = <22>; 162 + regulator-ramp-delay = <100000>; 163 + 164 + maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 165 + }; 166 + 167 + vddio_sdmmc: ldo2 { 168 + regulator-name = "VDDIO_SDMMC"; 169 + /* 170 + * Technically this supply should have 171 + * a supported range from 1.8 - 3.3 V. 172 + * However, that would cause the SDHCI 173 + * driver to request 2.7 V upon access 174 + * and that in turn will cause traffic 175 + * to be broken. Leave it at 3.3 V for 176 + * now. 177 + */ 178 + regulator-min-microvolt = <3300000>; 179 + regulator-max-microvolt = <3300000>; 180 + regulator-always-on; 181 + regulator-boot-on; 182 + 183 + regulator-enable-ramp-delay = <62>; 184 + regulator-ramp-delay = <100000>; 185 + 186 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 187 + }; 188 + 189 + vdd_cam_hv: ldo3 { 190 + regulator-name = "VDD_CAM_HV"; 191 + regulator-min-microvolt = <2800000>; 192 + regulator-max-microvolt = <2800000>; 193 + 194 + regulator-enable-ramp-delay = <50>; 195 + regulator-ramp-delay = <100000>; 196 + 197 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 198 + }; 199 + 200 + vdd_rtc: ldo4 { 201 + regulator-name = "VDD_RTC"; 202 + regulator-min-microvolt = <850000>; 203 + regulator-max-microvolt = <850000>; 204 + regulator-always-on; 205 + regulator-boot-on; 206 + 207 + regulator-enable-ramp-delay = <22>; 208 + regulator-ramp-delay = <100000>; 209 + 210 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 211 + }; 212 + 213 + vdd_ts_hv: ldo5 { 214 + regulator-name = "VDD_TS_HV"; 215 + regulator-min-microvolt = <3300000>; 216 + regulator-max-microvolt = <3300000>; 217 + 218 + regulator-enable-ramp-delay = <62>; 219 + regulator-ramp-delay = <100000>; 220 + 221 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 222 + }; 223 + 224 + vdd_ts: ldo6 { 225 + regulator-name = "VDD_TS_1V8"; 226 + regulator-min-microvolt = <1800000>; 227 + regulator-max-microvolt = <1800000>; 228 + 229 + regulator-enable-ramp-delay = <36>; 230 + regulator-ramp-delay = <100000>; 231 + 232 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 233 + maxim,active-fps-power-up-slot = <7>; 234 + maxim,active-fps-power-down-slot = <0>; 235 + }; 236 + 237 + avdd_1v05_pll: ldo7 { 238 + regulator-name = "AVDD_1V05_PLL"; 239 + regulator-min-microvolt = <1050000>; 240 + regulator-max-microvolt = <1050000>; 241 + regulator-always-on; 242 + regulator-boot-on; 243 + 244 + regulator-enable-ramp-delay = <24>; 245 + regulator-ramp-delay = <100000>; 246 + 247 + maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 248 + }; 249 + 250 + avdd_1v05: ldo8 { 251 + regulator-name = "AVDD_SATA_HDMI_DP_1V05"; 252 + regulator-min-microvolt = <1050000>; 253 + regulator-max-microvolt = <1050000>; 254 + 255 + regulator-enable-ramp-delay = <22>; 256 + regulator-ramp-delay = <100000>; 257 + 258 + maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 259 + }; 260 + }; 261 + }; 27 262 }; 28 263 29 264 pmc@7000e400 {
+45
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
··· 6 6 / { 7 7 model = "NVIDIA Jetson TX1 Developer Kit"; 8 8 compatible = "nvidia,p2371-2180", "nvidia,tegra210"; 9 + 10 + host1x@50000000 { 11 + dsi@54300000 { 12 + status = "okay"; 13 + 14 + avdd-dsi-csi-supply = <&vdd_dsi_csi>; 15 + 16 + panel@0 { 17 + compatible = "auo,b080uan01"; 18 + reg = <0>; 19 + 20 + enable-gpios = <&gpio TEGRA_GPIO(V, 2) 21 + GPIO_ACTIVE_HIGH>; 22 + power-supply = <&vdd_5v0_io>; 23 + backlight = <&backlight>; 24 + }; 25 + }; 26 + }; 27 + 28 + i2c@7000c400 { 29 + backlight: backlight@2c { 30 + compatible = "ti,lp8557"; 31 + reg = <0x2c>; 32 + 33 + dev-ctrl = /bits/ 8 <0x80>; 34 + init-brt = /bits/ 8 <0xff>; 35 + 36 + pwm-period = <29334>; 37 + 38 + pwms = <&pwm 0 29334>; 39 + pwm-names = "lp8557"; 40 + 41 + /* 3 LED string */ 42 + rom_14h { 43 + rom-addr = /bits/ 8 <0x14>; 44 + rom-val = /bits/ 8 <0x87>; 45 + }; 46 + 47 + /* boost frequency 1 MHz */ 48 + rom_13h { 49 + rom-addr = /bits/ 8 <0x13>; 50 + rom-val = /bits/ 8 <0x01>; 51 + }; 52 + }; 53 + }; 9 54 };
+319
arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
··· 4 4 model = "NVIDIA Tegra210 P2597 I/O board"; 5 5 compatible = "nvidia,p2597", "nvidia,tegra210"; 6 6 7 + host1x@50000000 { 8 + dpaux@54040000 { 9 + status = "okay"; 10 + }; 11 + 12 + sor@54580000 { 13 + status = "okay"; 14 + 15 + avdd-io-supply = <&avdd_1v05>; 16 + vdd-pll-supply = <&vdd_1v8>; 17 + hdmi-supply = <&vdd_hdmi>; 18 + 19 + nvidia,ddc-i2c-bus = <&hdmi_ddc>; 20 + nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1) 21 + GPIO_ACTIVE_LOW>; 22 + }; 23 + }; 24 + 7 25 pinmux: pinmux@700008d4 { 8 26 pinctrl-names = "boot"; 9 27 pinctrl-0 = <&state_boot>; ··· 1279 1261 }; 1280 1262 }; 1281 1263 1264 + pwm@7000a000 { 1265 + status = "okay"; 1266 + }; 1267 + 1268 + i2c@7000c400 { 1269 + status = "okay"; 1270 + clock-frequency = <100000>; 1271 + 1272 + exp1: gpio@74 { 1273 + compatible = "ti,tca9539"; 1274 + reg = <0x74>; 1275 + 1276 + #gpio-cells = <2>; 1277 + gpio-controller; 1278 + }; 1279 + }; 1280 + 1281 + /* HDMI DDC */ 1282 + hdmi_ddc: i2c@7000c700 { 1283 + status = "okay"; 1284 + clock-frequency = <100000>; 1285 + }; 1286 + 1287 + usb@70090000 { 1288 + phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 1289 + <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 1290 + <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1291 + <&{/padctl@7009f000/pads/usb2/lanes/usb2-3}>, 1292 + <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>, 1293 + <&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>; 1294 + phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3", "usb3-0", 1295 + "usb3-1"; 1296 + 1297 + dvddio-pex-supply = <&vdd_pex_1v05>; 1298 + hvddio-pex-supply = <&vdd_1v8>; 1299 + avdd-usb-supply = <&vdd_3v3_sys>; 1300 + /* XXX what are these? */ 1301 + avdd-pll-utmip-supply = <&vdd_1v8>; 1302 + avdd-pll-uerefe-supply = <&vdd_pex_1v05>; 1303 + dvdd-usb-ss-pll-supply = <&vdd_pex_1v05>; 1304 + hvdd-usb-ss-pll-e-supply = <&vdd_1v8>; 1305 + 1306 + status = "okay"; 1307 + }; 1308 + 1309 + padctl@7009f000 { 1310 + status = "okay"; 1311 + 1312 + pads { 1313 + usb2 { 1314 + status = "okay"; 1315 + 1316 + lanes { 1317 + usb2-0 { 1318 + nvidia,function = "xusb"; 1319 + status = "okay"; 1320 + }; 1321 + 1322 + usb2-1 { 1323 + nvidia,function = "xusb"; 1324 + status = "okay"; 1325 + }; 1326 + 1327 + usb2-2 { 1328 + nvidia,function = "xusb"; 1329 + status = "okay"; 1330 + }; 1331 + 1332 + usb2-3 { 1333 + nvidia,function = "xusb"; 1334 + status = "okay"; 1335 + }; 1336 + }; 1337 + }; 1338 + 1339 + pcie { 1340 + status = "okay"; 1341 + 1342 + lanes { 1343 + pcie-0 { 1344 + nvidia,function = "pcie-x1"; 1345 + status = "okay"; 1346 + }; 1347 + 1348 + pcie-1 { 1349 + nvidia,function = "pcie-x4"; 1350 + status = "okay"; 1351 + }; 1352 + 1353 + pcie-2 { 1354 + nvidia,function = "pcie-x4"; 1355 + status = "okay"; 1356 + }; 1357 + 1358 + pcie-3 { 1359 + nvidia,function = "pcie-x4"; 1360 + status = "okay"; 1361 + }; 1362 + 1363 + pcie-4 { 1364 + nvidia,function = "pcie-x4"; 1365 + status = "okay"; 1366 + }; 1367 + 1368 + pcie-5 { 1369 + nvidia,function = "usb3-ss"; 1370 + status = "okay"; 1371 + }; 1372 + 1373 + pcie-6 { 1374 + nvidia,function = "usb3-ss"; 1375 + status = "okay"; 1376 + }; 1377 + }; 1378 + }; 1379 + 1380 + sata { 1381 + status = "okay"; 1382 + 1383 + lanes { 1384 + sata-0 { 1385 + nvidia,function = "sata"; 1386 + status = "okay"; 1387 + }; 1388 + }; 1389 + }; 1390 + }; 1391 + 1392 + ports { 1393 + usb2-0 { 1394 + status = "okay"; 1395 + mode = "otg"; 1396 + }; 1397 + 1398 + usb2-1 { 1399 + status = "okay"; 1400 + vbus-supply = <&vdd_5v0_rtl>; 1401 + mode = "host"; 1402 + }; 1403 + 1404 + usb2-2 { 1405 + status = "okay"; 1406 + vbus-supply = <&vdd_usb_vbus>; 1407 + mode = "host"; 1408 + }; 1409 + 1410 + usb2-3 { 1411 + status = "okay"; 1412 + mode = "host"; 1413 + }; 1414 + 1415 + usb3-0 { 1416 + nvidia,usb2-companion = <1>; 1417 + status = "okay"; 1418 + }; 1419 + 1420 + usb3-1 { 1421 + nvidia,usb2-companion = <2>; 1422 + status = "okay"; 1423 + }; 1424 + }; 1425 + }; 1426 + 1282 1427 /* MMC/SD */ 1283 1428 sdhci@700b0000 { 1284 1429 status = "okay"; ··· 1449 1268 no-1-8-v; 1450 1269 1451 1270 cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>; 1271 + 1272 + vqmmc-supply = <&vddio_sdmmc>; 1273 + vmmc-supply = <&vdd_3v3_sd>; 1274 + }; 1275 + 1276 + regulators { 1277 + compatible = "simple-bus"; 1278 + #address-cells = <1>; 1279 + #size-cells = <0>; 1280 + 1281 + vdd_sys_mux: regulator@0 { 1282 + compatible = "regulator-fixed"; 1283 + reg = <0>; 1284 + regulator-name = "VDD_SYS_MUX"; 1285 + regulator-min-microvolt = <5000000>; 1286 + regulator-max-microvolt = <5000000>; 1287 + regulator-always-on; 1288 + regulator-boot-on; 1289 + }; 1290 + 1291 + vdd_5v0_sys: regulator@1 { 1292 + compatible = "regulator-fixed"; 1293 + reg = <1>; 1294 + regulator-name = "VDD_5V0_SYS"; 1295 + regulator-min-microvolt = <5000000>; 1296 + regulator-max-microvolt = <5000000>; 1297 + regulator-always-on; 1298 + regulator-boot-on; 1299 + gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; 1300 + enable-active-high; 1301 + vin-supply = <&vdd_sys_mux>; 1302 + }; 1303 + 1304 + vdd_3v3_sys: regulator@2 { 1305 + compatible = "regulator-fixed"; 1306 + reg = <2>; 1307 + regulator-name = "VDD_3V3_SYS"; 1308 + regulator-min-microvolt = <3300000>; 1309 + regulator-max-microvolt = <3300000>; 1310 + regulator-always-on; 1311 + regulator-boot-on; 1312 + gpio = <&pmic 3 GPIO_ACTIVE_HIGH>; 1313 + enable-active-high; 1314 + vin-supply = <&vdd_sys_mux>; 1315 + 1316 + regulator-enable-ramp-delay = <160>; 1317 + regulator-disable-ramp-delay = <10000>; 1318 + }; 1319 + 1320 + vdd_5v0_io: regulator@3 { 1321 + compatible = "regulator-fixed"; 1322 + reg = <3>; 1323 + regulator-name = "VDD_5V0_IO_SYS"; 1324 + regulator-min-microvolt = <5000000>; 1325 + regulator-max-microvolt = <5000000>; 1326 + regulator-always-on; 1327 + regulator-boot-on; 1328 + }; 1329 + 1330 + vdd_3v3_sd: regulator@4 { 1331 + compatible = "regulator-fixed"; 1332 + reg = <4>; 1333 + regulator-name = "VDD_3V3_SD"; 1334 + regulator-min-microvolt = <3300000>; 1335 + regulator-max-microvolt = <3300000>; 1336 + gpio = <&gpio TEGRA_GPIO(Z, 4) GPIO_ACTIVE_HIGH>; 1337 + enable-active-high; 1338 + vin-supply = <&vdd_3v3_sys>; 1339 + 1340 + regulator-enable-ramp-delay = <472>; 1341 + regulator-disable-ramp-delay = <4880>; 1342 + }; 1343 + 1344 + vdd_dsi_csi: regulator@5 { 1345 + compatible = "regulator-fixed"; 1346 + reg = <5>; 1347 + regulator-name = "AVDD_DSI_CSI_1V2"; 1348 + regulator-min-microvolt = <1200000>; 1349 + regulator-max-microvolt = <1200000>; 1350 + vin-supply = <&vdd_sys_1v2>; 1351 + }; 1352 + 1353 + vdd_3v3_dis: regulator@6 { 1354 + compatible = "regulator-fixed"; 1355 + reg = <6>; 1356 + regulator-name = "VDD_DIS_3V3_LCD"; 1357 + regulator-min-microvolt = <3300000>; 1358 + regulator-max-microvolt = <3300000>; 1359 + regulator-always-on; 1360 + gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; 1361 + enable-active-high; 1362 + vin-supply = <&vdd_3v3_sys>; 1363 + }; 1364 + 1365 + vdd_1v8_dis: regulator@7 { 1366 + compatible = "regulator-fixed"; 1367 + reg = <7>; 1368 + regulator-name = "VDD_LCD_1V8_DIS"; 1369 + regulator-min-microvolt = <1800000>; 1370 + regulator-max-microvolt = <1800000>; 1371 + regulator-always-on; 1372 + gpio = <&exp1 14 GPIO_ACTIVE_HIGH>; 1373 + enable-active-high; 1374 + vin-supply = <&vdd_1v8>; 1375 + }; 1376 + 1377 + vdd_5v0_rtl: regulator@8 { 1378 + compatible = "regulator-fixed"; 1379 + reg = <8>; 1380 + regulator-name = "RTL_5V"; 1381 + regulator-min-microvolt = <5000000>; 1382 + regulator-max-microvolt = <5000000>; 1383 + gpio = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>; 1384 + enable-active-high; 1385 + vin-supply = <&vdd_5v0_sys>; 1386 + }; 1387 + 1388 + vdd_usb_vbus: regulator@9 { 1389 + compatible = "regulator-fixed"; 1390 + reg = <9>; 1391 + regulator-name = "USB_VBUS_EN1"; 1392 + regulator-min-microvolt = <5000000>; 1393 + regulator-max-microvolt = <5000000>; 1394 + gpio = <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_HIGH>; 1395 + enable-active-high; 1396 + vin-supply = <&vdd_5v0_sys>; 1397 + }; 1398 + 1399 + vdd_hdmi: regulator@10 { 1400 + compatible = "regulator-fixed"; 1401 + reg = <10>; 1402 + regulator-name = "VDD_HDMI_5V0"; 1403 + regulator-min-microvolt = <5000000>; 1404 + regulator-max-microvolt = <5000000>; 1405 + gpio = <&exp1 12 GPIO_ACTIVE_LOW>; 1406 + enable-active-high; 1407 + vin-supply = <&vdd_5v0_sys>; 1408 + }; 1452 1409 }; 1453 1410 1454 1411 gpio-keys {
+314
arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
··· 1 1 /dts-v1/; 2 2 3 3 #include <dt-bindings/input/input.h> 4 + #include <dt-bindings/mfd/max77620.h> 4 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 5 6 6 7 #include "tegra210.dtsi" ··· 1328 1327 }; 1329 1328 }; 1330 1329 1330 + i2c@7000d000 { 1331 + status = "okay"; 1332 + clock-frequency = <1000000>; 1333 + 1334 + max77620: max77620@3c { 1335 + compatible = "maxim,max77620"; 1336 + reg = <0x3c>; 1337 + interrupts = <0 86 IRQ_TYPE_NONE>; 1338 + 1339 + #interrupt-cells = <2>; 1340 + interrupt-controller; 1341 + 1342 + gpio-controller; 1343 + #gpio-cells = <2>; 1344 + 1345 + pinctrl-names = "default"; 1346 + pinctrl-0 = <&max77620_default>; 1347 + 1348 + max77620_default: pinmux@0 { 1349 + pin_gpio { 1350 + pins = "gpio0", "gpio1", "gpio2", "gpio7"; 1351 + function = "gpio"; 1352 + }; 1353 + 1354 + /* 1355 + * GPIO3 is used to en_pp3300, and it is part of power 1356 + * sequence, So it must be sequenced up (automatically 1357 + * set by OTP) and down properly. 1358 + */ 1359 + pin_gpio3 { 1360 + pins = "gpio3"; 1361 + function = "fps-out"; 1362 + drive-open-drain = <1>; 1363 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 1364 + maxim,active-fps-power-up-slot = <4>; 1365 + maxim,active-fps-power-down-slot = <2>; 1366 + }; 1367 + 1368 + pin_gpio5_6 { 1369 + pins = "gpio5", "gpio6"; 1370 + function = "gpio"; 1371 + drive-push-pull = <1>; 1372 + }; 1373 + 1374 + pin_32k { 1375 + pins = "gpio4"; 1376 + function = "32k-out1"; 1377 + }; 1378 + }; 1379 + 1380 + fps { 1381 + fps0 { 1382 + maxim,shutdown-fps-time-period-us = <5120>; 1383 + maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 1384 + }; 1385 + 1386 + fps1 { 1387 + maxim,shutdown-fps-time-period-us = <5120>; 1388 + maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>; 1389 + maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>; 1390 + }; 1391 + 1392 + fps2 { 1393 + maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 1394 + }; 1395 + }; 1396 + 1397 + regulators { 1398 + in-ldo0-1-supply = <&pp1350>; 1399 + in-ldo2-supply = <&pp3300>; 1400 + in-ldo3-5-supply = <&pp3300>; 1401 + in-ldo7-8-supply = <&pp1350>; 1402 + 1403 + ppvar_soc: sd0 { 1404 + regulator-name = "PPVAR_SOC"; 1405 + regulator-min-microvolt = <825000>; 1406 + regulator-max-microvolt = <1125000>; 1407 + regulator-always-on; 1408 + regulator-boot-on; 1409 + maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 1410 + maxim,active-fps-power-up-slot = <1>; 1411 + maxim,active-fps-power-down-slot = <7>; 1412 + }; 1413 + 1414 + pp1100_sd1: sd1 { 1415 + regulator-name = "PP1100"; 1416 + regulator-min-microvolt = <1125000>; 1417 + regulator-max-microvolt = <1125000>; 1418 + regulator-always-on; 1419 + regulator-boot-on; 1420 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 1421 + maxim,active-fps-power-up-slot = <5>; 1422 + maxim,active-fps-power-down-slot = <1>; 1423 + }; 1424 + 1425 + pp1350: sd2 { 1426 + regulator-name = "PP1350"; 1427 + regulator-min-microvolt = <1350000>; 1428 + regulator-max-microvolt = <1350000>; 1429 + regulator-always-on; 1430 + regulator-boot-on; 1431 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1432 + maxim,active-fps-power-up-slot = <2>; 1433 + maxim,active-fps-power-down-slot = <5>; 1434 + }; 1435 + 1436 + pp1800: sd3 { 1437 + regulator-name = "PP1800"; 1438 + regulator-min-microvolt = <1800000>; 1439 + regulator-max-microvolt = <1800000>; 1440 + regulator-always-on; 1441 + regulator-boot-on; 1442 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 1443 + maxim,active-fps-power-up-slot = <3>; 1444 + maxim,active-fps-power-down-slot = <3>; 1445 + }; 1446 + 1447 + pp1200_avdd: ldo0 { 1448 + regulator-name = "PP1200_AVDD"; 1449 + regulator-min-microvolt = <1200000>; 1450 + regulator-max-microvolt = <1200000>; 1451 + regulator-enable-ramp-delay = <26>; 1452 + regulator-ramp-delay = <100000>; 1453 + regulator-boot-on; 1454 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1455 + maxim,active-fps-power-up-slot = <0>; 1456 + maxim,active-fps-power-down-slot = <7>; 1457 + }; 1458 + 1459 + pp1200_rcam: ldo1 { 1460 + regulator-name = "PP1200_RCAM"; 1461 + regulator-min-microvolt = <1200000>; 1462 + regulator-max-microvolt = <1200000>; 1463 + regulator-enable-ramp-delay = <22>; 1464 + regulator-ramp-delay = <100000>; 1465 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1466 + maxim,active-fps-power-up-slot = <0>; 1467 + maxim,active-fps-power-down-slot = <7>; 1468 + }; 1469 + 1470 + pp_ldo2: ldo2 { 1471 + regulator-name = "PP_LDO2"; 1472 + regulator-min-microvolt = <1800000>; 1473 + regulator-max-microvolt = <1800000>; 1474 + regulator-enable-ramp-delay = <62>; 1475 + regulator-ramp-delay = <11000>; 1476 + regulator-always-on; 1477 + regulator-boot-on; 1478 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1479 + maxim,active-fps-power-up-slot = <0>; 1480 + maxim,active-fps-power-down-slot = <7>; 1481 + }; 1482 + 1483 + pp2800l_rcam: ldo3 { 1484 + regulator-name = "PP2800L_RCAM"; 1485 + regulator-min-microvolt = <2800000>; 1486 + regulator-max-microvolt = <2800000>; 1487 + regulator-enable-ramp-delay = <50>; 1488 + regulator-ramp-delay = <100000>; 1489 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1490 + maxim,active-fps-power-up-slot = <0>; 1491 + maxim,active-fps-power-down-slot = <7>; 1492 + }; 1493 + 1494 + pp100_soc_rtc: ldo4 { 1495 + regulator-name = "PP1100_SOC_RTC"; 1496 + regulator-min-microvolt = <850000>; 1497 + regulator-max-microvolt = <850000>; 1498 + regulator-enable-ramp-delay = <22>; 1499 + regulator-ramp-delay = <100000>; 1500 + regulator-always-on; /* Check this */ 1501 + regulator-boot-on; 1502 + maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 1503 + maxim,active-fps-power-up-slot = <1>; 1504 + maxim,active-fps-power-down-slot = <7>; 1505 + }; 1506 + 1507 + pp2800l_fcam: ldo5 { 1508 + regulator-name = "PP2800L_FCAM"; 1509 + regulator-min-microvolt = <2800000>; 1510 + regulator-max-microvolt = <2800000>; 1511 + regulator-enable-ramp-delay = <62>; 1512 + regulator-ramp-delay = <100000>; 1513 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1514 + maxim,active-fps-power-up-slot = <0>; 1515 + maxim,active-fps-power-down-slot = <7>; 1516 + }; 1517 + 1518 + ldo6 { 1519 + /* Unused. */ 1520 + regulator-name = "PP_LDO6"; 1521 + regulator-min-microvolt = <1800000>; 1522 + regulator-max-microvolt = <1800000>; 1523 + regulator-enable-ramp-delay = <36>; 1524 + regulator-ramp-delay = <100000>; 1525 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1526 + maxim,active-fps-power-up-slot = <0>; 1527 + maxim,active-fps-power-down-slot = <7>; 1528 + }; 1529 + 1530 + pp1050_avdd: ldo7 { 1531 + regulator-name = "PP1050_AVDD"; 1532 + regulator-min-microvolt = <1050000>; 1533 + regulator-max-microvolt = <1050000>; 1534 + regulator-enable-ramp-delay = <24>; 1535 + regulator-ramp-delay = <100000>; 1536 + regulator-always-on; 1537 + regulator-boot-on; 1538 + maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 1539 + maxim,active-fps-power-up-slot = <3>; 1540 + maxim,active-fps-power-down-slot = <4>; 1541 + }; 1542 + 1543 + avddio_1v05: ldo8 { 1544 + regulator-name = "AVDDIO_1V05"; 1545 + regulator-min-microvolt = <1050000>; 1546 + regulator-max-microvolt = <1050000>; 1547 + regulator-enable-ramp-delay = <22>; 1548 + regulator-ramp-delay = <100000>; 1549 + regulator-boot-on; 1550 + maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; 1551 + maxim,active-fps-power-up-slot = <0>; 1552 + maxim,active-fps-power-down-slot = <7>; 1553 + }; 1554 + }; 1555 + }; 1556 + }; 1557 + 1331 1558 pmc@7000e400 { 1332 1559 nvidia,invert-interrupt; 1333 1560 nvidia,suspend-mode = <0>; ··· 1649 1420 psci { 1650 1421 compatible = "arm,psci-1.0"; 1651 1422 method = "smc"; 1423 + }; 1424 + 1425 + regulators { 1426 + compatible = "simple-bus"; 1427 + device_type = "fixed-regulators"; 1428 + #address-cells = <1>; 1429 + #size-cells = <0>; 1430 + 1431 + ppvar_sys: regulator@0 { 1432 + compatible = "regulator-fixed"; 1433 + reg = <0>; 1434 + regulator-name = "PPVAR_SYS"; 1435 + regulator-min-microvolt = <4400000>; 1436 + regulator-max-microvolt = <4400000>; 1437 + regulator-always-on; 1438 + }; 1439 + 1440 + pplcd_vdd: regulator@1 { 1441 + compatible = "regulator-fixed"; 1442 + reg = <1>; 1443 + regulator-name = "PPLCD_VDD"; 1444 + regulator-min-microvolt = <4400000>; 1445 + regulator-max-microvolt = <4400000>; 1446 + gpio = <&gpio TEGRA_GPIO(V, 4) 0>; 1447 + enable-active-high; 1448 + regulator-boot-on; 1449 + }; 1450 + 1451 + pp3000_always: regulator@2 { 1452 + compatible = "regulator-fixed"; 1453 + reg = <2>; 1454 + regulator-name = "PP3000_ALWAYS"; 1455 + regulator-min-microvolt = <3000000>; 1456 + regulator-max-microvolt = <3000000>; 1457 + regulator-always-on; 1458 + }; 1459 + 1460 + pp3300: regulator@3 { 1461 + compatible = "regulator-fixed"; 1462 + reg = <3>; 1463 + regulator-name = "PP3300"; 1464 + regulator-min-microvolt = <3300000>; 1465 + regulator-max-microvolt = <3300000>; 1466 + regulator-boot-on; 1467 + regulator-always-on; 1468 + enable-active-high; 1469 + }; 1470 + 1471 + pp5000: regulator@4 { 1472 + compatible = "regulator-fixed"; 1473 + reg = <4>; 1474 + regulator-name = "PP5000"; 1475 + regulator-min-microvolt = <5000000>; 1476 + regulator-max-microvolt = <5000000>; 1477 + regulator-always-on; 1478 + }; 1479 + 1480 + pp1800_lcdio: regulator@5 { 1481 + compatible = "regulator-fixed"; 1482 + reg = <5>; 1483 + regulator-name = "PP1800_LCDIO"; 1484 + regulator-min-microvolt = <1800000>; 1485 + regulator-max-microvolt = <1800000>; 1486 + gpio = <&gpio TEGRA_GPIO(V, 3) 0>; 1487 + enable-active-high; 1488 + regulator-boot-on; 1489 + }; 1490 + 1491 + pp1800_cam: regulator@6 { 1492 + compatible = "regulator-fixed"; 1493 + reg= <6>; 1494 + regulator-name = "PP1800_CAM"; 1495 + regulator-min-microvolt = <1800000>; 1496 + regulator-max-microvolt = <1800000>; 1497 + gpio = <&gpio TEGRA_GPIO(K, 3) 0>; 1498 + enable-active-high; 1499 + }; 1500 + 1501 + usbc_vbus: regulator@7 { 1502 + compatible = "regulator-fixed"; 1503 + reg = <7>; 1504 + regulator-name = "USBC_VBUS"; 1505 + regulator-min-microvolt = <5000000>; 1506 + regulator-max-microvolt = <5000000>; 1507 + }; 1652 1508 }; 1653 1509 };
+291 -1
arch/arm64/boot/dts/nvidia/tegra210.dtsi
··· 35 35 resets = <&tegra_car 207>; 36 36 reset-names = "dpaux"; 37 37 status = "disabled"; 38 + 39 + state_dpaux1_aux: pinmux-aux { 40 + groups = "dpaux-io"; 41 + function = "aux"; 42 + }; 43 + 44 + state_dpaux1_i2c: pinmux-i2c { 45 + groups = "dpaux-io"; 46 + function = "i2c"; 47 + }; 48 + 49 + state_dpaux1_off: pinmux-off { 50 + groups = "dpaux-io"; 51 + function = "off"; 52 + }; 53 + 54 + i2c-bus { 55 + #address-cells = <1>; 56 + #size-cells = <0>; 57 + }; 38 58 }; 39 59 40 60 vi@54080000 { ··· 174 154 clock-names = "sor", "parent", "dp", "safe"; 175 155 resets = <&tegra_car 182>; 176 156 reset-names = "sor"; 157 + pinctrl-0 = <&state_dpaux_aux>; 158 + pinctrl-1 = <&state_dpaux_i2c>; 159 + pinctrl-2 = <&state_dpaux_off>; 160 + pinctrl-names = "aux", "i2c", "off"; 177 161 status = "disabled"; 178 162 }; 179 163 ··· 186 162 reg = <0x0 0x54580000 0x0 0x00040000>; 187 163 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 188 164 clocks = <&tegra_car TEGRA210_CLK_SOR1>, 165 + <&tegra_car TEGRA210_CLK_SOR1_SRC>, 189 166 <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>, 190 167 <&tegra_car TEGRA210_CLK_PLL_DP>, 191 168 <&tegra_car TEGRA210_CLK_SOR_SAFE>; 192 - clock-names = "sor", "parent", "dp", "safe"; 169 + clock-names = "sor", "source", "parent", "dp", "safe"; 193 170 resets = <&tegra_car 183>; 194 171 reset-names = "sor"; 172 + pinctrl-0 = <&state_dpaux1_aux>; 173 + pinctrl-1 = <&state_dpaux1_i2c>; 174 + pinctrl-2 = <&state_dpaux1_off>; 175 + pinctrl-names = "aux", "i2c", "off"; 195 176 status = "disabled"; 196 177 }; 197 178 ··· 210 181 resets = <&tegra_car 181>; 211 182 reset-names = "dpaux"; 212 183 status = "disabled"; 184 + 185 + state_dpaux_aux: pinmux-aux { 186 + groups = "dpaux-io"; 187 + function = "aux"; 188 + }; 189 + 190 + state_dpaux_i2c: pinmux-i2c { 191 + groups = "dpaux-io"; 192 + function = "i2c"; 193 + }; 194 + 195 + state_dpaux_off: pinmux-off { 196 + groups = "dpaux-io"; 197 + function = "off"; 198 + }; 199 + 200 + i2c-bus { 201 + #address-cells = <1>; 202 + #size-cells = <0>; 203 + }; 213 204 }; 214 205 215 206 isp@54600000 { ··· 527 478 reset-names = "i2c"; 528 479 dmas = <&apbdma 26>, <&apbdma 26>; 529 480 dma-names = "rx", "tx"; 481 + pinctrl-0 = <&state_dpaux1_i2c>; 482 + pinctrl-1 = <&state_dpaux1_off>; 483 + pinctrl-names = "default", "idle"; 530 484 status = "disabled"; 531 485 }; 532 486 ··· 560 508 reset-names = "i2c"; 561 509 dmas = <&apbdma 30>, <&apbdma 30>; 562 510 dma-names = "rx", "tx"; 511 + pinctrl-0 = <&state_dpaux_i2c>; 512 + pinctrl-1 = <&state_dpaux_off>; 513 + pinctrl-names = "default", "idle"; 563 514 status = "disabled"; 564 515 }; 565 516 ··· 639 584 reg = <0x0 0x7000e400 0x0 0x400>; 640 585 clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>; 641 586 clock-names = "pclk", "clk32k_in"; 587 + 588 + powergates { 589 + pd_audio: aud { 590 + clocks = <&tegra_car TEGRA210_CLK_APE>, 591 + <&tegra_car TEGRA210_CLK_APB2APE>; 592 + resets = <&tegra_car 198>; 593 + #power-domain-cells = <0>; 594 + }; 595 + 596 + pd_xusbss: xusba { 597 + clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>; 598 + clock-names = "xusb-ss"; 599 + resets = <&tegra_car TEGRA210_CLK_XUSB_SS>; 600 + reset-names = "xusb-ss"; 601 + #power-domain-cells = <0>; 602 + }; 603 + 604 + pd_xusbdev: xusbb { 605 + clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>; 606 + clock-names = "xusb-dev"; 607 + resets = <&tegra_car 95>; 608 + reset-names = "xusb-dev"; 609 + #power-domain-cells = <0>; 610 + }; 611 + 612 + pd_xusbhost: xusbc { 613 + clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>; 614 + clock-names = "xusb-host"; 615 + resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>; 616 + reset-names = "xusb-host"; 617 + #power-domain-cells = <0>; 618 + }; 619 + }; 642 620 }; 643 621 644 622 fuse@7000f800 { ··· 707 619 <&tegra_car 111>; /* hda2codec_2x */ 708 620 reset-names = "hda", "hda2hdmi", "hda2codec_2x"; 709 621 status = "disabled"; 622 + }; 623 + 624 + usb@70090000 { 625 + compatible = "nvidia,tegra210-xusb"; 626 + reg = <0x0 0x70090000 0x0 0x8000>, 627 + <0x0 0x70098000 0x0 0x1000>, 628 + <0x0 0x70099000 0x0 0x1000>; 629 + reg-names = "hcd", "fpci", "ipfs"; 630 + 631 + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 632 + <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 633 + 634 + clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>, 635 + <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>, 636 + <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>, 637 + <&tegra_car TEGRA210_CLK_XUSB_SS>, 638 + <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>, 639 + <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>, 640 + <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>, 641 + <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, 642 + <&tegra_car TEGRA210_CLK_PLL_U_480M>, 643 + <&tegra_car TEGRA210_CLK_CLK_M>, 644 + <&tegra_car TEGRA210_CLK_PLL_E>; 645 + clock-names = "xusb_host", "xusb_host_src", 646 + "xusb_falcon_src", "xusb_ss", 647 + "xusb_ss_div2", "xusb_ss_src", 648 + "xusb_hs_src", "xusb_fs_src", 649 + "pll_u_480m", "clk_m", "pll_e"; 650 + resets = <&tegra_car 89>, <&tegra_car 156>, 651 + <&tegra_car 143>; 652 + reset-names = "xusb_host", "xusb_ss", "xusb_src"; 653 + 654 + nvidia,xusb-padctl = <&padctl>; 655 + 656 + status = "disabled"; 657 + }; 658 + 659 + padctl: padctl@7009f000 { 660 + compatible = "nvidia,tegra210-xusb-padctl"; 661 + reg = <0x0 0x7009f000 0x0 0x1000>; 662 + resets = <&tegra_car 142>; 663 + reset-names = "padctl"; 664 + 665 + status = "disabled"; 666 + 667 + pads { 668 + usb2 { 669 + clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>; 670 + clock-names = "trk"; 671 + status = "disabled"; 672 + 673 + lanes { 674 + usb2-0 { 675 + status = "disabled"; 676 + #phy-cells = <0>; 677 + }; 678 + 679 + usb2-1 { 680 + status = "disabled"; 681 + #phy-cells = <0>; 682 + }; 683 + 684 + usb2-2 { 685 + status = "disabled"; 686 + #phy-cells = <0>; 687 + }; 688 + 689 + usb2-3 { 690 + status = "disabled"; 691 + #phy-cells = <0>; 692 + }; 693 + }; 694 + }; 695 + 696 + hsic { 697 + clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>; 698 + clock-names = "trk"; 699 + status = "disabled"; 700 + 701 + lanes { 702 + hsic-0 { 703 + status = "disabled"; 704 + #phy-cells = <0>; 705 + }; 706 + 707 + hsic-1 { 708 + status = "disabled"; 709 + #phy-cells = <0>; 710 + }; 711 + }; 712 + }; 713 + 714 + pcie { 715 + clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 716 + clock-names = "pll"; 717 + resets = <&tegra_car 205>; 718 + reset-names = "phy"; 719 + status = "disabled"; 720 + 721 + lanes { 722 + pcie-0 { 723 + status = "disabled"; 724 + #phy-cells = <0>; 725 + }; 726 + 727 + pcie-1 { 728 + status = "disabled"; 729 + #phy-cells = <0>; 730 + }; 731 + 732 + pcie-2 { 733 + status = "disabled"; 734 + #phy-cells = <0>; 735 + }; 736 + 737 + pcie-3 { 738 + status = "disabled"; 739 + #phy-cells = <0>; 740 + }; 741 + 742 + pcie-4 { 743 + status = "disabled"; 744 + #phy-cells = <0>; 745 + }; 746 + 747 + pcie-5 { 748 + status = "disabled"; 749 + #phy-cells = <0>; 750 + }; 751 + 752 + pcie-6 { 753 + status = "disabled"; 754 + #phy-cells = <0>; 755 + }; 756 + }; 757 + }; 758 + 759 + sata { 760 + clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 761 + clock-names = "pll"; 762 + resets = <&tegra_car 204>; 763 + reset-names = "phy"; 764 + status = "disabled"; 765 + 766 + lanes { 767 + sata-0 { 768 + status = "disabled"; 769 + #phy-cells = <0>; 770 + }; 771 + }; 772 + }; 773 + }; 774 + 775 + ports { 776 + usb2-0 { 777 + status = "disabled"; 778 + }; 779 + 780 + usb2-1 { 781 + status = "disabled"; 782 + }; 783 + 784 + usb2-2 { 785 + status = "disabled"; 786 + }; 787 + 788 + usb2-3 { 789 + status = "disabled"; 790 + }; 791 + 792 + hsic-0 { 793 + status = "disabled"; 794 + }; 795 + 796 + usb3-0 { 797 + status = "disabled"; 798 + }; 799 + 800 + usb3-1 { 801 + status = "disabled"; 802 + }; 803 + 804 + usb3-2 { 805 + status = "disabled"; 806 + }; 807 + 808 + usb3-3 { 809 + status = "disabled"; 810 + }; 811 + }; 710 812 }; 711 813 712 814 sdhci@700b0000 { ··· 949 671 clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>; 950 672 clock-names = "mipi-cal"; 951 673 #nvidia,mipi-calibrate-cells = <1>; 674 + }; 675 + 676 + aconnect@702c0000 { 677 + compatible = "nvidia,tegra210-aconnect"; 678 + clocks = <&tegra_car TEGRA210_CLK_APE>, 679 + <&tegra_car TEGRA210_CLK_APB2APE>; 680 + clock-names = "ape", "apb2ape"; 681 + power-domains = <&pd_audio>; 682 + #address-cells = <1>; 683 + #size-cells = <1>; 684 + ranges = <0x702c0000 0x0 0x702c0000 0x00040000>; 685 + status = "disabled"; 952 686 }; 953 687 954 688 spi@70410000 {
+16
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
··· 33 33 }; 34 34 35 35 soc { 36 + dma@7884000 { 37 + status = "okay"; 38 + }; 39 + 36 40 serial@78af000 { 37 41 label = "LS-UART0"; 38 42 status = "okay"; ··· 141 137 pinctrl-names = "default", "sleep"; 142 138 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 143 139 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 140 + status = "okay"; 141 + }; 142 + 143 + sdhci@07864000 { 144 + vmmc-supply = <&pm8916_l11>; 145 + vqmmc-supply = <&pm8916_l12>; 146 + 147 + pinctrl-names = "default", "sleep"; 148 + pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 149 + pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 150 + 151 + cd-gpios = <&msmgpio 38 0x1>; 144 152 status = "okay"; 145 153 }; 146 154
+75 -3
arch/arm64/boot/dts/qcom/msm8916.dtsi
··· 42 42 #size-cells = <2>; 43 43 ranges; 44 44 45 - reserve_aligned@86000000 { 46 - reg = <0x0 0x86000000 0x0 0x0300000>; 45 + tz-apps@86000000 { 46 + reg = <0x0 0x86000000 0x0 0x300000>; 47 47 no-map; 48 48 }; 49 49 50 50 smem_mem: smem_region@86300000 { 51 - reg = <0x0 0x86300000 0x0 0x0100000>; 51 + reg = <0x0 0x86300000 0x0 0x100000>; 52 + no-map; 53 + }; 54 + 55 + hypervisor@86400000 { 56 + reg = <0x0 0x86400000 0x0 0x100000>; 57 + no-map; 58 + }; 59 + 60 + tz@86500000 { 61 + reg = <0x0 0x86500000 0x0 0x180000>; 62 + no-map; 63 + }; 64 + 65 + reserved@8668000 { 66 + reg = <0x0 0x86680000 0x0 0x80000>; 67 + no-map; 68 + }; 69 + 70 + rmtfs@86700000 { 71 + reg = <0x0 0x86700000 0x0 0xe0000>; 72 + no-map; 73 + }; 74 + 75 + rfsa@867e00000 { 76 + reg = <0x0 0x867e0000 0x0 0x20000>; 77 + no-map; 78 + }; 79 + 80 + mpss@86800000 { 81 + reg = <0x0 0x86800000 0x0 0x2b00000>; 82 + no-map; 83 + }; 84 + 85 + wcnss@89300000 { 86 + reg = <0x0 0x89300000 0x0 0x600000>; 52 87 no-map; 53 88 }; 54 89 }; ··· 97 62 compatible = "arm,cortex-a53", "arm,armv8"; 98 63 reg = <0x0>; 99 64 next-level-cache = <&L2_0>; 65 + enable-method = "psci"; 66 + cpu-idle-states = <&CPU_SPC>; 100 67 }; 101 68 102 69 CPU1: cpu@1 { ··· 106 69 compatible = "arm,cortex-a53", "arm,armv8"; 107 70 reg = <0x1>; 108 71 next-level-cache = <&L2_0>; 72 + enable-method = "psci"; 73 + cpu-idle-states = <&CPU_SPC>; 109 74 }; 110 75 111 76 CPU2: cpu@2 { ··· 115 76 compatible = "arm,cortex-a53", "arm,armv8"; 116 77 reg = <0x2>; 117 78 next-level-cache = <&L2_0>; 79 + enable-method = "psci"; 80 + cpu-idle-states = <&CPU_SPC>; 118 81 }; 119 82 120 83 CPU3: cpu@3 { ··· 124 83 compatible = "arm,cortex-a53", "arm,armv8"; 125 84 reg = <0x3>; 126 85 next-level-cache = <&L2_0>; 86 + enable-method = "psci"; 87 + cpu-idle-states = <&CPU_SPC>; 127 88 }; 128 89 129 90 L2_0: l2-cache { 130 91 compatible = "cache"; 131 92 cache-level = <2>; 132 93 }; 94 + 95 + idle-states { 96 + CPU_SPC: spc { 97 + compatible = "arm,idle-state"; 98 + arm,psci-suspend-param = <0x40000002>; 99 + entry-latency-us = <130>; 100 + exit-latency-us = <150>; 101 + min-residency-us = <2000>; 102 + local-timer-stop; 103 + }; 104 + }; 105 + }; 106 + 107 + psci { 108 + compatible = "arm,psci-1.0"; 109 + method = "smc"; 110 + }; 111 + 112 + pmu { 113 + compatible = "arm,armv8-pmuv3"; 114 + interrupts = <GIC_PPI 7 GIC_CPU_MASK_SIMPLE(4)>; 133 115 }; 134 116 135 117 timer { ··· 184 120 qcom,rpm-msg-ram = <&rpm_msg_ram>; 185 121 186 122 hwlocks = <&tcsr_mutex 3>; 123 + }; 124 + 125 + firmware { 126 + scm { 127 + compatible = "qcom,scm"; 128 + clocks = <&gcc GCC_CRYPTO_CLK>, <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>; 129 + clock-names = "core", "bus", "iface"; 130 + }; 187 131 }; 188 132 189 133 soc: soc {
+303
arch/arm64/boot/dts/qcom/msm8996-pins.dtsi
··· 1 + /* 2 + * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License version 2 and 6 + * only version 2 as published by the Free Software Foundation. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + */ 13 + 14 + &msmgpio { 15 + 16 + blsp1_spi0_default: blsp1_spi0_default { 17 + pinmux { 18 + function = "blsp_spi1"; 19 + pins = "gpio0", "gpio1", "gpio3"; 20 + }; 21 + pinmux_cs { 22 + function = "gpio"; 23 + pins = "gpio2"; 24 + }; 25 + pinconf { 26 + pins = "gpio0", "gpio1", "gpio3"; 27 + drive-strength = <12>; 28 + bias-disable; 29 + }; 30 + pinconf_cs { 31 + pins = "gpio2"; 32 + drive-strength = <16>; 33 + bias-disable; 34 + output-high; 35 + }; 36 + }; 37 + 38 + blsp1_spi0_sleep: blsp1_spi0_sleep { 39 + pinmux { 40 + function = "gpio"; 41 + pins = "gpio0", "gpio1", "gpio2", "gpio3"; 42 + }; 43 + pinconf { 44 + pins = "gpio0", "gpio1", "gpio2", "gpio3"; 45 + drive-strength = <2>; 46 + bias-pull-down; 47 + }; 48 + }; 49 + 50 + blsp1_i2c2_default: blsp1_i2c2_default { 51 + pinmux { 52 + function = "blsp_i2c3"; 53 + pins = "gpio47", "gpio48"; 54 + }; 55 + pinconf { 56 + pins = "gpio47", "gpio48"; 57 + drive-strength = <16>; 58 + bias-disable = <0>; 59 + }; 60 + }; 61 + 62 + blsp1_i2c2_sleep: blsp1_i2c2_sleep { 63 + pinmux { 64 + function = "gpio"; 65 + pins = "gpio47", "gpio48"; 66 + }; 67 + pinconf { 68 + pins = "gpio47", "gpio48"; 69 + drive-strength = <2>; 70 + bias-disable = <0>; 71 + }; 72 + }; 73 + 74 + blsp2_i2c0_default: blsp2_i2c0 { 75 + pinmux { 76 + function = "blsp_i2c7"; 77 + pins = "gpio55", "gpio56"; 78 + }; 79 + pinconf { 80 + pins = "gpio55", "gpio56"; 81 + drive-strength = <16>; 82 + bias-disable; 83 + }; 84 + }; 85 + 86 + blsp2_i2c0_sleep: blsp2_i2c0_sleep { 87 + pinmux { 88 + function = "gpio"; 89 + pins = "gpio55", "gpio56"; 90 + }; 91 + pinconf { 92 + pins = "gpio55", "gpio56"; 93 + drive-strength = <2>; 94 + bias-disable; 95 + }; 96 + }; 97 + 98 + blsp2_uart1_2pins_default: blsp2_uart1_2pins { 99 + pinmux { 100 + function = "blsp_uart8"; 101 + pins = "gpio4", "gpio5"; 102 + }; 103 + pinconf { 104 + pins = "gpio4", "gpio5"; 105 + drive-strength = <16>; 106 + bias-disable; 107 + }; 108 + }; 109 + 110 + blsp2_uart1_2pins_sleep: blsp2_uart1_2pins_sleep { 111 + pinmux { 112 + function = "gpio"; 113 + pins = "gpio4", "gpio5"; 114 + }; 115 + pinconf { 116 + pins = "gpio4", "gpio5"; 117 + drive-strength = <2>; 118 + bias-disable; 119 + }; 120 + }; 121 + 122 + blsp2_uart1_4pins_default: blsp2_uart1_4pins { 123 + pinmux { 124 + function = "blsp_uart8"; 125 + pins = "gpio4", "gpio5", "gpio6", "gpio7"; 126 + }; 127 + 128 + pinconf { 129 + pins = "gpio4", "gpio5", "gpio6", "gpio7"; 130 + drive-strength = <16>; 131 + bias-disable; 132 + }; 133 + }; 134 + 135 + blsp2_uart1_4pins_sleep: blsp2_uart1_4pins_sleep { 136 + pinmux { 137 + function = "gpio"; 138 + pins = "gpio4", "gpio5", "gpio6", "gpio7"; 139 + }; 140 + 141 + pinconf { 142 + pins = "gpio4", "gpiio5", "gpio6", "gpio7"; 143 + drive-strength = <2>; 144 + bias-disable; 145 + }; 146 + }; 147 + 148 + blsp2_i2c1_default: blsp2_i2c1 { 149 + pinmux { 150 + function = "blsp_i2c8"; 151 + pins = "gpio6", "gpio7"; 152 + }; 153 + pinconf { 154 + pins = "gpio6", "gpio7"; 155 + drive-strength = <16>; 156 + bias-disable; 157 + }; 158 + }; 159 + 160 + blsp2_i2c1_sleep: blsp2_i2c1_sleep { 161 + pinmux { 162 + function = "gpio"; 163 + pins = "gpio6", "gpio7"; 164 + }; 165 + pinconf { 166 + pins = "gpio6", "gpio7"; 167 + drive-strength = <2>; 168 + bias-disable; 169 + }; 170 + }; 171 + 172 + blsp2_uart2_2pins_default: blsp2_uart2_2pins { 173 + pinmux { 174 + function = "blsp_uart9"; 175 + pins = "gpio49", "gpio50"; 176 + }; 177 + pinconf { 178 + pins = "gpio49", "gpio50"; 179 + drive-strength = <16>; 180 + bias-disable; 181 + }; 182 + }; 183 + 184 + blsp2_uart2_2pins_sleep: blsp2_uart2_2pins_sleep { 185 + pinmux { 186 + function = "gpio"; 187 + pins = "gpio49", "gpio50"; 188 + }; 189 + pinconf { 190 + pins = "gpio49", "gpio50"; 191 + drive-strength = <2>; 192 + bias-disable; 193 + }; 194 + }; 195 + 196 + blsp2_uart2_4pins_default: blsp2_uart2_4pins { 197 + pinmux { 198 + function = "blsp_uart9"; 199 + pins = "gpio49", "gpio50", "gpio51", "gpio52"; 200 + }; 201 + 202 + pinconf { 203 + pins = "gpio49", "gpio50", "gpio51", "gpio52"; 204 + drive-strength = <16>; 205 + bias-disable; 206 + }; 207 + }; 208 + 209 + blsp2_uart2_4pins_sleep: blsp2_uart2_4pins_sleep { 210 + pinmux { 211 + function = "gpio"; 212 + pins = "gpio49", "gpio50", "gpio51", "gpio52"; 213 + }; 214 + 215 + pinconf { 216 + pins = "gpio49", "gpio50", "gpio51", "gpio52"; 217 + drive-strength = <2>; 218 + bias-disable; 219 + }; 220 + }; 221 + 222 + blsp2_spi5_default: blsp2_spi5_default { 223 + pinmux { 224 + function = "blsp_spi12"; 225 + pins = "gpio85", "gpio86", "gpio88"; 226 + }; 227 + pinmux_cs { 228 + function = "gpio"; 229 + pins = "gpio87"; 230 + }; 231 + pinconf { 232 + pins = "gpio85", "gpio86", "gpio88"; 233 + drive-strength = <12>; 234 + bias-disable; 235 + }; 236 + pinconf_cs { 237 + pins = "gpio87"; 238 + drive-strength = <16>; 239 + bias-disable; 240 + output-high; 241 + }; 242 + }; 243 + 244 + blsp2_spi5_sleep: blsp2_spi5_sleep { 245 + pinmux { 246 + function = "gpio"; 247 + pins = "gpio85", "gpio86", "gpio87", "gpio88"; 248 + }; 249 + pinconf { 250 + pins = "gpio85", "gpio86", "gpio87", "gpio88"; 251 + drive-strength = <2>; 252 + bias-pull-down; 253 + }; 254 + }; 255 + 256 + sdc2_clk_on: sdc2_clk_on { 257 + config { 258 + pins = "sdc2_clk"; 259 + bias-disable; /* NO pull */ 260 + drive-strength = <16>; /* 16 MA */ 261 + }; 262 + }; 263 + 264 + sdc2_clk_off: sdc2_clk_off { 265 + config { 266 + pins = "sdc2_clk"; 267 + bias-disable; /* NO pull */ 268 + drive-strength = <2>; /* 2 MA */ 269 + }; 270 + }; 271 + 272 + sdc2_cmd_on: sdc2_cmd_on { 273 + config { 274 + pins = "sdc2_cmd"; 275 + bias-pull-up; /* pull up */ 276 + drive-strength = <10>; /* 10 MA */ 277 + }; 278 + }; 279 + 280 + sdc2_cmd_off: sdc2_cmd_off { 281 + config { 282 + pins = "sdc2_cmd"; 283 + bias-pull-up; /* pull up */ 284 + drive-strength = <2>; /* 2 MA */ 285 + }; 286 + }; 287 + 288 + sdc2_data_on: sdc2_data_on { 289 + config { 290 + pins = "sdc2_data"; 291 + bias-pull-up; /* pull up */ 292 + drive-strength = <10>; /* 10 MA */ 293 + }; 294 + }; 295 + 296 + sdc2_data_off: sdc2_data_off { 297 + config { 298 + pins = "sdc2_data"; 299 + bias-pull-up; /* pull up */ 300 + drive-strength = <2>; /* 2 MA */ 301 + }; 302 + }; 303 + };
+102 -1
arch/arm64/boot/dts/qcom/msm8996.dtsi
··· 151 151 reg = <0x300000 0x90000>; 152 152 }; 153 153 154 + blsp1_spi0: spi@07575000 { 155 + compatible = "qcom,spi-qup-v2.2.1"; 156 + reg = <0x07575000 0x600>; 157 + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 158 + clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 159 + <&gcc GCC_BLSP1_AHB_CLK>; 160 + clock-names = "core", "iface"; 161 + pinctrl-names = "default", "sleep"; 162 + pinctrl-0 = <&blsp1_spi0_default>; 163 + pinctrl-1 = <&blsp1_spi0_sleep>; 164 + #address-cells = <1>; 165 + #size-cells = <0>; 166 + status = "disabled"; 167 + }; 168 + 169 + blsp2_i2c0: i2c@075b5000 { 170 + compatible = "qcom,i2c-qup-v2.2.1"; 171 + reg = <0x075b5000 0x1000>; 172 + interrupts = <GIC_SPI 101 0>; 173 + clocks = <&gcc GCC_BLSP2_AHB_CLK>, 174 + <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>; 175 + clock-names = "iface", "core"; 176 + pinctrl-names = "default", "sleep"; 177 + pinctrl-0 = <&blsp2_i2c0_default>; 178 + pinctrl-1 = <&blsp2_i2c0_sleep>; 179 + #address-cells = <1>; 180 + #size-cells = <0>; 181 + status = "disabled"; 182 + }; 183 + 154 184 blsp2_uart1: serial@75b0000 { 155 185 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 156 186 reg = <0x75b0000 0x1000>; ··· 191 161 status = "disabled"; 192 162 }; 193 163 194 - pinctrl@1010000 { 164 + blsp2_i2c1: i2c@075b6000 { 165 + compatible = "qcom,i2c-qup-v2.2.1"; 166 + reg = <0x075b6000 0x1000>; 167 + interrupts = <GIC_SPI 102 0>; 168 + clocks = <&gcc GCC_BLSP2_AHB_CLK>, 169 + <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>; 170 + clock-names = "iface", "core"; 171 + pinctrl-names = "default", "sleep"; 172 + pinctrl-0 = <&blsp2_i2c1_default>; 173 + pinctrl-1 = <&blsp2_i2c1_sleep>; 174 + #address-cells = <1>; 175 + #size-cells = <0>; 176 + status = "disabled"; 177 + }; 178 + 179 + blsp2_uart2: serial@75b1000 { 180 + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 181 + reg = <0x075b1000 0x1000>; 182 + interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 183 + clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>, 184 + <&gcc GCC_BLSP2_AHB_CLK>; 185 + clock-names = "core", "iface"; 186 + status = "disabled"; 187 + }; 188 + 189 + blsp1_i2c2: i2c@07577000 { 190 + compatible = "qcom,i2c-qup-v2.2.1"; 191 + reg = <0x07577000 0x1000>; 192 + interrupts = <GIC_SPI 97 0>; 193 + clocks = <&gcc GCC_BLSP1_AHB_CLK>, 194 + <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 195 + clock-names = "iface", "core"; 196 + pinctrl-names = "default", "sleep"; 197 + pinctrl-0 = <&blsp1_i2c2_default>; 198 + pinctrl-1 = <&blsp1_i2c2_sleep>; 199 + #address-cells = <1>; 200 + #size-cells = <0>; 201 + status = "disabled"; 202 + }; 203 + 204 + blsp2_spi5: spi@075ba000{ 205 + compatible = "qcom,spi-qup-v2.2.1"; 206 + reg = <0x075ba000 0x600>; 207 + interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 208 + clocks = <&gcc GCC_BLSP2_QUP5_SPI_APPS_CLK>, 209 + <&gcc GCC_BLSP2_AHB_CLK>; 210 + clock-names = "core", "iface"; 211 + pinctrl-names = "default", "sleep"; 212 + pinctrl-0 = <&blsp2_spi5_default>; 213 + pinctrl-1 = <&blsp2_spi5_sleep>; 214 + #address-cells = <1>; 215 + #size-cells = <0>; 216 + status = "disabled"; 217 + }; 218 + 219 + sdhc2: sdhci@74a4900 { 220 + status = "disabled"; 221 + compatible = "qcom,sdhci-msm-v4"; 222 + reg = <0x74a4900 0x314>, <0x74a4000 0x800>; 223 + reg-names = "hc_mem", "core_mem"; 224 + 225 + interrupts = <0 125 0>, <0 221 0>; 226 + interrupt-names = "hc_irq", "pwr_irq"; 227 + 228 + clock-names = "iface", "core"; 229 + clocks = <&gcc GCC_SDCC2_AHB_CLK>, 230 + <&gcc GCC_SDCC2_APPS_CLK>; 231 + bus-width = <4>; 232 + }; 233 + 234 + msmgpio: pinctrl@1010000 { 195 235 compatible = "qcom,msm8996-pinctrl"; 196 236 reg = <0x01010000 0x300000>; 197 237 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; ··· 367 267 }; 368 268 }; 369 269 }; 270 + #include "msm8996-pins.dtsi"
+1
arch/arm64/boot/dts/renesas/Makefile
··· 1 1 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb 2 + dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb 2 3 3 4 always := $(dtb-y) 4 5 clean-files := *.dtb
+10 -4
arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
··· 62 62 clock-frequency = <24576000>; 63 63 }; 64 64 65 - vcc_sdhi0: regulator@1 { 65 + vcc_sdhi0: regulator-vcc-sdhi0 { 66 66 compatible = "regulator-fixed"; 67 67 68 68 regulator-name = "SDHI0 Vcc"; ··· 73 73 enable-active-high; 74 74 }; 75 75 76 - vccq_sdhi0: regulator@2 { 76 + vccq_sdhi0: regulator-vccq-sdhi0 { 77 77 compatible = "regulator-gpio"; 78 78 79 79 regulator-name = "SDHI0 VccQ"; ··· 86 86 1800000 0>; 87 87 }; 88 88 89 - vcc_sdhi3: regulator@3 { 89 + vcc_sdhi3: regulator-vcc-sdhi3 { 90 90 compatible = "regulator-fixed"; 91 91 92 92 regulator-name = "SDHI3 Vcc"; ··· 97 97 enable-active-high; 98 98 }; 99 99 100 - vccq_sdhi3: regulator@4 { 100 + vccq_sdhi3: regulator-vccq-sdhi3 { 101 101 compatible = "regulator-gpio"; 102 102 103 103 regulator-name = "SDHI3 VccQ"; ··· 208 208 pinctrl-0 = <&scif1_pins>; 209 209 pinctrl-names = "default"; 210 210 211 + uart-has-rtscts; 211 212 status = "okay"; 212 213 }; 213 214 ··· 328 327 329 328 &ssi1 { 330 329 shared-pin; 330 + }; 331 + 332 + &wdt0 { 333 + timeout-sec = <60>; 334 + status = "okay"; 331 335 }; 332 336 333 337 &audio_clk_a {
+87 -37
arch/arm64/boot/dts/renesas/r8a7795.dtsi
··· 53 53 next-level-cache = <&L2_CA57>; 54 54 enable-method = "psci"; 55 55 }; 56 + 56 57 a57_2: cpu@2 { 57 58 compatible = "arm,cortex-a57","arm,armv8"; 58 59 reg = <0x2>; ··· 62 61 next-level-cache = <&L2_CA57>; 63 62 enable-method = "psci"; 64 63 }; 64 + 65 65 a57_3: cpu@3 { 66 66 compatible = "arm,cortex-a57","arm,armv8"; 67 67 reg = <0x3>; ··· 71 69 next-level-cache = <&L2_CA57>; 72 70 enable-method = "psci"; 73 71 }; 74 - }; 75 72 76 - L2_CA57: cache-controller@0 { 77 - compatible = "cache"; 78 - power-domains = <&sysc R8A7795_PD_CA57_SCU>; 79 - cache-unified; 80 - cache-level = <2>; 81 - }; 73 + L2_CA57: cache-controller@0 { 74 + compatible = "cache"; 75 + reg = <0>; 76 + power-domains = <&sysc R8A7795_PD_CA57_SCU>; 77 + cache-unified; 78 + cache-level = <2>; 79 + }; 82 80 83 - L2_CA53: cache-controller@1 { 84 - compatible = "cache"; 85 - power-domains = <&sysc R8A7795_PD_CA53_SCU>; 86 - cache-unified; 87 - cache-level = <2>; 81 + L2_CA53: cache-controller@100 { 82 + compatible = "cache"; 83 + reg = <0x100>; 84 + power-domains = <&sysc R8A7795_PD_CA53_SCU>; 85 + cache-unified; 86 + cache-level = <2>; 87 + }; 88 88 }; 89 89 90 90 extal_clk: extal { ··· 155 151 #size-cells = <2>; 156 152 ranges; 157 153 158 - gic: interrupt-controller@0xf1010000 { 154 + gic: interrupt-controller@f1010000 { 159 155 compatible = "arm,gic-400"; 160 156 #interrupt-cells = <3>; 161 157 #address-cells = <0>; 162 158 interrupt-controller; 163 159 reg = <0x0 0xf1010000 0 0x1000>, 164 - <0x0 0xf1020000 0 0x2000>, 160 + <0x0 0xf1020000 0 0x20000>, 165 161 <0x0 0xf1040000 0 0x20000>, 166 - <0x0 0xf1060000 0 0x2000>; 162 + <0x0 0xf1060000 0 0x20000>; 167 163 interrupts = <GIC_PPI 9 168 164 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 165 + }; 166 + 167 + wdt0: watchdog@e6020000 { 168 + compatible = "renesas,r8a7795-wdt", "renesas,rcar-gen3-wdt"; 169 + reg = <0 0xe6020000 0 0x0c>; 170 + clocks = <&cpg CPG_MOD 402>; 171 + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 172 + status = "disabled"; 169 173 }; 170 174 171 175 gpio0: gpio@e6050000 { ··· 583 571 status = "disabled"; 584 572 }; 585 573 574 + canfd: can@e66c0000 { 575 + compatible = "renesas,r8a7795-canfd", 576 + "renesas,rcar-gen3-canfd"; 577 + reg = <0 0xe66c0000 0 0x8000>; 578 + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 579 + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 580 + clocks = <&cpg CPG_MOD 914>, 581 + <&cpg CPG_CORE R8A7795_CLK_CANFD>, 582 + <&can_clk>; 583 + clock-names = "fck", "canfd", "can_clk"; 584 + assigned-clocks = <&cpg CPG_CORE R8A7795_CLK_CANFD>; 585 + assigned-clock-rates = <40000000>; 586 + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 587 + status = "disabled"; 588 + 589 + channel0 { 590 + status = "disabled"; 591 + }; 592 + 593 + channel1 { 594 + status = "disabled"; 595 + }; 596 + }; 597 + 586 598 hscif0: serial@e6540000 { 587 599 compatible = "renesas,hscif-r8a7795", 588 600 "renesas,rcar-gen3-hscif", ··· 785 749 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 786 750 clocks = <&cpg CPG_MOD 931>; 787 751 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 752 + dmas = <&dmac1 0x91>, <&dmac1 0x90>; 753 + dma-names = "tx", "rx"; 788 754 i2c-scl-internal-delay-ns = <110>; 789 755 status = "disabled"; 790 756 }; ··· 799 761 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 800 762 clocks = <&cpg CPG_MOD 930>; 801 763 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 764 + dmas = <&dmac1 0x93>, <&dmac1 0x92>; 765 + dma-names = "tx", "rx"; 802 766 i2c-scl-internal-delay-ns = <6>; 803 767 status = "disabled"; 804 768 }; ··· 813 773 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 814 774 clocks = <&cpg CPG_MOD 929>; 815 775 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 776 + dmas = <&dmac1 0x95>, <&dmac1 0x94>; 777 + dma-names = "tx", "rx"; 816 778 i2c-scl-internal-delay-ns = <6>; 817 779 status = "disabled"; 818 780 }; ··· 827 785 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 828 786 clocks = <&cpg CPG_MOD 928>; 829 787 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 788 + dmas = <&dmac0 0x97>, <&dmac0 0x96>; 789 + dma-names = "tx", "rx"; 830 790 i2c-scl-internal-delay-ns = <110>; 831 791 status = "disabled"; 832 792 }; ··· 841 797 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 842 798 clocks = <&cpg CPG_MOD 927>; 843 799 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 800 + dmas = <&dmac0 0x99>, <&dmac0 0x98>; 801 + dma-names = "tx", "rx"; 844 802 i2c-scl-internal-delay-ns = <110>; 845 803 status = "disabled"; 846 804 }; ··· 855 809 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 856 810 clocks = <&cpg CPG_MOD 919>; 857 811 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 812 + dmas = <&dmac0 0x9b>, <&dmac0 0x9a>; 813 + dma-names = "tx", "rx"; 858 814 i2c-scl-internal-delay-ns = <110>; 859 815 status = "disabled"; 860 816 }; ··· 869 821 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 870 822 clocks = <&cpg CPG_MOD 918>; 871 823 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 824 + dmas = <&dmac0 0x9d>, <&dmac0 0x9c>; 825 + dma-names = "tx", "rx"; 872 826 i2c-scl-internal-delay-ns = <6>; 873 827 status = "disabled"; 874 828 }; ··· 924 874 status = "disabled"; 925 875 926 876 rcar_sound,dvc { 927 - dvc0: dvc@0 { 877 + dvc0: dvc-0 { 928 878 dmas = <&audma0 0xbc>; 929 879 dma-names = "tx"; 930 880 }; 931 - dvc1: dvc@1 { 881 + dvc1: dvc-1 { 932 882 dmas = <&audma0 0xbe>; 933 883 dma-names = "tx"; 934 884 }; 935 885 }; 936 886 937 887 rcar_sound,src { 938 - src0: src@0 { 888 + src0: src-0 { 939 889 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; 940 890 dmas = <&audma0 0x85>, <&audma1 0x9a>; 941 891 dma-names = "rx", "tx"; 942 892 }; 943 - src1: src@1 { 893 + src1: src-1 { 944 894 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 945 895 dmas = <&audma0 0x87>, <&audma1 0x9c>; 946 896 dma-names = "rx", "tx"; 947 897 }; 948 - src2: src@2 { 898 + src2: src-2 { 949 899 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 950 900 dmas = <&audma0 0x89>, <&audma1 0x9e>; 951 901 dma-names = "rx", "tx"; 952 902 }; 953 - src3: src@3 { 903 + src3: src-3 { 954 904 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 955 905 dmas = <&audma0 0x8b>, <&audma1 0xa0>; 956 906 dma-names = "rx", "tx"; 957 907 }; 958 - src4: src@4 { 908 + src4: src-4 { 959 909 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 960 910 dmas = <&audma0 0x8d>, <&audma1 0xb0>; 961 911 dma-names = "rx", "tx"; 962 912 }; 963 - src5: src@5 { 913 + src5: src-5 { 964 914 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 965 915 dmas = <&audma0 0x8f>, <&audma1 0xb2>; 966 916 dma-names = "rx", "tx"; 967 917 }; 968 - src6: src@6 { 918 + src6: src-6 { 969 919 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 970 920 dmas = <&audma0 0x91>, <&audma1 0xb4>; 971 921 dma-names = "rx", "tx"; 972 922 }; 973 - src7: src@7 { 923 + src7: src-7 { 974 924 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>; 975 925 dmas = <&audma0 0x93>, <&audma1 0xb6>; 976 926 dma-names = "rx", "tx"; 977 927 }; 978 - src8: src@8 { 928 + src8: src-8 { 979 929 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>; 980 930 dmas = <&audma0 0x95>, <&audma1 0xb8>; 981 931 dma-names = "rx", "tx"; 982 932 }; 983 - src9: src@9 { 933 + src9: src-9 { 984 934 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>; 985 935 dmas = <&audma0 0x97>, <&audma1 0xba>; 986 936 dma-names = "rx", "tx"; ··· 988 938 }; 989 939 990 940 rcar_sound,ssi { 991 - ssi0: ssi@0 { 941 + ssi0: ssi-0 { 992 942 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 993 943 dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; 994 944 dma-names = "rx", "tx", "rxu", "txu"; 995 945 }; 996 - ssi1: ssi@1 { 946 + ssi1: ssi-1 { 997 947 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 998 948 dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>; 999 949 dma-names = "rx", "tx", "rxu", "txu"; 1000 950 }; 1001 - ssi2: ssi@2 { 951 + ssi2: ssi-2 { 1002 952 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>; 1003 953 dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>; 1004 954 dma-names = "rx", "tx", "rxu", "txu"; 1005 955 }; 1006 - ssi3: ssi@3 { 956 + ssi3: ssi-3 { 1007 957 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 1008 958 dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>; 1009 959 dma-names = "rx", "tx", "rxu", "txu"; 1010 960 }; 1011 - ssi4: ssi@4 { 961 + ssi4: ssi-4 { 1012 962 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>; 1013 963 dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>; 1014 964 dma-names = "rx", "tx", "rxu", "txu"; 1015 965 }; 1016 - ssi5: ssi@5 { 966 + ssi5: ssi-5 { 1017 967 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>; 1018 968 dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>; 1019 969 dma-names = "rx", "tx", "rxu", "txu"; 1020 970 }; 1021 - ssi6: ssi@6 { 971 + ssi6: ssi-6 { 1022 972 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>; 1023 973 dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>; 1024 974 dma-names = "rx", "tx", "rxu", "txu"; 1025 975 }; 1026 - ssi7: ssi@7 { 976 + ssi7: ssi-7 { 1027 977 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>; 1028 978 dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>; 1029 979 dma-names = "rx", "tx", "rxu", "txu"; 1030 980 }; 1031 - ssi8: ssi@8 { 981 + ssi8: ssi-8 { 1032 982 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>; 1033 983 dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>; 1034 984 dma-names = "rx", "tx", "rxu", "txu"; 1035 985 }; 1036 - ssi9: ssi@9 { 986 + ssi9: ssi-9 { 1037 987 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>; 1038 988 dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>; 1039 989 dma-names = "rx", "tx", "rxu", "txu";
+50
arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts
··· 1 + /* 2 + * Device Tree Source for the Salvator-X board 3 + * 4 + * Copyright (C) 2016 Renesas Electronics Corp. 5 + * 6 + * This file is licensed under the terms of the GNU General Public License 7 + * version 2. This program is licensed "as is" without any warranty of any 8 + * kind, whether express or implied. 9 + */ 10 + 11 + /dts-v1/; 12 + #include "r8a7796.dtsi" 13 + 14 + / { 15 + model = "Renesas Salvator-X board based on r8a7796"; 16 + compatible = "renesas,salvator-x", "renesas,r8a7796"; 17 + 18 + aliases { 19 + serial0 = &scif2; 20 + }; 21 + 22 + chosen { 23 + bootargs = "ignore_loglevel"; 24 + stdout-path = "serial0:115200n8"; 25 + }; 26 + 27 + memory@48000000 { 28 + device_type = "memory"; 29 + /* first 128MB is reserved for secure area. */ 30 + reg = <0x0 0x48000000 0x0 0x78000000>; 31 + }; 32 + }; 33 + 34 + &extal_clk { 35 + clock-frequency = <16666666>; 36 + }; 37 + 38 + &scif2 { 39 + status = "okay"; 40 + }; 41 + 42 + &scif_clk { 43 + clock-frequency = <14745600>; 44 + status = "okay"; 45 + }; 46 + 47 + &wdt0 { 48 + timeout-sec = <60>; 49 + status = "okay"; 50 + };
+138
arch/arm64/boot/dts/renesas/r8a7796.dtsi
··· 1 + /* 2 + * Device Tree Source for the r8a7796 SoC 3 + * 4 + * Copyright (C) 2016 Renesas Electronics Corp. 5 + * 6 + * This file is licensed under the terms of the GNU General Public License 7 + * version 2. This program is licensed "as is" without any warranty of any 8 + * kind, whether express or implied. 9 + */ 10 + 11 + #include <dt-bindings/clock/r8a7796-cpg-mssr.h> 12 + #include <dt-bindings/interrupt-controller/arm-gic.h> 13 + #include <dt-bindings/power/r8a7796-sysc.h> 14 + 15 + / { 16 + compatible = "renesas,r8a7796"; 17 + #address-cells = <2>; 18 + #size-cells = <2>; 19 + 20 + psci { 21 + compatible = "arm,psci-0.2"; 22 + method = "smc"; 23 + }; 24 + 25 + cpus { 26 + #address-cells = <1>; 27 + #size-cells = <0>; 28 + 29 + /* 1 core only at this point */ 30 + a57_0: cpu@0 { 31 + compatible = "arm,cortex-a57", "arm,armv8"; 32 + reg = <0x0>; 33 + device_type = "cpu"; 34 + power-domains = <&sysc R8A7796_PD_CA57_CPU0>; 35 + next-level-cache = <&L2_CA57>; 36 + enable-method = "psci"; 37 + }; 38 + 39 + L2_CA57: cache-controller@0 { 40 + compatible = "cache"; 41 + reg = <0>; 42 + power-domains = <&sysc R8A7796_PD_CA57_SCU>; 43 + cache-unified; 44 + cache-level = <2>; 45 + }; 46 + }; 47 + 48 + extal_clk: extal { 49 + compatible = "fixed-clock"; 50 + #clock-cells = <0>; 51 + /* This value must be overridden by the board */ 52 + clock-frequency = <0>; 53 + }; 54 + 55 + extalr_clk: extalr { 56 + compatible = "fixed-clock"; 57 + #clock-cells = <0>; 58 + /* This value must be overridden by the board */ 59 + clock-frequency = <0>; 60 + }; 61 + 62 + /* External SCIF clock - to be overridden by boards that provide it */ 63 + scif_clk: scif { 64 + compatible = "fixed-clock"; 65 + #clock-cells = <0>; 66 + clock-frequency = <0>; 67 + }; 68 + 69 + soc { 70 + compatible = "simple-bus"; 71 + interrupt-parent = <&gic>; 72 + #address-cells = <2>; 73 + #size-cells = <2>; 74 + ranges; 75 + 76 + gic: interrupt-controller@f1010000 { 77 + compatible = "arm,gic-400"; 78 + #interrupt-cells = <3>; 79 + #address-cells = <0>; 80 + interrupt-controller; 81 + reg = <0x0 0xf1010000 0 0x1000>, 82 + <0x0 0xf1020000 0 0x20000>, 83 + <0x0 0xf1040000 0 0x20000>, 84 + <0x0 0xf1060000 0 0x20000>; 85 + interrupts = <GIC_PPI 9 86 + (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 87 + }; 88 + 89 + timer { 90 + compatible = "arm,armv8-timer"; 91 + interrupts = <GIC_PPI 13 92 + (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 93 + <GIC_PPI 14 94 + (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 95 + <GIC_PPI 11 96 + (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 97 + <GIC_PPI 10 98 + (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 99 + }; 100 + 101 + wdt0: watchdog@e6020000 { 102 + compatible = "renesas,r8a7796-wdt", 103 + "renesas,rcar-gen3-wdt"; 104 + reg = <0 0xe6020000 0 0x0c>; 105 + clocks = <&cpg CPG_MOD 402>; 106 + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 107 + status = "disabled"; 108 + }; 109 + 110 + cpg: clock-controller@e6150000 { 111 + compatible = "renesas,r8a7796-cpg-mssr"; 112 + reg = <0 0xe6150000 0 0x1000>; 113 + clocks = <&extal_clk>, <&extalr_clk>; 114 + clock-names = "extal", "extalr"; 115 + #clock-cells = <2>; 116 + #power-domain-cells = <0>; 117 + }; 118 + 119 + sysc: system-controller@e6180000 { 120 + compatible = "renesas,r8a7796-sysc"; 121 + reg = <0 0xe6180000 0 0x0400>; 122 + #power-domain-cells = <1>; 123 + }; 124 + 125 + scif2: serial@e6e88000 { 126 + compatible = "renesas,scif-r8a7796", 127 + "renesas,rcar-gen3-scif", "renesas,scif"; 128 + reg = <0 0xe6e88000 0 64>; 129 + interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 130 + clocks = <&cpg CPG_MOD 310>, 131 + <&cpg CPG_CORE R8A7796_CLK_S3D1>, 132 + <&scif_clk>; 133 + clock-names = "fck", "brg_int", "scif_clk"; 134 + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 135 + status = "disabled"; 136 + }; 137 + }; 138 + };
+16
arch/arm64/boot/dts/rockchip/rk3368-r88.dts
··· 236 236 }; 237 237 }; 238 238 239 + &io_domains { 240 + status = "ok"; 241 + 242 + audio-supply = <&vcc_io>; 243 + gpio30-supply = <&vcc_io>; 244 + gpio1830-supply = <&vcc_io>; 245 + wifi-supply = <&vccio_wl>; 246 + }; 247 + 239 248 &sdio0 { 240 249 assigned-clocks = <&cru SCLK_SDIO0>; 241 250 assigned-clock-parents = <&cru PLL_CPLL>; ··· 336 327 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_none>; 337 328 }; 338 329 }; 330 + }; 331 + 332 + &pmu_io_domains { 333 + status = "okay"; 334 + 335 + pmu-supply = <&vcc_io>; 336 + vop-supply = <&vcc_io>; 339 337 }; 340 338 341 339 &saradc {
+13 -3
arch/arm64/boot/dts/rockchip/rk3368.dtsi
··· 632 632 }; 633 633 634 634 pmugrf: syscon@ff738000 { 635 - compatible = "rockchip,rk3368-pmugrf", "syscon"; 635 + compatible = "rockchip,rk3368-pmugrf", "syscon", "simple-mfd"; 636 636 reg = <0x0 0xff738000 0x0 0x1000>; 637 + 638 + pmu_io_domains: io-domains { 639 + compatible = "rockchip,rk3368-pmu-io-voltage-domain"; 640 + status = "disabled"; 641 + }; 637 642 }; 638 643 639 644 cru: clock-controller@ff760000 { ··· 650 645 }; 651 646 652 647 grf: syscon@ff770000 { 653 - compatible = "rockchip,rk3368-grf", "syscon"; 648 + compatible = "rockchip,rk3368-grf", "syscon", "simple-mfd"; 654 649 reg = <0x0 0xff770000 0x0 0x1000>; 650 + 651 + io_domains: io-domains { 652 + compatible = "rockchip,rk3368-io-voltage-domain"; 653 + status = "disabled"; 654 + }; 655 655 }; 656 656 657 657 wdt: watchdog@ff800000 { ··· 680 670 #address-cells = <0>; 681 671 682 672 reg = <0x0 0xffb71000 0x0 0x1000>, 683 - <0x0 0xffb72000 0x0 0x1000>, 673 + <0x0 0xffb72000 0x0 0x2000>, 684 674 <0x0 0xffb74000 0x0 0x2000>, 685 675 <0x0 0xffb76000 0x0 0x2000>; 686 676 interrupts = <GIC_PPI 9
+12
arch/arm64/boot/dts/rockchip/rk3399-evb.dts
··· 77 77 }; 78 78 }; 79 79 80 + &emmc_phy { 81 + status = "okay"; 82 + }; 83 + 80 84 &pwm0 { 81 85 status = "okay"; 82 86 }; ··· 90 86 }; 91 87 92 88 &pwm3 { 89 + status = "okay"; 90 + }; 91 + 92 + &sdhci { 93 + bus-width = <8>; 94 + mmc-hs400-1_8v; 95 + mmc-hs400-enhanced-strobe; 96 + non-removable; 93 97 status = "okay"; 94 98 }; 95 99
+311 -2
arch/arm64/boot/dts/rockchip/rk3399.dtsi
··· 45 45 #include <dt-bindings/interrupt-controller/arm-gic.h> 46 46 #include <dt-bindings/interrupt-controller/irq.h> 47 47 #include <dt-bindings/pinctrl/rockchip.h> 48 + #include <dt-bindings/thermal/thermal.h> 48 49 49 50 / { 50 51 compatible = "rockchip,rk3399"; ··· 55 54 #size-cells = <2>; 56 55 57 56 aliases { 57 + i2c0 = &i2c0; 58 + i2c1 = &i2c1; 59 + i2c2 = &i2c2; 60 + i2c3 = &i2c3; 61 + i2c4 = &i2c4; 62 + i2c5 = &i2c5; 63 + i2c6 = &i2c6; 64 + i2c7 = &i2c7; 65 + i2c8 = &i2c8; 58 66 serial0 = &uart0; 59 67 serial1 = &uart1; 60 68 serial2 = &uart2; ··· 225 215 status = "disabled"; 226 216 }; 227 217 218 + sdhci: sdhci@fe330000 { 219 + compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1"; 220 + reg = <0x0 0xfe330000 0x0 0x10000>; 221 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 222 + arasan,soc-ctl-syscon = <&grf>; 223 + assigned-clocks = <&cru SCLK_EMMC>; 224 + assigned-clock-rates = <200000000>; 225 + clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>; 226 + clock-names = "clk_xin", "clk_ahb"; 227 + clock-output-names = "emmc_cardclock"; 228 + #clock-cells = <0>; 229 + phys = <&emmc_phy>; 230 + phy-names = "phy_arasan"; 231 + status = "disabled"; 232 + }; 233 + 228 234 usb_host0_ehci: usb@fe380000 { 229 235 compatible = "generic-ehci"; 230 236 reg = <0x0 0xfe380000 0x0 0x20000>; ··· 296 270 msi-controller; 297 271 reg = <0x0 0xfee20000 0x0 0x20000>; 298 272 }; 273 + }; 274 + 275 + i2c1: i2c@ff110000 { 276 + compatible = "rockchip,rk3399-i2c"; 277 + reg = <0x0 0xff110000 0x0 0x1000>; 278 + assigned-clocks = <&cru SCLK_I2C1>; 279 + assigned-clock-rates = <200000000>; 280 + clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>; 281 + clock-names = "i2c", "pclk"; 282 + interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 283 + pinctrl-names = "default"; 284 + pinctrl-0 = <&i2c1_xfer>; 285 + #address-cells = <1>; 286 + #size-cells = <0>; 287 + status = "disabled"; 288 + }; 289 + 290 + i2c2: i2c@ff120000 { 291 + compatible = "rockchip,rk3399-i2c"; 292 + reg = <0x0 0xff120000 0x0 0x1000>; 293 + assigned-clocks = <&cru SCLK_I2C2>; 294 + assigned-clock-rates = <200000000>; 295 + clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>; 296 + clock-names = "i2c", "pclk"; 297 + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 298 + pinctrl-names = "default"; 299 + pinctrl-0 = <&i2c2_xfer>; 300 + #address-cells = <1>; 301 + #size-cells = <0>; 302 + status = "disabled"; 303 + }; 304 + 305 + i2c3: i2c@ff130000 { 306 + compatible = "rockchip,rk3399-i2c"; 307 + reg = <0x0 0xff130000 0x0 0x1000>; 308 + assigned-clocks = <&cru SCLK_I2C3>; 309 + assigned-clock-rates = <200000000>; 310 + clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>; 311 + clock-names = "i2c", "pclk"; 312 + interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 313 + pinctrl-names = "default"; 314 + pinctrl-0 = <&i2c3_xfer>; 315 + #address-cells = <1>; 316 + #size-cells = <0>; 317 + status = "disabled"; 318 + }; 319 + 320 + i2c5: i2c@ff140000 { 321 + compatible = "rockchip,rk3399-i2c"; 322 + reg = <0x0 0xff140000 0x0 0x1000>; 323 + assigned-clocks = <&cru SCLK_I2C5>; 324 + assigned-clock-rates = <200000000>; 325 + clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>; 326 + clock-names = "i2c", "pclk"; 327 + interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 328 + pinctrl-names = "default"; 329 + pinctrl-0 = <&i2c5_xfer>; 330 + #address-cells = <1>; 331 + #size-cells = <0>; 332 + status = "disabled"; 333 + }; 334 + 335 + i2c6: i2c@ff150000 { 336 + compatible = "rockchip,rk3399-i2c"; 337 + reg = <0x0 0xff150000 0x0 0x1000>; 338 + assigned-clocks = <&cru SCLK_I2C6>; 339 + assigned-clock-rates = <200000000>; 340 + clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>; 341 + clock-names = "i2c", "pclk"; 342 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 343 + pinctrl-names = "default"; 344 + pinctrl-0 = <&i2c6_xfer>; 345 + #address-cells = <1>; 346 + #size-cells = <0>; 347 + status = "disabled"; 348 + }; 349 + 350 + i2c7: i2c@ff160000 { 351 + compatible = "rockchip,rk3399-i2c"; 352 + reg = <0x0 0xff160000 0x0 0x1000>; 353 + assigned-clocks = <&cru SCLK_I2C7>; 354 + assigned-clock-rates = <200000000>; 355 + clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>; 356 + clock-names = "i2c", "pclk"; 357 + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 358 + pinctrl-names = "default"; 359 + pinctrl-0 = <&i2c7_xfer>; 360 + #address-cells = <1>; 361 + #size-cells = <0>; 362 + status = "disabled"; 299 363 }; 300 364 301 365 uart0: serial@ff180000 { ··· 505 389 status = "disabled"; 506 390 }; 507 391 392 + thermal-zones { 393 + cpu_thermal: cpu { 394 + polling-delay-passive = <100>; 395 + polling-delay = <1000>; 396 + 397 + thermal-sensors = <&tsadc 0>; 398 + 399 + trips { 400 + cpu_alert0: cpu_alert0 { 401 + temperature = <70000>; 402 + hysteresis = <2000>; 403 + type = "passive"; 404 + }; 405 + cpu_alert1: cpu_alert1 { 406 + temperature = <75000>; 407 + hysteresis = <2000>; 408 + type = "passive"; 409 + }; 410 + cpu_crit: cpu_crit { 411 + temperature = <95000>; 412 + hysteresis = <2000>; 413 + type = "critical"; 414 + }; 415 + }; 416 + 417 + cooling-maps { 418 + map0 { 419 + trip = <&cpu_alert0>; 420 + cooling-device = 421 + <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 422 + }; 423 + map1 { 424 + trip = <&cpu_alert1>; 425 + cooling-device = 426 + <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 427 + <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 428 + }; 429 + }; 430 + }; 431 + 432 + gpu_thermal: gpu { 433 + polling-delay-passive = <100>; 434 + polling-delay = <1000>; 435 + 436 + thermal-sensors = <&tsadc 1>; 437 + 438 + trips { 439 + gpu_alert0: gpu_alert0 { 440 + temperature = <75000>; 441 + hysteresis = <2000>; 442 + type = "passive"; 443 + }; 444 + gpu_crit: gpu_crit { 445 + temperature = <95000>; 446 + hysteresis = <2000>; 447 + type = "critical"; 448 + }; 449 + }; 450 + 451 + cooling-maps { 452 + map0 { 453 + trip = <&gpu_alert0>; 454 + cooling-device = 455 + <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 456 + }; 457 + }; 458 + }; 459 + }; 460 + 461 + tsadc: tsadc@ff260000 { 462 + compatible = "rockchip,rk3399-tsadc"; 463 + reg = <0x0 0xff260000 0x0 0x100>; 464 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 465 + assigned-clocks = <&cru SCLK_TSADC>; 466 + assigned-clock-rates = <750000>; 467 + clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 468 + clock-names = "tsadc", "apb_pclk"; 469 + resets = <&cru SRST_TSADC>; 470 + reset-names = "tsadc-apb"; 471 + rockchip,grf = <&grf>; 472 + rockchip,hw-tshut-temp = <95000>; 473 + pinctrl-names = "init", "default", "sleep"; 474 + pinctrl-0 = <&otp_gpio>; 475 + pinctrl-1 = <&otp_out>; 476 + pinctrl-2 = <&otp_gpio>; 477 + #thermal-sensor-cells = <1>; 478 + status = "disabled"; 479 + }; 480 + 508 481 pmugrf: syscon@ff320000 { 509 - compatible = "rockchip,rk3399-pmugrf", "syscon"; 482 + compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd"; 510 483 reg = <0x0 0xff320000 0x0 0x1000>; 484 + #address-cells = <1>; 485 + #size-cells = <1>; 486 + 487 + pmu_io_domains: io-domains { 488 + compatible = "rockchip,rk3399-pmu-io-voltage-domain"; 489 + status = "disabled"; 490 + }; 511 491 }; 512 492 513 493 spi3: spi@ff350000 { ··· 629 417 reg-io-width = <4>; 630 418 pinctrl-names = "default"; 631 419 pinctrl-0 = <&uart4_xfer>; 420 + status = "disabled"; 421 + }; 422 + 423 + i2c0: i2c@ff3c0000 { 424 + compatible = "rockchip,rk3399-i2c"; 425 + reg = <0x0 0xff3c0000 0x0 0x1000>; 426 + assigned-clocks = <&pmucru SCLK_I2C0_PMU>; 427 + assigned-clock-rates = <200000000>; 428 + clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>; 429 + clock-names = "i2c", "pclk"; 430 + interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 431 + pinctrl-names = "default"; 432 + pinctrl-0 = <&i2c0_xfer>; 433 + #address-cells = <1>; 434 + #size-cells = <0>; 435 + status = "disabled"; 436 + }; 437 + 438 + i2c4: i2c@ff3d0000 { 439 + compatible = "rockchip,rk3399-i2c"; 440 + reg = <0x0 0xff3d0000 0x0 0x1000>; 441 + assigned-clocks = <&pmucru SCLK_I2C4_PMU>; 442 + assigned-clock-rates = <200000000>; 443 + clocks = <&pmucru SCLK_I2C4_PMU>, <&pmucru PCLK_I2C4_PMU>; 444 + clock-names = "i2c", "pclk"; 445 + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 446 + pinctrl-names = "default"; 447 + pinctrl-0 = <&i2c4_xfer>; 448 + #address-cells = <1>; 449 + #size-cells = <0>; 450 + status = "disabled"; 451 + }; 452 + 453 + i2c8: i2c@ff3e0000 { 454 + compatible = "rockchip,rk3399-i2c"; 455 + reg = <0x0 0xff3e0000 0x0 0x1000>; 456 + assigned-clocks = <&pmucru SCLK_I2C8_PMU>; 457 + assigned-clock-rates = <200000000>; 458 + clocks = <&pmucru SCLK_I2C8_PMU>, <&pmucru PCLK_I2C8_PMU>; 459 + clock-names = "i2c", "pclk"; 460 + interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 461 + pinctrl-names = "default"; 462 + pinctrl-0 = <&i2c8_xfer>; 463 + #address-cells = <1>; 464 + #size-cells = <0>; 632 465 status = "disabled"; 633 466 }; 634 467 ··· 735 478 reg = <0x0 0xff760000 0x0 0x1000>; 736 479 #clock-cells = <1>; 737 480 #reset-cells = <1>; 481 + assigned-clocks = 482 + <&cru PLL_GPLL>, <&cru PLL_CPLL>, 483 + <&cru PLL_NPLL>, 484 + <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>, 485 + <&cru PCLK_PERIHP>, 486 + <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>, 487 + <&cru PCLK_PERILP0>, 488 + <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>; 489 + assigned-clock-rates = 490 + <594000000>, <800000000>, 491 + <1000000000>, 492 + <150000000>, <75000000>, 493 + <37500000>, 494 + <100000000>, <100000000>, 495 + <50000000>, 496 + <100000000>, <50000000>; 738 497 }; 739 498 740 499 grf: syscon@ff770000 { 741 - compatible = "rockchip,rk3399-grf", "syscon"; 500 + compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; 742 501 reg = <0x0 0xff770000 0x0 0x10000>; 502 + #address-cells = <1>; 503 + #size-cells = <1>; 504 + 505 + io_domains: io-domains { 506 + compatible = "rockchip,rk3399-io-voltage-domain"; 507 + status = "disabled"; 508 + }; 509 + 510 + emmc_phy: phy@f780 { 511 + compatible = "rockchip,rk3399-emmc-phy"; 512 + reg = <0xf780 0x24>; 513 + clocks = <&sdhci>; 514 + clock-names = "emmcclk"; 515 + #phy-cells = <0>; 516 + status = "disabled"; 517 + }; 743 518 }; 744 519 745 520 watchdog@ff840000 { ··· 1053 764 }; 1054 765 }; 1055 766 767 + sleep { 768 + ap_pwroff: ap-pwroff { 769 + rockchip,pins = <1 5 RK_FUNC_1 &pcfg_pull_none>; 770 + }; 771 + 772 + ddrio_pwroff: ddrio-pwroff { 773 + rockchip,pins = <0 1 RK_FUNC_1 &pcfg_pull_none>; 774 + }; 775 + }; 776 + 1056 777 spdif { 1057 778 spdif_bus: spdif-bus { 1058 779 rockchip,pins = ··· 1185 886 spi5_tx: spi5-tx { 1186 887 rockchip,pins = 1187 888 <2 21 RK_FUNC_2 &pcfg_pull_up>; 889 + }; 890 + }; 891 + 892 + tsadc { 893 + otp_gpio: otp-gpio { 894 + rockchip,pins = <1 6 RK_FUNC_GPIO &pcfg_pull_none>; 895 + }; 896 + 897 + otp_out: otp-out { 898 + rockchip,pins = <1 6 RK_FUNC_1 &pcfg_pull_none>; 1188 899 }; 1189 900 }; 1190 901
+13 -7
arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
··· 42 42 * OTHER DEALINGS IN THE SOFTWARE. 43 43 */ 44 44 45 + /memreserve/ 0x80000000 0x00000008; /* cpu-release-addr */ 46 + 45 47 / { 46 48 compatible = "socionext,ph1-ld20"; 47 49 #address-cells = <2>; ··· 79 77 compatible = "arm,cortex-a72", "arm,armv8"; 80 78 reg = <0 0x000>; 81 79 enable-method = "spin-table"; 82 - cpu-release-addr = <0 0x80000100>; 80 + cpu-release-addr = <0 0x80000000>; 83 81 }; 84 82 85 83 cpu1: cpu@1 { ··· 87 85 compatible = "arm,cortex-a72", "arm,armv8"; 88 86 reg = <0 0x001>; 89 87 enable-method = "spin-table"; 90 - cpu-release-addr = <0 0x80000100>; 88 + cpu-release-addr = <0 0x80000000>; 91 89 }; 92 90 93 91 cpu2: cpu@100 { ··· 95 93 compatible = "arm,cortex-a53", "arm,armv8"; 96 94 reg = <0 0x100>; 97 95 enable-method = "spin-table"; 98 - cpu-release-addr = <0 0x80000100>; 96 + cpu-release-addr = <0 0x80000000>; 99 97 }; 100 98 101 99 cpu3: cpu@101 { ··· 103 101 compatible = "arm,cortex-a53", "arm,armv8"; 104 102 reg = <0 0x101>; 105 103 enable-method = "spin-table"; 106 - cpu-release-addr = <0 0x80000100>; 104 + cpu-release-addr = <0 0x80000000>; 107 105 }; 108 106 }; 109 107 ··· 266 264 reg = <0x59801000 0x400>; 267 265 }; 268 266 269 - pinctrl: pinctrl@5f801000 { 270 - compatible = "socionext,ph1-ld20-pinctrl", "syscon"; 271 - reg = <0x5f801000 0xe00>; 267 + soc-glue@5f800000 { 268 + compatible = "simple-mfd", "syscon"; 269 + reg = <0x5f800000 0x2000>; 270 + 271 + pinctrl: pinctrl { 272 + compatible = "socionext,uniphier-ld20-pinctrl"; 273 + }; 272 274 }; 273 275 274 276 gic: interrupt-controller@5fe00000 {