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

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

Pull ARM SoC late updates from Arnd Bergmann:
"This is some material that we picked up into our tree late or that had
complex inter-depondencies. The fact that there are these
interdependencies tends to meant that these are often actually the
most interesting new additions:

- The new Aspeed AST2600 baseboard management controller is added,
this is a Cortex-A7 based follow-up to the ARM11 based AST2500 and
had some dependencies on other device drivers.

- After many years, support for the MMP2 based OLPC XO-1.75 finally
makes it into the kernel.

- The Armada 3720 based Turris Mox open source router platform is a
late addition and it follows some preparatory work across multiple
branches.

- The OMAP2+ platform had some large-scale cleanup involving driver
changes and DT changes, here we finish it off, dropping a lot of
the now-unused platform data.

- The TI K3 platform that got added for 5.3 gains a lot more support
for individual bits on the SoC, this part just came late for the
merge window"

[ This pull request itself wasn't actually sent late at all by Arnd, but
I waited on the branches that it used to be pulled first, so it ends
up being merged much later than the other ARM SoC pull requests this
merge window - Linus ]

* tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (57 commits)
ARM: dts: dir685: Drop spi-cpol from the display
ARM: dts: aspeed: Add AST2600 pinmux nodes
ARM: dts: aspeed: Add AST2600 and EVB
ARM: exynos: Enable support for ARM architected timers
ARM: samsung: Fix system restart on S3C6410
ARM: dts: mmp2: add OLPC XO 1.75 machine
ARM: dts: mmp2: rename the USB PHY node
ARM: dts: mmp2: specify reg-shift for the UARTs
ARM: dts: mmp2: add camera interfaces
ARM: dts: mmp2: fix the SPI nodes
ARM: dts: mmp2: trivial whitespace fix
arm64: dts: marvell: add DTS for Turris Mox
dt-bindings: marvell: document Turris Mox compatible
arm64: dts: marvell: armada-37xx: add SPI CS1 pinctrl
arm64: dts: ti: k3-j721e-main: Fix gic-its node unit-address
arm64: dts: ti: k3-am65-main: Fix gic-its node unit-address
arm64: dts: ti: k3-j721e-main: Add hwspinlock node
arm64: dts: ti: k3-am65-main: Add hwspinlock node
arm64: dts: k3-j721e: Add gpio-keys on common processor board
dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721E
...

+3186 -883
+8
Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt
··· 48 48 compatible = "marvell,armada-3700-avs", "syscon"; 49 49 reg = <0x11500 0x40>; 50 50 } 51 + 52 + 53 + CZ.NIC's Turris Mox SOHO router Device Tree Bindings 54 + ---------------------------------------------------- 55 + 56 + Required root node property: 57 + 58 + - compatible: must contain "cznic,turris-mox"
+2
MAINTAINERS
··· 11867 11867 F: arch/arm/mach-omap2/ 11868 11868 F: arch/arm/plat-omap/ 11869 11869 F: arch/arm/configs/omap2plus_defconfig 11870 + F: drivers/bus/ti-sysc.c 11870 11871 F: drivers/i2c/busses/i2c-omap.c 11871 11872 F: drivers/irqchip/irq-omap-intc.c 11872 11873 F: drivers/mfd/*omap*.c ··· 11888 11887 F: drivers/regulator/twl-regulator.c 11889 11888 F: drivers/regulator/twl6030-regulator.c 11890 11889 F: include/linux/platform_data/i2c-omap.h 11890 + F: include/linux/platform_data/ti-sysc.h 11891 11891 11892 11892 ONION OMEGA2+ BOARD 11893 11893 M: Harvey Hunt <harveyhuntnexus@gmail.com>
+3 -1
arch/arm/boot/dts/Makefile
··· 336 336 dtb-$(CONFIG_ARCH_MMP) += \ 337 337 pxa168-aspenite.dtb \ 338 338 pxa910-dkb.dtb \ 339 - mmp2-brownstone.dtb 339 + mmp2-brownstone.dtb \ 340 + mmp2-olpc-xo-1-75.dtb 340 341 dtb-$(CONFIG_ARCH_MPS2) += \ 341 342 mps2-an385.dtb \ 342 343 mps2-an399.dtb ··· 1279 1278 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb 1280 1279 dtb-$(CONFIG_ARCH_ASPEED) += \ 1281 1280 aspeed-ast2500-evb.dtb \ 1281 + aspeed-ast2600-evb.dtb \ 1282 1282 aspeed-bmc-arm-centriq2400-rep.dtb \ 1283 1283 aspeed-bmc-arm-stardragon4800-rep2.dtb \ 1284 1284 aspeed-bmc-facebook-cmm.dtb \
+2 -2
arch/arm/boot/dts/am33xx-l4.dtsi
··· 673 673 674 674 target-module@100000 { /* 0x4a100000, ap 3 08.0 */ 675 675 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 676 - ti,hwmods = "cpgmac0"; 677 676 reg = <0x101200 0x4>, 678 677 <0x101208 0x4>, 679 678 <0x101204 0x4>; ··· 718 719 719 720 davinci_mdio: mdio@1000 { 720 721 compatible = "ti,cpsw-mdio","ti,davinci_mdio"; 722 + clocks = <&cpsw_125mhz_clkctrl AM3_CPSW_125MHZ_CPGMAC0_CLKCTRL 0>; 723 + clock-names = "fck"; 721 724 #address-cells = <1>; 722 725 #size-cells = <0>; 723 - ti,hwmods = "davinci_mdio"; 724 726 bus_freq = <1000000>; 725 727 reg = <0x1000 0x100>; 726 728 status = "disabled";
+24
arch/arm/boot/dts/am3517.dtsi
··· 88 88 interrupts = <24>; 89 89 clocks = <&hecc_ck>; 90 90 }; 91 + 92 + /* 93 + * On am3517 the OCP registers do not seem to be accessible 94 + * similar to the omap34xx. Maybe SGX is permanently set to 95 + * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is 96 + * write-only at 0x50000e10. We detect SGX based on the SGX 97 + * revision register instead of the unreadable OCP revision 98 + * register. 99 + */ 100 + sgx_module: target-module@50000000 { 101 + compatible = "ti,sysc-omap2", "ti,sysc"; 102 + reg = <0x50000014 0x4>; 103 + reg-names = "rev"; 104 + clocks = <&sgx_fck>, <&sgx_ick>; 105 + clock-names = "fck", "ick"; 106 + #address-cells = <1>; 107 + #size-cells = <1>; 108 + ranges = <0 0x50000000 0x4000>; 109 + 110 + /* 111 + * Closed source PowerVR driver, no child device 112 + * binding or driver in mainline 113 + */ 114 + }; 91 115 }; 92 116 }; 93 117
+2 -4
arch/arm/boot/dts/am437x-l4.dtsi
··· 512 512 513 513 target-module@100000 { /* 0x4a100000, ap 3 04.0 */ 514 514 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 515 - ti,hwmods = "cpgmac0"; 516 515 reg = <0x101200 0x4>, 517 516 <0x101208 0x4>, 518 517 <0x101204 0x4>; ··· 558 559 davinci_mdio: mdio@1000 { 559 560 compatible = "ti,am4372-mdio","ti,cpsw-mdio","ti,davinci_mdio"; 560 561 reg = <0x1000 0x100>; 562 + clocks = <&cpsw_125mhz_clkctrl AM4_CPSW_125MHZ_CPGMAC0_CLKCTRL 0>; 563 + clock-names = "fck"; 561 564 #address-cells = <1>; 562 565 #size-cells = <0>; 563 - clocks = <&cpsw_125mhz_gclk>; 564 - clock-names = "fck"; 565 - ti,hwmods = "davinci_mdio"; 566 566 bus_freq = <1000000>; 567 567 status = "disabled"; 568 568 };
+80
arch/arm/boot/dts/aspeed-ast2600-evb.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + // Copyright 2019 IBM Corp. 3 + 4 + /dts-v1/; 5 + 6 + #include "aspeed-g6.dtsi" 7 + 8 + / { 9 + model = "AST2600 EVB"; 10 + compatible = "aspeed,ast2600"; 11 + 12 + aliases { 13 + serial4 = &uart5; 14 + }; 15 + 16 + chosen { 17 + bootargs = "console=ttyS4,115200n8"; 18 + }; 19 + 20 + memory@80000000 { 21 + device_type = "memory"; 22 + reg = <0x80000000 0x80000000>; 23 + }; 24 + }; 25 + 26 + &mdio1 { 27 + status = "okay"; 28 + 29 + ethphy1: ethernet-phy@0 { 30 + compatible = "ethernet-phy-ieee802.3-c22"; 31 + reg = <0>; 32 + }; 33 + }; 34 + 35 + &mdio2 { 36 + status = "okay"; 37 + 38 + ethphy2: ethernet-phy@0 { 39 + compatible = "ethernet-phy-ieee802.3-c22"; 40 + reg = <0>; 41 + }; 42 + }; 43 + 44 + &mdio3 { 45 + status = "okay"; 46 + 47 + ethphy3: ethernet-phy@0 { 48 + compatible = "ethernet-phy-ieee802.3-c22"; 49 + reg = <0>; 50 + }; 51 + }; 52 + 53 + &mac1 { 54 + status = "okay"; 55 + 56 + phy-mode = "rgmii"; 57 + phy-handle = <&ethphy1>; 58 + }; 59 + 60 + &mac2 { 61 + status = "okay"; 62 + 63 + phy-mode = "rgmii"; 64 + phy-handle = <&ethphy2>; 65 + }; 66 + 67 + &mac3 { 68 + status = "okay"; 69 + 70 + phy-mode = "rgmii"; 71 + phy-handle = <&ethphy3>; 72 + }; 73 + 74 + &emmc { 75 + status = "okay"; 76 + }; 77 + 78 + &rtc { 79 + status = "okay"; 80 + };
+1154
arch/arm/boot/dts/aspeed-g6-pinctrl.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + // Copyright 2019 IBM Corp. 3 + 4 + &pinctrl { 5 + pinctrl_adc0_default: adc0_default { 6 + function = "ADC0"; 7 + groups = "ADC0"; 8 + }; 9 + 10 + pinctrl_adc1_default: adc1_default { 11 + function = "ADC1"; 12 + groups = "ADC1"; 13 + }; 14 + 15 + pinctrl_adc10_default: adc10_default { 16 + function = "ADC10"; 17 + groups = "ADC10"; 18 + }; 19 + 20 + pinctrl_adc11_default: adc11_default { 21 + function = "ADC11"; 22 + groups = "ADC11"; 23 + }; 24 + 25 + pinctrl_adc12_default: adc12_default { 26 + function = "ADC12"; 27 + groups = "ADC12"; 28 + }; 29 + 30 + pinctrl_adc13_default: adc13_default { 31 + function = "ADC13"; 32 + groups = "ADC13"; 33 + }; 34 + 35 + pinctrl_adc14_default: adc14_default { 36 + function = "ADC14"; 37 + groups = "ADC14"; 38 + }; 39 + 40 + pinctrl_adc15_default: adc15_default { 41 + function = "ADC15"; 42 + groups = "ADC15"; 43 + }; 44 + 45 + pinctrl_adc2_default: adc2_default { 46 + function = "ADC2"; 47 + groups = "ADC2"; 48 + }; 49 + 50 + pinctrl_adc3_default: adc3_default { 51 + function = "ADC3"; 52 + groups = "ADC3"; 53 + }; 54 + 55 + pinctrl_adc4_default: adc4_default { 56 + function = "ADC4"; 57 + groups = "ADC4"; 58 + }; 59 + 60 + pinctrl_adc5_default: adc5_default { 61 + function = "ADC5"; 62 + groups = "ADC5"; 63 + }; 64 + 65 + pinctrl_adc6_default: adc6_default { 66 + function = "ADC6"; 67 + groups = "ADC6"; 68 + }; 69 + 70 + pinctrl_adc7_default: adc7_default { 71 + function = "ADC7"; 72 + groups = "ADC7"; 73 + }; 74 + 75 + pinctrl_adc8_default: adc8_default { 76 + function = "ADC8"; 77 + groups = "ADC8"; 78 + }; 79 + 80 + pinctrl_adc9_default: adc9_default { 81 + function = "ADC9"; 82 + groups = "ADC9"; 83 + }; 84 + 85 + pinctrl_bmcint_default: bmcint_default { 86 + function = "BMCINT"; 87 + groups = "BMCINT"; 88 + }; 89 + 90 + pinctrl_espi_default: espi_default { 91 + function = "ESPI"; 92 + groups = "ESPI"; 93 + }; 94 + 95 + pinctrl_espialt_default: espialt_default { 96 + function = "ESPIALT"; 97 + groups = "ESPIALT"; 98 + }; 99 + 100 + pinctrl_fsi1_default: fsi1_default { 101 + function = "FSI1"; 102 + groups = "FSI1"; 103 + }; 104 + 105 + pinctrl_fsi2_default: fsi2_default { 106 + function = "FSI2"; 107 + groups = "FSI2"; 108 + }; 109 + 110 + pinctrl_fwspiabr_default: fwspiabr_default { 111 + function = "FWSPIABR"; 112 + groups = "FWSPIABR"; 113 + }; 114 + 115 + pinctrl_fwspid_default: fwspid_default { 116 + function = "FWSPID"; 117 + groups = "FWSPID"; 118 + }; 119 + 120 + pinctrl_fwqspid_default: fwqspid_default { 121 + function = "FWQSPID"; 122 + groups = "FWQSPID"; 123 + }; 124 + 125 + pinctrl_fwspiwp_default: fwspiwp_default { 126 + function = "FWSPIWP"; 127 + groups = "FWSPIWP"; 128 + }; 129 + 130 + pinctrl_gpit0_default: gpit0_default { 131 + function = "GPIT0"; 132 + groups = "GPIT0"; 133 + }; 134 + 135 + pinctrl_gpit1_default: gpit1_default { 136 + function = "GPIT1"; 137 + groups = "GPIT1"; 138 + }; 139 + 140 + pinctrl_gpit2_default: gpit2_default { 141 + function = "GPIT2"; 142 + groups = "GPIT2"; 143 + }; 144 + 145 + pinctrl_gpit3_default: gpit3_default { 146 + function = "GPIT3"; 147 + groups = "GPIT3"; 148 + }; 149 + 150 + pinctrl_gpit4_default: gpit4_default { 151 + function = "GPIT4"; 152 + groups = "GPIT4"; 153 + }; 154 + 155 + pinctrl_gpit5_default: gpit5_default { 156 + function = "GPIT5"; 157 + groups = "GPIT5"; 158 + }; 159 + 160 + pinctrl_gpit6_default: gpit6_default { 161 + function = "GPIT6"; 162 + groups = "GPIT6"; 163 + }; 164 + 165 + pinctrl_gpit7_default: gpit7_default { 166 + function = "GPIT7"; 167 + groups = "GPIT7"; 168 + }; 169 + 170 + pinctrl_gpiu0_default: gpiu0_default { 171 + function = "GPIU0"; 172 + groups = "GPIU0"; 173 + }; 174 + 175 + pinctrl_gpiu1_default: gpiu1_default { 176 + function = "GPIU1"; 177 + groups = "GPIU1"; 178 + }; 179 + 180 + pinctrl_gpiu2_default: gpiu2_default { 181 + function = "GPIU2"; 182 + groups = "GPIU2"; 183 + }; 184 + 185 + pinctrl_gpiu3_default: gpiu3_default { 186 + function = "GPIU3"; 187 + groups = "GPIU3"; 188 + }; 189 + 190 + pinctrl_gpiu4_default: gpiu4_default { 191 + function = "GPIU4"; 192 + groups = "GPIU4"; 193 + }; 194 + 195 + pinctrl_gpiu5_default: gpiu5_default { 196 + function = "GPIU5"; 197 + groups = "GPIU5"; 198 + }; 199 + 200 + pinctrl_gpiu6_default: gpiu6_default { 201 + function = "GPIU6"; 202 + groups = "GPIU6"; 203 + }; 204 + 205 + pinctrl_gpiu7_default: gpiu7_default { 206 + function = "GPIU7"; 207 + groups = "GPIU7"; 208 + }; 209 + 210 + pinctrl_hvi3c3_default: hvi3c3_default { 211 + function = "HVI3C3"; 212 + groups = "HVI3C3"; 213 + }; 214 + 215 + pinctrl_hvi3c4_default: hvi3c4_default { 216 + function = "HVI3C4"; 217 + groups = "HVI3C4"; 218 + }; 219 + 220 + pinctrl_i2c1_default: i2c1_default { 221 + function = "I2C1"; 222 + groups = "I2C1"; 223 + }; 224 + 225 + pinctrl_i2c10_default: i2c10_default { 226 + function = "I2C10"; 227 + groups = "I2C10"; 228 + }; 229 + 230 + pinctrl_i2c11_default: i2c11_default { 231 + function = "I2C11"; 232 + groups = "I2C11"; 233 + }; 234 + 235 + pinctrl_i2c12_default: i2c12_default { 236 + function = "I2C12"; 237 + groups = "I2C12"; 238 + }; 239 + 240 + pinctrl_i2c13_default: i2c13_default { 241 + function = "I2C13"; 242 + groups = "I2C13"; 243 + }; 244 + 245 + pinctrl_i2c14_default: i2c14_default { 246 + function = "I2C14"; 247 + groups = "I2C14"; 248 + }; 249 + 250 + pinctrl_i2c15_default: i2c15_default { 251 + function = "I2C15"; 252 + groups = "I2C15"; 253 + }; 254 + 255 + pinctrl_i2c16_default: i2c16_default { 256 + function = "I2C16"; 257 + groups = "I2C16"; 258 + }; 259 + 260 + pinctrl_i2c2_default: i2c2_default { 261 + function = "I2C2"; 262 + groups = "I2C2"; 263 + }; 264 + 265 + pinctrl_i2c3_default: i2c3_default { 266 + function = "I2C3"; 267 + groups = "I2C3"; 268 + }; 269 + 270 + pinctrl_i2c4_default: i2c4_default { 271 + function = "I2C4"; 272 + groups = "I2C4"; 273 + }; 274 + 275 + pinctrl_i2c5_default: i2c5_default { 276 + function = "I2C5"; 277 + groups = "I2C5"; 278 + }; 279 + 280 + pinctrl_i2c6_default: i2c6_default { 281 + function = "I2C6"; 282 + groups = "I2C6"; 283 + }; 284 + 285 + pinctrl_i2c7_default: i2c7_default { 286 + function = "I2C7"; 287 + groups = "I2C7"; 288 + }; 289 + 290 + pinctrl_i2c8_default: i2c8_default { 291 + function = "I2C8"; 292 + groups = "I2C8"; 293 + }; 294 + 295 + pinctrl_i2c9_default: i2c9_default { 296 + function = "I2C9"; 297 + groups = "I2C9"; 298 + }; 299 + 300 + pinctrl_i3c3_default: i3c3_default { 301 + function = "I3C3"; 302 + groups = "I3C3"; 303 + }; 304 + 305 + pinctrl_i3c4_default: i3c4_default { 306 + function = "I3C4"; 307 + groups = "I3C4"; 308 + }; 309 + 310 + pinctrl_i3c5_default: i3c5_default { 311 + function = "I3C5"; 312 + groups = "I3C5"; 313 + }; 314 + 315 + pinctrl_i3c6_default: i3c6_default { 316 + function = "I3C6"; 317 + groups = "I3C6"; 318 + }; 319 + 320 + pinctrl_jtagm_default: jtagm_default { 321 + function = "JTAGM"; 322 + groups = "JTAGM"; 323 + }; 324 + 325 + pinctrl_lhpd_default: lhpd_default { 326 + function = "LHPD"; 327 + groups = "LHPD"; 328 + }; 329 + 330 + pinctrl_lhsirq_default: lhsirq_default { 331 + function = "LHSIRQ"; 332 + groups = "LHSIRQ"; 333 + }; 334 + 335 + pinctrl_lpc_default: lpc_default { 336 + function = "LPC"; 337 + groups = "LPC"; 338 + }; 339 + 340 + pinctrl_lpchc_default: lpchc_default { 341 + function = "LPCHC"; 342 + groups = "LPCHC"; 343 + }; 344 + 345 + pinctrl_lpcpd_default: lpcpd_default { 346 + function = "LPCPD"; 347 + groups = "LPCPD"; 348 + }; 349 + 350 + pinctrl_lpcpme_default: lpcpme_default { 351 + function = "LPCPME"; 352 + groups = "LPCPME"; 353 + }; 354 + 355 + pinctrl_lpcsmi_default: lpcsmi_default { 356 + function = "LPCSMI"; 357 + groups = "LPCSMI"; 358 + }; 359 + 360 + pinctrl_lsirq_default: lsirq_default { 361 + function = "LSIRQ"; 362 + groups = "LSIRQ"; 363 + }; 364 + 365 + pinctrl_maclink1_default: maclink1_default { 366 + function = "MACLINK1"; 367 + groups = "MACLINK1"; 368 + }; 369 + 370 + pinctrl_maclink2_default: maclink2_default { 371 + function = "MACLINK2"; 372 + groups = "MACLINK2"; 373 + }; 374 + 375 + pinctrl_maclink3_default: maclink3_default { 376 + function = "MACLINK3"; 377 + groups = "MACLINK3"; 378 + }; 379 + 380 + pinctrl_maclink4_default: maclink4_default { 381 + function = "MACLINK4"; 382 + groups = "MACLINK4"; 383 + }; 384 + 385 + pinctrl_mdio1_default: mdio1_default { 386 + function = "MDIO1"; 387 + groups = "MDIO1"; 388 + }; 389 + 390 + pinctrl_mdio2_default: mdio2_default { 391 + function = "MDIO2"; 392 + groups = "MDIO2"; 393 + }; 394 + 395 + pinctrl_mdio3_default: mdio3_default { 396 + function = "MDIO3"; 397 + groups = "MDIO3"; 398 + }; 399 + 400 + pinctrl_mdio4_default: mdio4_default { 401 + function = "MDIO4"; 402 + groups = "MDIO4"; 403 + }; 404 + 405 + pinctrl_ncts1_default: ncts1_default { 406 + function = "NCTS1"; 407 + groups = "NCTS1"; 408 + }; 409 + 410 + pinctrl_ncts2_default: ncts2_default { 411 + function = "NCTS2"; 412 + groups = "NCTS2"; 413 + }; 414 + 415 + pinctrl_ncts3_default: ncts3_default { 416 + function = "NCTS3"; 417 + groups = "NCTS3"; 418 + }; 419 + 420 + pinctrl_ncts4_default: ncts4_default { 421 + function = "NCTS4"; 422 + groups = "NCTS4"; 423 + }; 424 + 425 + pinctrl_ndcd1_default: ndcd1_default { 426 + function = "NDCD1"; 427 + groups = "NDCD1"; 428 + }; 429 + 430 + pinctrl_ndcd2_default: ndcd2_default { 431 + function = "NDCD2"; 432 + groups = "NDCD2"; 433 + }; 434 + 435 + pinctrl_ndcd3_default: ndcd3_default { 436 + function = "NDCD3"; 437 + groups = "NDCD3"; 438 + }; 439 + 440 + pinctrl_ndcd4_default: ndcd4_default { 441 + function = "NDCD4"; 442 + groups = "NDCD4"; 443 + }; 444 + 445 + pinctrl_ndsr1_default: ndsr1_default { 446 + function = "NDSR1"; 447 + groups = "NDSR1"; 448 + }; 449 + 450 + pinctrl_ndsr2_default: ndsr2_default { 451 + function = "NDSR2"; 452 + groups = "NDSR2"; 453 + }; 454 + 455 + pinctrl_ndsr3_default: ndsr3_default { 456 + function = "NDSR3"; 457 + groups = "NDSR3"; 458 + }; 459 + 460 + pinctrl_ndsr4_default: ndsr4_default { 461 + function = "NDSR4"; 462 + groups = "NDSR4"; 463 + }; 464 + 465 + pinctrl_ndtr1_default: ndtr1_default { 466 + function = "NDTR1"; 467 + groups = "NDTR1"; 468 + }; 469 + 470 + pinctrl_ndtr2_default: ndtr2_default { 471 + function = "NDTR2"; 472 + groups = "NDTR2"; 473 + }; 474 + 475 + pinctrl_ndtr3_default: ndtr3_default { 476 + function = "NDTR3"; 477 + groups = "NDTR3"; 478 + }; 479 + 480 + pinctrl_ndtr4_default: ndtr4_default { 481 + function = "NDTR4"; 482 + groups = "NDTR4"; 483 + }; 484 + 485 + pinctrl_nri1_default: nri1_default { 486 + function = "NRI1"; 487 + groups = "NRI1"; 488 + }; 489 + 490 + pinctrl_nri2_default: nri2_default { 491 + function = "NRI2"; 492 + groups = "NRI2"; 493 + }; 494 + 495 + pinctrl_nri3_default: nri3_default { 496 + function = "NRI3"; 497 + groups = "NRI3"; 498 + }; 499 + 500 + pinctrl_nri4_default: nri4_default { 501 + function = "NRI4"; 502 + groups = "NRI4"; 503 + }; 504 + 505 + pinctrl_nrts1_default: nrts1_default { 506 + function = "NRTS1"; 507 + groups = "NRTS1"; 508 + }; 509 + 510 + pinctrl_nrts2_default: nrts2_default { 511 + function = "NRTS2"; 512 + groups = "NRTS2"; 513 + }; 514 + 515 + pinctrl_nrts3_default: nrts3_default { 516 + function = "NRTS3"; 517 + groups = "NRTS3"; 518 + }; 519 + 520 + pinctrl_nrts4_default: nrts4_default { 521 + function = "NRTS4"; 522 + groups = "NRTS4"; 523 + }; 524 + 525 + pinctrl_oscclk_default: oscclk_default { 526 + function = "OSCCLK"; 527 + groups = "OSCCLK"; 528 + }; 529 + 530 + pinctrl_pewake_default: pewake_default { 531 + function = "PEWAKE"; 532 + groups = "PEWAKE"; 533 + }; 534 + 535 + pinctrl_pwm0_default: pwm0_default { 536 + function = "PWM0"; 537 + groups = "PWM0"; 538 + }; 539 + 540 + pinctrl_pwm1_default: pwm1_default { 541 + function = "PWM1"; 542 + groups = "PWM1"; 543 + }; 544 + 545 + pinctrl_pwm10g0_default: pwm10g0_default { 546 + function = "PWM10"; 547 + groups = "PWM10G0"; 548 + }; 549 + 550 + pinctrl_pwm10g1_default: pwm10g1_default { 551 + function = "PWM10"; 552 + groups = "PWM10G1"; 553 + }; 554 + 555 + pinctrl_pwm11g0_default: pwm11g0_default { 556 + function = "PWM11"; 557 + groups = "PWM11G0"; 558 + }; 559 + 560 + pinctrl_pwm11g1_default: pwm11g1_default { 561 + function = "PWM11"; 562 + groups = "PWM11G1"; 563 + }; 564 + 565 + pinctrl_pwm12g0_default: pwm12g0_default { 566 + function = "PWM12"; 567 + groups = "PWM12G0"; 568 + }; 569 + 570 + pinctrl_pwm12g1_default: pwm12g1_default { 571 + function = "PWM12"; 572 + groups = "PWM12G1"; 573 + }; 574 + 575 + pinctrl_pwm13g0_default: pwm13g0_default { 576 + function = "PWM13"; 577 + groups = "PWM13G0"; 578 + }; 579 + 580 + pinctrl_pwm13g1_default: pwm13g1_default { 581 + function = "PWM13"; 582 + groups = "PWM13G1"; 583 + }; 584 + 585 + pinctrl_pwm14g0_default: pwm14g0_default { 586 + function = "PWM14"; 587 + groups = "PWM14G0"; 588 + }; 589 + 590 + pinctrl_pwm14g1_default: pwm14g1_default { 591 + function = "PWM14"; 592 + groups = "PWM14G1"; 593 + }; 594 + 595 + pinctrl_pwm15g0_default: pwm15g0_default { 596 + function = "PWM15"; 597 + groups = "PWM15G0"; 598 + }; 599 + 600 + pinctrl_pwm15g1_default: pwm15g1_default { 601 + function = "PWM15"; 602 + groups = "PWM15G1"; 603 + }; 604 + 605 + pinctrl_pwm2_default: pwm2_default { 606 + function = "PWM2"; 607 + groups = "PWM2"; 608 + }; 609 + 610 + pinctrl_pwm3_default: pwm3_default { 611 + function = "PWM3"; 612 + groups = "PWM3"; 613 + }; 614 + 615 + pinctrl_pwm4_default: pwm4_default { 616 + function = "PWM4"; 617 + groups = "PWM4"; 618 + }; 619 + 620 + pinctrl_pwm5_default: pwm5_default { 621 + function = "PWM5"; 622 + groups = "PWM5"; 623 + }; 624 + 625 + pinctrl_pwm6_default: pwm6_default { 626 + function = "PWM6"; 627 + groups = "PWM6"; 628 + }; 629 + 630 + pinctrl_pwm7_default: pwm7_default { 631 + function = "PWM7"; 632 + groups = "PWM7"; 633 + }; 634 + 635 + pinctrl_pwm8g0_default: pwm8g0_default { 636 + function = "PWM8"; 637 + groups = "PWM8G0"; 638 + }; 639 + 640 + pinctrl_pwm8g1_default: pwm8g1_default { 641 + function = "PWM8"; 642 + groups = "PWM8G1"; 643 + }; 644 + 645 + pinctrl_pwm9g0_default: pwm9g0_default { 646 + function = "PWM9"; 647 + groups = "PWM9G0"; 648 + }; 649 + 650 + pinctrl_pwm9g1_default: pwm9g1_default { 651 + function = "PWM9"; 652 + groups = "PWM9G1"; 653 + }; 654 + 655 + pinctrl_qspi1_default: qspi1_default { 656 + function = "QSPI1"; 657 + groups = "QSPI1"; 658 + }; 659 + 660 + pinctrl_qspi2_default: qspi2_default { 661 + function = "QSPI2"; 662 + groups = "QSPI2"; 663 + }; 664 + 665 + pinctrl_rgmii1_default: rgmii1_default { 666 + function = "RGMII1"; 667 + groups = "RGMII1"; 668 + }; 669 + 670 + pinctrl_rgmii2_default: rgmii2_default { 671 + function = "RGMII2"; 672 + groups = "RGMII2"; 673 + }; 674 + 675 + pinctrl_rgmii3_default: rgmii3_default { 676 + function = "RGMII3"; 677 + groups = "RGMII3"; 678 + }; 679 + 680 + pinctrl_rgmii4_default: rgmii4_default { 681 + function = "RGMII4"; 682 + groups = "RGMII4"; 683 + }; 684 + 685 + pinctrl_rmii1_default: rmii1_default { 686 + function = "RMII1"; 687 + groups = "RMII1"; 688 + }; 689 + 690 + pinctrl_rmii2_default: rmii2_default { 691 + function = "RMII2"; 692 + groups = "RMII2"; 693 + }; 694 + 695 + pinctrl_rmii3_default: rmii3_default { 696 + function = "RMII3"; 697 + groups = "RMII3"; 698 + }; 699 + 700 + pinctrl_rmii4_default: rmii4_default { 701 + function = "RMII4"; 702 + groups = "RMII4"; 703 + }; 704 + 705 + pinctrl_rxd1_default: rxd1_default { 706 + function = "RXD1"; 707 + groups = "RXD1"; 708 + }; 709 + 710 + pinctrl_rxd2_default: rxd2_default { 711 + function = "RXD2"; 712 + groups = "RXD2"; 713 + }; 714 + 715 + pinctrl_rxd3_default: rxd3_default { 716 + function = "RXD3"; 717 + groups = "RXD3"; 718 + }; 719 + 720 + pinctrl_rxd4_default: rxd4_default { 721 + function = "RXD4"; 722 + groups = "RXD4"; 723 + }; 724 + 725 + pinctrl_salt1_default: salt1_default { 726 + function = "SALT1"; 727 + groups = "SALT1"; 728 + }; 729 + 730 + pinctrl_salt10g0_default: salt10g0_default { 731 + function = "SALT10"; 732 + groups = "SALT10G0"; 733 + }; 734 + 735 + pinctrl_salt10g1_default: salt10g1_default { 736 + function = "SALT10"; 737 + groups = "SALT10G1"; 738 + }; 739 + 740 + pinctrl_salt11g0_default: salt11g0_default { 741 + function = "SALT11"; 742 + groups = "SALT11G0"; 743 + }; 744 + 745 + pinctrl_salt11g1_default: salt11g1_default { 746 + function = "SALT11"; 747 + groups = "SALT11G1"; 748 + }; 749 + 750 + pinctrl_salt12g0_default: salt12g0_default { 751 + function = "SALT12"; 752 + groups = "SALT12G0"; 753 + }; 754 + 755 + pinctrl_salt12g1_default: salt12g1_default { 756 + function = "SALT12"; 757 + groups = "SALT12G1"; 758 + }; 759 + 760 + pinctrl_salt13g0_default: salt13g0_default { 761 + function = "SALT13"; 762 + groups = "SALT13G0"; 763 + }; 764 + 765 + pinctrl_salt13g1_default: salt13g1_default { 766 + function = "SALT13"; 767 + groups = "SALT13G1"; 768 + }; 769 + 770 + pinctrl_salt14g0_default: salt14g0_default { 771 + function = "SALT14"; 772 + groups = "SALT14G0"; 773 + }; 774 + 775 + pinctrl_salt14g1_default: salt14g1_default { 776 + function = "SALT14"; 777 + groups = "SALT14G1"; 778 + }; 779 + 780 + pinctrl_salt15g0_default: salt15g0_default { 781 + function = "SALT15"; 782 + groups = "SALT15G0"; 783 + }; 784 + 785 + pinctrl_salt15g1_default: salt15g1_default { 786 + function = "SALT15"; 787 + groups = "SALT15G1"; 788 + }; 789 + 790 + pinctrl_salt16g0_default: salt16g0_default { 791 + function = "SALT16"; 792 + groups = "SALT16G0"; 793 + }; 794 + 795 + pinctrl_salt16g1_default: salt16g1_default { 796 + function = "SALT16"; 797 + groups = "SALT16G1"; 798 + }; 799 + 800 + pinctrl_salt2_default: salt2_default { 801 + function = "SALT2"; 802 + groups = "SALT2"; 803 + }; 804 + 805 + pinctrl_salt3_default: salt3_default { 806 + function = "SALT3"; 807 + groups = "SALT3"; 808 + }; 809 + 810 + pinctrl_salt4_default: salt4_default { 811 + function = "SALT4"; 812 + groups = "SALT4"; 813 + }; 814 + 815 + pinctrl_salt5_default: salt5_default { 816 + function = "SALT5"; 817 + groups = "SALT5"; 818 + }; 819 + 820 + pinctrl_salt6_default: salt6_default { 821 + function = "SALT6"; 822 + groups = "SALT6"; 823 + }; 824 + 825 + pinctrl_salt7_default: salt7_default { 826 + function = "SALT7"; 827 + groups = "SALT7"; 828 + }; 829 + 830 + pinctrl_salt8_default: salt8_default { 831 + function = "SALT8"; 832 + groups = "SALT8"; 833 + }; 834 + 835 + pinctrl_salt9g0_default: salt9g0_default { 836 + function = "SALT9"; 837 + groups = "SALT9G0"; 838 + }; 839 + 840 + pinctrl_salt9g1_default: salt9g1_default { 841 + function = "SALT9"; 842 + groups = "SALT9G1"; 843 + }; 844 + 845 + pinctrl_sd1_default: sd1_default { 846 + function = "SD1"; 847 + groups = "SD1"; 848 + }; 849 + 850 + pinctrl_sd2_default: sd2_default { 851 + function = "SD2"; 852 + groups = "SD2"; 853 + }; 854 + 855 + pinctrl_sd3_default: sd3_default { 856 + function = "SD3"; 857 + groups = "SD3"; 858 + }; 859 + 860 + pinctrl_emmc_default: emmc_default { 861 + function = "SD3"; 862 + groups = "EMMC"; 863 + }; 864 + 865 + pinctrl_sgpm1_default: sgpm1_default { 866 + function = "SGPM1"; 867 + groups = "SGPM1"; 868 + }; 869 + 870 + pinctrl_sgps1_default: sgps1_default { 871 + function = "SGPS1"; 872 + groups = "SGPS1"; 873 + }; 874 + 875 + pinctrl_sioonctrl_default: sioonctrl_default { 876 + function = "SIOONCTRL"; 877 + groups = "SIOONCTRL"; 878 + }; 879 + 880 + pinctrl_siopbi_default: siopbi_default { 881 + function = "SIOPBI"; 882 + groups = "SIOPBI"; 883 + }; 884 + 885 + pinctrl_siopbo_default: siopbo_default { 886 + function = "SIOPBO"; 887 + groups = "SIOPBO"; 888 + }; 889 + 890 + pinctrl_siopwreq_default: siopwreq_default { 891 + function = "SIOPWREQ"; 892 + groups = "SIOPWREQ"; 893 + }; 894 + 895 + pinctrl_siopwrgd_default: siopwrgd_default { 896 + function = "SIOPWRGD"; 897 + groups = "SIOPWRGD"; 898 + }; 899 + 900 + pinctrl_sios3_default: sios3_default { 901 + function = "SIOS3"; 902 + groups = "SIOS3"; 903 + }; 904 + 905 + pinctrl_sios5_default: sios5_default { 906 + function = "SIOS5"; 907 + groups = "SIOS5"; 908 + }; 909 + 910 + pinctrl_siosci_default: siosci_default { 911 + function = "SIOSCI"; 912 + groups = "SIOSCI"; 913 + }; 914 + 915 + pinctrl_spi1_default: spi1_default { 916 + function = "SPI1"; 917 + groups = "SPI1"; 918 + }; 919 + 920 + pinctrl_spi1abr_default: spi1abr_default { 921 + function = "SPI1ABR"; 922 + groups = "SPI1ABR"; 923 + }; 924 + 925 + pinctrl_spi1cs1_default: spi1cs1_default { 926 + function = "SPI1CS1"; 927 + groups = "SPI1CS1"; 928 + }; 929 + 930 + pinctrl_spi1wp_default: spi1wp_default { 931 + function = "SPI1WP"; 932 + groups = "SPI1WP"; 933 + }; 934 + 935 + pinctrl_spi2_default: spi2_default { 936 + function = "SPI2"; 937 + groups = "SPI2"; 938 + }; 939 + 940 + pinctrl_spi2cs1_default: spi2cs1_default { 941 + function = "SPI2CS1"; 942 + groups = "SPI2CS1"; 943 + }; 944 + 945 + pinctrl_spi2cs2_default: spi2cs2_default { 946 + function = "SPI2CS2"; 947 + groups = "SPI2CS2"; 948 + }; 949 + 950 + pinctrl_tach0_default: tach0_default { 951 + function = "TACH0"; 952 + groups = "TACH0"; 953 + }; 954 + 955 + pinctrl_tach1_default: tach1_default { 956 + function = "TACH1"; 957 + groups = "TACH1"; 958 + }; 959 + 960 + pinctrl_tach10_default: tach10_default { 961 + function = "TACH10"; 962 + groups = "TACH10"; 963 + }; 964 + 965 + pinctrl_tach11_default: tach11_default { 966 + function = "TACH11"; 967 + groups = "TACH11"; 968 + }; 969 + 970 + pinctrl_tach12_default: tach12_default { 971 + function = "TACH12"; 972 + groups = "TACH12"; 973 + }; 974 + 975 + pinctrl_tach13_default: tach13_default { 976 + function = "TACH13"; 977 + groups = "TACH13"; 978 + }; 979 + 980 + pinctrl_tach14_default: tach14_default { 981 + function = "TACH14"; 982 + groups = "TACH14"; 983 + }; 984 + 985 + pinctrl_tach15_default: tach15_default { 986 + function = "TACH15"; 987 + groups = "TACH15"; 988 + }; 989 + 990 + pinctrl_tach2_default: tach2_default { 991 + function = "TACH2"; 992 + groups = "TACH2"; 993 + }; 994 + 995 + pinctrl_tach3_default: tach3_default { 996 + function = "TACH3"; 997 + groups = "TACH3"; 998 + }; 999 + 1000 + pinctrl_tach4_default: tach4_default { 1001 + function = "TACH4"; 1002 + groups = "TACH4"; 1003 + }; 1004 + 1005 + pinctrl_tach5_default: tach5_default { 1006 + function = "TACH5"; 1007 + groups = "TACH5"; 1008 + }; 1009 + 1010 + pinctrl_tach6_default: tach6_default { 1011 + function = "TACH6"; 1012 + groups = "TACH6"; 1013 + }; 1014 + 1015 + pinctrl_tach7_default: tach7_default { 1016 + function = "TACH7"; 1017 + groups = "TACH7"; 1018 + }; 1019 + 1020 + pinctrl_tach8_default: tach8_default { 1021 + function = "TACH8"; 1022 + groups = "TACH8"; 1023 + }; 1024 + 1025 + pinctrl_tach9_default: tach9_default { 1026 + function = "TACH9"; 1027 + groups = "TACH9"; 1028 + }; 1029 + 1030 + pinctrl_thru0_default: thru0_default { 1031 + function = "THRU0"; 1032 + groups = "THRU0"; 1033 + }; 1034 + 1035 + pinctrl_thru1_default: thru1_default { 1036 + function = "THRU1"; 1037 + groups = "THRU1"; 1038 + }; 1039 + 1040 + pinctrl_thru2_default: thru2_default { 1041 + function = "THRU2"; 1042 + groups = "THRU2"; 1043 + }; 1044 + 1045 + pinctrl_thru3_default: thru3_default { 1046 + function = "THRU3"; 1047 + groups = "THRU3"; 1048 + }; 1049 + 1050 + pinctrl_txd1_default: txd1_default { 1051 + function = "TXD1"; 1052 + groups = "TXD1"; 1053 + }; 1054 + 1055 + pinctrl_txd2_default: txd2_default { 1056 + function = "TXD2"; 1057 + groups = "TXD2"; 1058 + }; 1059 + 1060 + pinctrl_txd3_default: txd3_default { 1061 + function = "TXD3"; 1062 + groups = "TXD3"; 1063 + }; 1064 + 1065 + pinctrl_txd4_default: txd4_default { 1066 + function = "TXD4"; 1067 + groups = "TXD4"; 1068 + }; 1069 + 1070 + pinctrl_uart10_default: uart10_default { 1071 + function = "UART10"; 1072 + groups = "UART10"; 1073 + }; 1074 + 1075 + pinctrl_uart11_default: uart11_default { 1076 + function = "UART11"; 1077 + groups = "UART11"; 1078 + }; 1079 + 1080 + pinctrl_uart12g0_default: uart12g0_default { 1081 + function = "UART12"; 1082 + groups = "UART12G0"; 1083 + }; 1084 + 1085 + pinctrl_uart12g1_default: uart12g1_default { 1086 + function = "UART12"; 1087 + groups = "UART12G1"; 1088 + }; 1089 + 1090 + pinctrl_uart13g0_default: uart13g0_default { 1091 + function = "UART13"; 1092 + groups = "UART13G0"; 1093 + }; 1094 + 1095 + pinctrl_uart13g1_default: uart13g1_default { 1096 + function = "UART13"; 1097 + groups = "UART13G1"; 1098 + }; 1099 + 1100 + pinctrl_uart6_default: uart6_default { 1101 + function = "UART6"; 1102 + groups = "UART6"; 1103 + }; 1104 + 1105 + pinctrl_uart7_default: uart7_default { 1106 + function = "UART7"; 1107 + groups = "UART7"; 1108 + }; 1109 + 1110 + pinctrl_uart8_default: uart8_default { 1111 + function = "UART8"; 1112 + groups = "UART8"; 1113 + }; 1114 + 1115 + pinctrl_uart9_default: uart9_default { 1116 + function = "UART9"; 1117 + groups = "UART9"; 1118 + }; 1119 + 1120 + pinctrl_vb_default: vb_default { 1121 + function = "VB"; 1122 + groups = "VB"; 1123 + }; 1124 + 1125 + pinctrl_vgahs_default: vgahs_default { 1126 + function = "VGAHS"; 1127 + groups = "VGAHS"; 1128 + }; 1129 + 1130 + pinctrl_vgavs_default: vgavs_default { 1131 + function = "VGAVS"; 1132 + groups = "VGAVS"; 1133 + }; 1134 + 1135 + pinctrl_wdtrst1_default: wdtrst1_default { 1136 + function = "WDTRST1"; 1137 + groups = "WDTRST1"; 1138 + }; 1139 + 1140 + pinctrl_wdtrst2_default: wdtrst2_default { 1141 + function = "WDTRST2"; 1142 + groups = "WDTRST2"; 1143 + }; 1144 + 1145 + pinctrl_wdtrst3_default: wdtrst3_default { 1146 + function = "WDTRST3"; 1147 + groups = "WDTRST3"; 1148 + }; 1149 + 1150 + pinctrl_wdtrst4_default: wdtrst4_default { 1151 + function = "WDTRST4"; 1152 + groups = "WDTRST4"; 1153 + }; 1154 + };
+261
arch/arm/boot/dts/aspeed-g6.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + // Copyright 2019 IBM Corp. 3 + 4 + #include <dt-bindings/interrupt-controller/arm-gic.h> 5 + #include <dt-bindings/clock/ast2600-clock.h> 6 + 7 + / { 8 + model = "Aspeed BMC"; 9 + compatible = "aspeed,ast2600"; 10 + #address-cells = <1>; 11 + #size-cells = <1>; 12 + interrupt-parent = <&gic>; 13 + 14 + aliases { 15 + serial4 = &uart5; 16 + }; 17 + 18 + 19 + cpus { 20 + #address-cells = <1>; 21 + #size-cells = <0>; 22 + enable-method = "aspeed,ast2600-smp"; 23 + 24 + cpu@f00 { 25 + compatible = "arm,cortex-a7"; 26 + device_type = "cpu"; 27 + reg = <0xf00>; 28 + }; 29 + 30 + cpu@f01 { 31 + compatible = "arm,cortex-a7"; 32 + device_type = "cpu"; 33 + reg = <0xf01>; 34 + }; 35 + }; 36 + 37 + timer { 38 + compatible = "arm,armv7-timer"; 39 + interrupt-parent = <&gic>; 40 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 41 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 42 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 43 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 44 + clocks = <&syscon ASPEED_CLK_HPLL>; 45 + arm,cpu-registers-not-fw-configured; 46 + }; 47 + 48 + ahb { 49 + compatible = "simple-bus"; 50 + #address-cells = <1>; 51 + #size-cells = <1>; 52 + device_type = "soc"; 53 + ranges; 54 + 55 + gic: interrupt-controller@40461000 { 56 + compatible = "arm,cortex-a7-gic"; 57 + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 58 + #interrupt-cells = <3>; 59 + interrupt-controller; 60 + interrupt-parent = <&gic>; 61 + reg = <0x40461000 0x1000>, 62 + <0x40462000 0x1000>, 63 + <0x40464000 0x2000>, 64 + <0x40466000 0x2000>; 65 + }; 66 + 67 + mdio0: mdio@1e650000 { 68 + compatible = "aspeed,ast2600-mdio"; 69 + reg = <0x1e650000 0x8>; 70 + #address-cells = <1>; 71 + #size-cells = <0>; 72 + status = "disabled"; 73 + }; 74 + 75 + mdio1: mdio@1e650008 { 76 + compatible = "aspeed,ast2600-mdio"; 77 + reg = <0x1e650008 0x8>; 78 + #address-cells = <1>; 79 + #size-cells = <0>; 80 + status = "disabled"; 81 + }; 82 + 83 + mdio2: mdio@1e650010 { 84 + compatible = "aspeed,ast2600-mdio"; 85 + reg = <0x1e650010 0x8>; 86 + #address-cells = <1>; 87 + #size-cells = <0>; 88 + status = "disabled"; 89 + }; 90 + 91 + mdio3: mdio@1e650018 { 92 + compatible = "aspeed,ast2600-mdio"; 93 + reg = <0x1e650018 0x8>; 94 + #address-cells = <1>; 95 + #size-cells = <0>; 96 + status = "disabled"; 97 + }; 98 + 99 + mac0: ftgmac@1e660000 { 100 + compatible = "aspeed,ast2600-mac", "faraday,ftgmac100"; 101 + reg = <0x1e660000 0x180>; 102 + #address-cells = <1>; 103 + #size-cells = <0>; 104 + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 105 + clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>; 106 + status = "disabled"; 107 + }; 108 + 109 + mac1: ftgmac@1e680000 { 110 + compatible = "aspeed,ast2600-mac", "faraday,ftgmac100"; 111 + reg = <0x1e680000 0x180>; 112 + #address-cells = <1>; 113 + #size-cells = <0>; 114 + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 115 + clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>; 116 + status = "disabled"; 117 + }; 118 + 119 + mac2: ftgmac@1e670000 { 120 + compatible = "aspeed,ast2600-mac", "faraday,ftgmac100"; 121 + reg = <0x1e670000 0x180>; 122 + #address-cells = <1>; 123 + #size-cells = <0>; 124 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 125 + clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>; 126 + status = "disabled"; 127 + }; 128 + 129 + mac3: ftgmac@1e690000 { 130 + compatible = "aspeed,ast2600-mac", "faraday,ftgmac100"; 131 + reg = <0x1e690000 0x180>; 132 + #address-cells = <1>; 133 + #size-cells = <0>; 134 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 135 + clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>; 136 + status = "disabled"; 137 + }; 138 + 139 + apb { 140 + compatible = "simple-bus"; 141 + #address-cells = <1>; 142 + #size-cells = <1>; 143 + ranges; 144 + 145 + syscon: syscon@1e6e2000 { 146 + compatible = "aspeed,ast2600-scu", "syscon", "simple-mfd"; 147 + reg = <0x1e6e2000 0x1000>; 148 + ranges = <0 0x1e6e2000 0x1000>; 149 + #address-cells = <1>; 150 + #size-cells = <1>; 151 + #clock-cells = <1>; 152 + #reset-cells = <1>; 153 + 154 + pinctrl: pinctrl { 155 + compatible = "aspeed,ast2600-pinctrl"; 156 + }; 157 + 158 + smp-memram@180 { 159 + compatible = "aspeed,ast2600-smpmem"; 160 + reg = <0x180 0x40>; 161 + }; 162 + }; 163 + 164 + rng: hwrng@1e6e2524 { 165 + compatible = "timeriomem_rng"; 166 + reg = <0x1e6e2524 0x4>; 167 + period = <1>; 168 + quality = <100>; 169 + }; 170 + 171 + rtc: rtc@1e781000 { 172 + compatible = "aspeed,ast2600-rtc"; 173 + reg = <0x1e781000 0x18>; 174 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 175 + status = "disabled"; 176 + }; 177 + 178 + uart5: serial@1e784000 { 179 + compatible = "ns16550a"; 180 + reg = <0x1e784000 0x1000>; 181 + reg-shift = <2>; 182 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 183 + clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>; 184 + no-loopback-test; 185 + }; 186 + 187 + wdt1: watchdog@1e785000 { 188 + compatible = "aspeed,ast2600-wdt"; 189 + reg = <0x1e785000 0x40>; 190 + }; 191 + 192 + wdt2: watchdog@1e785040 { 193 + compatible = "aspeed,ast2600-wdt"; 194 + reg = <0x1e785040 0x40>; 195 + status = "disabled"; 196 + }; 197 + 198 + wdt3: watchdog@1e785080 { 199 + compatible = "aspeed,ast2600-wdt"; 200 + reg = <0x1e785080 0x40>; 201 + status = "disabled"; 202 + }; 203 + 204 + wdt4: watchdog@1e7850C0 { 205 + compatible = "aspeed,ast2600-wdt"; 206 + reg = <0x1e7850C0 0x40>; 207 + status = "disabled"; 208 + }; 209 + 210 + sdc: sdc@1e740000 { 211 + compatible = "aspeed,ast2600-sd-controller"; 212 + reg = <0x1e740000 0x100>; 213 + #address-cells = <1>; 214 + #size-cells = <1>; 215 + ranges = <0 0x1e740000 0x10000>; 216 + clocks = <&syscon ASPEED_CLK_GATE_SDCLK>; 217 + status = "disabled"; 218 + 219 + sdhci0: sdhci@1e740100 { 220 + compatible = "aspeed,ast2600-sdhci", "sdhci"; 221 + reg = <0x100 0x100>; 222 + interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 223 + sdhci,auto-cmd12; 224 + clocks = <&syscon ASPEED_CLK_SDIO>; 225 + status = "disabled"; 226 + }; 227 + 228 + sdhci1: sdhci@1e740200 { 229 + compatible = "aspeed,ast2600-sdhci", "sdhci"; 230 + reg = <0x200 0x100>; 231 + interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 232 + sdhci,auto-cmd12; 233 + clocks = <&syscon ASPEED_CLK_SDIO>; 234 + status = "disabled"; 235 + }; 236 + }; 237 + 238 + emmc: sdc@1e750000 { 239 + compatible = "aspeed,ast2600-sd-controller"; 240 + reg = <0x1e750000 0x100>; 241 + #address-cells = <1>; 242 + #size-cells = <1>; 243 + ranges = <0 0x1e750000 0x10000>; 244 + clocks = <&syscon ASPEED_CLK_GATE_EMMCCLK>; 245 + status = "disabled"; 246 + 247 + sdhci@1e750100 { 248 + compatible = "aspeed,ast2600-sdhci"; 249 + reg = <0x100 0x100>; 250 + sdhci,auto-cmd12; 251 + interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 252 + clocks = <&syscon ASPEED_CLK_EMMC>; 253 + pinctrl-names = "default"; 254 + pinctrl-0 = <&pinctrl_emmc_default>; 255 + }; 256 + }; 257 + }; 258 + }; 259 + }; 260 + 261 + #include "aspeed-g6-pinctrl.dtsi"
+2 -41
arch/arm/boot/dts/dra7-l4.dtsi
··· 1118 1118 1119 1119 target-module@20000 { /* 0x48020000, ap 3 04.0 */ 1120 1120 compatible = "ti,sysc-omap2", "ti,sysc"; 1121 - ti,hwmods = "uart3"; 1122 1121 reg = <0x20050 0x4>, 1123 1122 <0x20054 0x4>, 1124 1123 <0x20058 0x4>; ··· 1262 1263 1263 1264 gpio7_target: target-module@51000 { /* 0x48051000, ap 45 2e.0 */ 1264 1265 compatible = "ti,sysc-omap2", "ti,sysc"; 1265 - ti,hwmods = "gpio7"; 1266 1266 reg = <0x51000 0x4>, 1267 1267 <0x51010 0x4>, 1268 1268 <0x51114 0x4>; ··· 1295 1297 1296 1298 target-module@53000 { /* 0x48053000, ap 35 36.0 */ 1297 1299 compatible = "ti,sysc-omap2", "ti,sysc"; 1298 - ti,hwmods = "gpio8"; 1299 1300 reg = <0x53000 0x4>, 1300 1301 <0x53010 0x4>, 1301 1302 <0x53114 0x4>; ··· 1328 1331 1329 1332 target-module@55000 { /* 0x48055000, ap 13 0e.0 */ 1330 1333 compatible = "ti,sysc-omap2", "ti,sysc"; 1331 - ti,hwmods = "gpio2"; 1332 1334 reg = <0x55000 0x4>, 1333 1335 <0x55010 0x4>, 1334 1336 <0x55114 0x4>; ··· 1361 1365 1362 1366 target-module@57000 { /* 0x48057000, ap 15 06.0 */ 1363 1367 compatible = "ti,sysc-omap2", "ti,sysc"; 1364 - ti,hwmods = "gpio3"; 1365 1368 reg = <0x57000 0x4>, 1366 1369 <0x57010 0x4>, 1367 1370 <0x57114 0x4>; ··· 1394 1399 1395 1400 target-module@59000 { /* 0x48059000, ap 17 16.0 */ 1396 1401 compatible = "ti,sysc-omap2", "ti,sysc"; 1397 - ti,hwmods = "gpio4"; 1398 1402 reg = <0x59000 0x4>, 1399 1403 <0x59010 0x4>, 1400 1404 <0x59114 0x4>; ··· 1427 1433 1428 1434 target-module@5b000 { /* 0x4805b000, ap 19 1e.0 */ 1429 1435 compatible = "ti,sysc-omap2", "ti,sysc"; 1430 - ti,hwmods = "gpio5"; 1431 1436 reg = <0x5b000 0x4>, 1432 1437 <0x5b010 0x4>, 1433 1438 <0x5b114 0x4>; ··· 1460 1467 1461 1468 target-module@5d000 { /* 0x4805d000, ap 21 26.0 */ 1462 1469 compatible = "ti,sysc-omap2", "ti,sysc"; 1463 - ti,hwmods = "gpio6"; 1464 1470 reg = <0x5d000 0x4>, 1465 1471 <0x5d010 0x4>, 1466 1472 <0x5d114 0x4>; ··· 1493 1501 1494 1502 target-module@60000 { /* 0x48060000, ap 23 32.0 */ 1495 1503 compatible = "ti,sysc-omap2", "ti,sysc"; 1496 - ti,hwmods = "i2c3"; 1497 1504 reg = <0x60000 0x8>, 1498 1505 <0x60010 0x8>, 1499 1506 <0x60090 0x8>; ··· 1525 1534 1526 1535 target-module@66000 { /* 0x48066000, ap 63 14.0 */ 1527 1536 compatible = "ti,sysc-omap2", "ti,sysc"; 1528 - ti,hwmods = "uart5"; 1529 1537 reg = <0x66050 0x4>, 1530 1538 <0x66054 0x4>, 1531 1539 <0x66058 0x4>; ··· 1557 1567 1558 1568 target-module@68000 { /* 0x48068000, ap 53 1c.0 */ 1559 1569 compatible = "ti,sysc-omap2", "ti,sysc"; 1560 - ti,hwmods = "uart6"; 1561 1570 reg = <0x68050 0x4>, 1562 1571 <0x68054 0x4>, 1563 1572 <0x68058 0x4>; ··· 1589 1600 1590 1601 target-module@6a000 { /* 0x4806a000, ap 24 24.0 */ 1591 1602 compatible = "ti,sysc-omap2", "ti,sysc"; 1592 - ti,hwmods = "uart1"; 1593 1603 reg = <0x6a050 0x4>, 1594 1604 <0x6a054 0x4>, 1595 1605 <0x6a058 0x4>; ··· 1621 1633 1622 1634 target-module@6c000 { /* 0x4806c000, ap 26 2c.0 */ 1623 1635 compatible = "ti,sysc-omap2", "ti,sysc"; 1624 - ti,hwmods = "uart2"; 1625 1636 reg = <0x6c050 0x4>, 1626 1637 <0x6c054 0x4>, 1627 1638 <0x6c058 0x4>; ··· 1653 1666 1654 1667 target-module@6e000 { /* 0x4806e000, ap 28 0c.1 */ 1655 1668 compatible = "ti,sysc-omap2", "ti,sysc"; 1656 - ti,hwmods = "uart4"; 1657 1669 reg = <0x6e050 0x4>, 1658 1670 <0x6e054 0x4>, 1659 1671 <0x6e058 0x4>; ··· 1685 1699 1686 1700 target-module@70000 { /* 0x48070000, ap 30 22.0 */ 1687 1701 compatible = "ti,sysc-omap2", "ti,sysc"; 1688 - ti,hwmods = "i2c1"; 1689 1702 reg = <0x70000 0x8>, 1690 1703 <0x70010 0x8>, 1691 1704 <0x70090 0x8>; ··· 1717 1732 1718 1733 target-module@72000 { /* 0x48072000, ap 32 2a.0 */ 1719 1734 compatible = "ti,sysc-omap2", "ti,sysc"; 1720 - ti,hwmods = "i2c2"; 1721 1735 reg = <0x72000 0x8>, 1722 1736 <0x72010 0x8>, 1723 1737 <0x72090 0x8>; ··· 1779 1795 1780 1796 target-module@7a000 { /* 0x4807a000, ap 81 3a.0 */ 1781 1797 compatible = "ti,sysc-omap2", "ti,sysc"; 1782 - ti,hwmods = "i2c4"; 1783 1798 reg = <0x7a000 0x8>, 1784 1799 <0x7a010 0x8>, 1785 1800 <0x7a090 0x8>; ··· 1811 1828 1812 1829 target-module@7c000 { /* 0x4807c000, ap 83 4a.0 */ 1813 1830 compatible = "ti,sysc-omap2", "ti,sysc"; 1814 - ti,hwmods = "i2c5"; 1815 1831 reg = <0x7c000 0x8>, 1816 1832 <0x7c010 0x8>, 1817 1833 <0x7c090 0x8>; ··· 1924 1942 1925 1943 target-module@98000 { /* 0x48098000, ap 47 08.0 */ 1926 1944 compatible = "ti,sysc-omap4", "ti,sysc"; 1927 - ti,hwmods = "mcspi1"; 1928 1945 reg = <0x98000 0x4>, 1929 1946 <0x98010 0x4>; 1930 1947 reg-names = "rev", "sysc"; ··· 1963 1982 1964 1983 target-module@9a000 { /* 0x4809a000, ap 49 10.0 */ 1965 1984 compatible = "ti,sysc-omap4", "ti,sysc"; 1966 - ti,hwmods = "mcspi2"; 1967 1985 reg = <0x9a000 0x4>, 1968 1986 <0x9a010 0x4>; 1969 1987 reg-names = "rev", "sysc"; ··· 1997 2017 1998 2018 target-module@9c000 { /* 0x4809c000, ap 51 38.0 */ 1999 2019 compatible = "ti,sysc-omap4", "ti,sysc"; 2000 - ti,hwmods = "mmc1"; 2001 2020 reg = <0x9c000 0x4>, 2002 2021 <0x9c010 0x4>; 2003 2022 reg-names = "rev", "sysc"; ··· 2056 2077 2057 2078 target-module@ad000 { /* 0x480ad000, ap 61 20.0 */ 2058 2079 compatible = "ti,sysc-omap4", "ti,sysc"; 2059 - ti,hwmods = "mmc3"; 2060 2080 reg = <0xad000 0x4>, 2061 2081 <0xad010 0x4>; 2062 2082 reg-names = "rev", "sysc"; ··· 2115 2137 2116 2138 target-module@b4000 { /* 0x480b4000, ap 65 40.0 */ 2117 2139 compatible = "ti,sysc-omap4", "ti,sysc"; 2118 - ti,hwmods = "mmc2"; 2119 2140 reg = <0xb4000 0x4>, 2120 2141 <0xb4010 0x4>; 2121 2142 reg-names = "rev", "sysc"; ··· 2151 2174 2152 2175 target-module@b8000 { /* 0x480b8000, ap 67 48.0 */ 2153 2176 compatible = "ti,sysc-omap4", "ti,sysc"; 2154 - ti,hwmods = "mcspi3"; 2155 2177 reg = <0xb8000 0x4>, 2156 2178 <0xb8010 0x4>; 2157 2179 reg-names = "rev", "sysc"; ··· 2182 2206 2183 2207 target-module@ba000 { /* 0x480ba000, ap 69 18.0 */ 2184 2208 compatible = "ti,sysc-omap4", "ti,sysc"; 2185 - ti,hwmods = "mcspi4"; 2186 2209 reg = <0xba000 0x4>, 2187 2210 <0xba010 0x4>; 2188 2211 reg-names = "rev", "sysc"; ··· 2213 2238 2214 2239 target-module@d1000 { /* 0x480d1000, ap 71 28.0 */ 2215 2240 compatible = "ti,sysc-omap4", "ti,sysc"; 2216 - ti,hwmods = "mmc4"; 2217 2241 reg = <0xd1000 0x4>, 2218 2242 <0xd1010 0x4>; 2219 2243 reg-names = "rev", "sysc"; ··· 2358 2384 2359 2385 target-module@20000 { /* 0x48420000, ap 47 02.0 */ 2360 2386 compatible = "ti,sysc-omap2", "ti,sysc"; 2361 - ti,hwmods = "uart7"; 2362 2387 reg = <0x20050 0x4>, 2363 2388 <0x20054 0x4>, 2364 2389 <0x20058 0x4>; ··· 2388 2415 2389 2416 target-module@22000 { /* 0x48422000, ap 49 0a.0 */ 2390 2417 compatible = "ti,sysc-omap2", "ti,sysc"; 2391 - ti,hwmods = "uart8"; 2392 2418 reg = <0x22050 0x4>, 2393 2419 <0x22054 0x4>, 2394 2420 <0x22058 0x4>; ··· 2418 2446 2419 2447 target-module@24000 { /* 0x48424000, ap 51 12.0 */ 2420 2448 compatible = "ti,sysc-omap2", "ti,sysc"; 2421 - ti,hwmods = "uart9"; 2422 2449 reg = <0x24050 0x4>, 2423 2450 <0x24054 0x4>, 2424 2451 <0x24058 0x4>; ··· 2706 2735 2707 2736 target-module@60000 { /* 0x48460000, ap 9 0e.0 */ 2708 2737 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2709 - ti,hwmods = "mcasp1"; 2710 2738 reg = <0x60000 0x4>, 2711 2739 <0x60004 0x4>; 2712 2740 reg-names = "rev", "sysc"; ··· 2742 2772 2743 2773 target-module@64000 { /* 0x48464000, ap 11 1e.0 */ 2744 2774 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2745 - ti,hwmods = "mcasp2"; 2746 2775 reg = <0x64000 0x4>, 2747 2776 <0x64004 0x4>; 2748 2777 reg-names = "rev", "sysc"; ··· 2778 2809 2779 2810 target-module@68000 { /* 0x48468000, ap 13 26.0 */ 2780 2811 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2781 - ti,hwmods = "mcasp3"; 2782 2812 reg = <0x68000 0x4>, 2783 2813 <0x68004 0x4>; 2784 2814 reg-names = "rev", "sysc"; ··· 2813 2845 2814 2846 target-module@6c000 { /* 0x4846c000, ap 15 2e.0 */ 2815 2847 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2816 - ti,hwmods = "mcasp4"; 2817 2848 reg = <0x6c000 0x4>, 2818 2849 <0x6c004 0x4>; 2819 2850 reg-names = "rev", "sysc"; ··· 2848 2881 2849 2882 target-module@70000 { /* 0x48470000, ap 19 36.0 */ 2850 2883 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2851 - ti,hwmods = "mcasp5"; 2852 2884 reg = <0x70000 0x4>, 2853 2885 <0x70004 0x4>; 2854 2886 reg-names = "rev", "sysc"; ··· 2883 2917 2884 2918 target-module@74000 { /* 0x48474000, ap 35 14.0 */ 2885 2919 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2886 - ti,hwmods = "mcasp6"; 2887 2920 reg = <0x74000 0x4>, 2888 2921 <0x74004 0x4>; 2889 2922 reg-names = "rev", "sysc"; ··· 2918 2953 2919 2954 target-module@78000 { /* 0x48478000, ap 39 0c.0 */ 2920 2955 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2921 - ti,hwmods = "mcasp7"; 2922 2956 reg = <0x78000 0x4>, 2923 2957 <0x78004 0x4>; 2924 2958 reg-names = "rev", "sysc"; ··· 2953 2989 2954 2990 target-module@7c000 { /* 0x4847c000, ap 43 04.0 */ 2955 2991 compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; 2956 - ti,hwmods = "mcasp8"; 2957 2992 reg = <0x7c000 0x4>, 2958 2993 <0x7c004 0x4>; 2959 2994 reg-names = "rev", "sysc"; ··· 3008 3045 3009 3046 target-module@84000 { /* 0x48484000, ap 3 10.0 */ 3010 3047 compatible = "ti,sysc-omap4-simple", "ti,sysc"; 3011 - ti,hwmods = "gmac"; 3012 3048 reg = <0x85200 0x4>, 3013 3049 <0x85208 0x4>, 3014 3050 <0x85204 0x4>; ··· 3065 3103 3066 3104 davinci_mdio: mdio@1000 { 3067 3105 compatible = "ti,cpsw-mdio","ti,davinci_mdio"; 3106 + clocks = <&gmac_clkctrl DRA7_GMAC_GMAC_CLKCTRL 0>; 3107 + clock-names = "fck"; 3068 3108 #address-cells = <1>; 3069 3109 #size-cells = <0>; 3070 - ti,hwmods = "davinci_mdio"; 3071 3110 bus_freq = <1000000>; 3072 3111 reg = <0x1000 0x100>; 3073 3112 }; ··· 4274 4311 4275 4312 target-module@0 { /* 0x4ae10000, ap 5 20.0 */ 4276 4313 compatible = "ti,sysc-omap2", "ti,sysc"; 4277 - ti,hwmods = "gpio1"; 4278 4314 reg = <0x0 0x4>, 4279 4315 <0x10 0x4>, 4280 4316 <0x114 0x4>; ··· 4441 4479 4442 4480 target-module@b000 { /* 0x4ae2b000, ap 28 02.0 */ 4443 4481 compatible = "ti,sysc-omap2", "ti,sysc"; 4444 - ti,hwmods = "uart10"; 4445 4482 reg = <0xb050 0x4>, 4446 4483 <0xb054 0x4>, 4447 4484 <0xb058 0x4>;
+244
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + /* 3 + * OLPC XO 1.75 Laptop. 4 + * 5 + * Copyright (C) 2018,2019 Lubomir Rintel <lkundrak@v3.sk> 6 + */ 7 + 8 + /dts-v1/; 9 + #include "mmp2.dtsi" 10 + #include <dt-bindings/gpio/gpio.h> 11 + #include <dt-bindings/input/linux-event-codes.h> 12 + #include <dt-bindings/interrupt-controller/irq.h> 13 + 14 + / { 15 + model = "OLPC XO-1.75"; 16 + compatible = "olpc,xo-1.75", "mrvl,mmp2"; 17 + 18 + chosen { 19 + #address-cells = <1>; 20 + #size-cells = <1>; 21 + ranges; 22 + 23 + framebuffer@1fc00000 { 24 + compatible = "simple-framebuffer"; 25 + reg = <0x1fc00000 (1200 * 900 * 2)>; 26 + width = <1200>; 27 + height = <900>; 28 + stride = <(1200 * 2)>; 29 + format = "r5g6b5"; 30 + clocks = <&soc_clocks MMP2_CLK_DISP0_LCDC>, 31 + <&soc_clocks MMP2_CLK_DISP0>; 32 + }; 33 + }; 34 + 35 + memory { 36 + linux,usable-memory = <0x0 0x1f800000>; 37 + available = <0xcf000 0x1ef31000 0x1000 0xbf000>; 38 + reg = <0x0 0x20000000>; 39 + device_type = "memory"; 40 + }; 41 + 42 + gpio-keys { 43 + compatible = "gpio-keys"; 44 + 45 + lid { 46 + label = "Lid"; 47 + gpios = <&gpio 129 GPIO_ACTIVE_LOW>; 48 + linux,input-type = <EV_SW>; 49 + linux,code = <SW_LID>; 50 + wakeup-source; 51 + }; 52 + 53 + tablet_mode { 54 + label = "E-Book Mode"; 55 + gpios = <&gpio 128 GPIO_ACTIVE_LOW>; 56 + linux,input-type = <EV_SW>; 57 + linux,code = <SW_TABLET_MODE>; 58 + wakeup-source; 59 + }; 60 + 61 + microphone_insert { 62 + label = "Microphone Plug"; 63 + gpios = <&gpio 96 GPIO_ACTIVE_HIGH>; 64 + linux,input-type = <EV_SW>; 65 + linux,code = <SW_MICROPHONE_INSERT>; 66 + debounce-interval = <100>; 67 + wakeup-source; 68 + }; 69 + 70 + headphone_insert { 71 + label = "Headphone Plug"; 72 + gpios = <&gpio 97 GPIO_ACTIVE_HIGH>; 73 + linux,input-type = <EV_SW>; 74 + linux,code = <SW_HEADPHONE_INSERT>; 75 + debounce-interval = <100>; 76 + wakeup-source; 77 + }; 78 + }; 79 + 80 + camera_i2c { 81 + compatible = "i2c-gpio"; 82 + gpios = <&gpio 109 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>, 83 + <&gpio 108 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 84 + #address-cells = <1>; 85 + #size-cells = <0>; 86 + i2c-gpio,timeout-ms = <1000>; 87 + status = "okay"; 88 + 89 + camera@21 { 90 + compatible = "ovti,ov7670"; 91 + reg = <0x21>; 92 + reset-gpios = <&gpio 102 GPIO_ACTIVE_LOW>; 93 + powerdown-gpios = <&gpio 150 GPIO_ACTIVE_LOW>; 94 + clocks = <&camera0>; 95 + clock-names = "xclk"; 96 + 97 + port { 98 + ov7670_0: endpoint { 99 + hsync-active = <1>; 100 + vsync-active = <1>; 101 + remote-endpoint = <&camera0_0>; 102 + }; 103 + }; 104 + }; 105 + }; 106 + 107 + battery { 108 + compatible = "olpc,xo1.5-battery", "olpc,xo1-battery"; 109 + }; 110 + 111 + wlan_reg: fixedregulator0 { 112 + compatible = "regulator-fixed"; 113 + regulator-name = "wlan"; 114 + regulator-min-microvolt = <3300000>; 115 + regulator-max-microvolt = <3300000>; 116 + gpio = <&gpio 34 GPIO_ACTIVE_HIGH>; 117 + enable-active-high; 118 + }; 119 + 120 + wlan_pwrseq: pwrseq0 { 121 + compatible = "mmc-pwrseq-sd8787"; 122 + powerdown-gpios = <&gpio 57 GPIO_ACTIVE_HIGH>; 123 + reset-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>; 124 + }; 125 + 126 + soc { 127 + axi@d4200000 { 128 + ap-sp@d4290000 { 129 + #address-cells = <1>; 130 + #size-cells = <0>; 131 + compatible = "olpc,ap-sp"; 132 + interrupts = <40>; 133 + reg = <0xd4290000 0x1000>; 134 + data-gpios = <&gpio 72 GPIO_ACTIVE_HIGH>; 135 + clk-gpios = <&gpio 71 GPIO_ACTIVE_HIGH>; 136 + status = "okay"; 137 + }; 138 + }; 139 + }; 140 + }; 141 + 142 + &uart3 { 143 + status = "okay"; 144 + }; 145 + 146 + &uart4 { 147 + status = "okay"; 148 + }; 149 + 150 + &rtc { 151 + status = "okay"; 152 + }; 153 + 154 + &usb_phy0 { 155 + status = "okay"; 156 + }; 157 + 158 + &usb_otg0 { 159 + status = "okay"; 160 + }; 161 + 162 + &mmc1 { 163 + clock-frequency = <50000000>; 164 + no-1-8-v; 165 + mrvl,clk-delay-cycles = <31>; 166 + broken-cd; 167 + status = "okay"; 168 + }; 169 + 170 + &mmc2 { 171 + clock-frequency = <50000000>; 172 + no-1-8-v; 173 + bus-width = <4>; 174 + non-removable; 175 + broken-cd; 176 + wakeup-source; 177 + keep-power-in-suspend; 178 + mmc-pwrseq = <&wlan_pwrseq>; 179 + vmmc-supply = <&wlan_reg>; 180 + status = "okay"; 181 + }; 182 + 183 + &mmc3 { 184 + clock-frequency = <50000000>; 185 + no-1-8-v; 186 + bus-width = <8>; 187 + non-removable; 188 + broken-cd; 189 + mrvl,clk-delay-cycles = <31>; 190 + status = "okay"; 191 + }; 192 + 193 + &twsi1 { 194 + status = "okay"; 195 + 196 + audio-codec@1a { 197 + compatible = "realtek,alc5631"; 198 + reg = <0x1a>; 199 + status = "okay"; 200 + }; 201 + }; 202 + 203 + &twsi2 { 204 + status = "okay"; 205 + 206 + rtc@68 { 207 + compatible = "dallas,ds1338"; 208 + reg = <0x68>; 209 + status = "okay"; 210 + }; 211 + }; 212 + 213 + &twsi6 { 214 + status = "okay"; 215 + 216 + accelerometer@1d { 217 + compatible = "st,lis331dlh", "st,lis3lv02d"; 218 + reg = <0x1d>; 219 + status = "okay"; 220 + }; 221 + }; 222 + 223 + &ssp3 { 224 + #address-cells = <0>; 225 + spi-slave; 226 + status = "okay"; 227 + ready-gpio = <&gpio 125 GPIO_ACTIVE_HIGH>; 228 + 229 + slave { 230 + compatible = "olpc,xo1.75-ec"; 231 + spi-cpha; 232 + cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>; 233 + }; 234 + }; 235 + 236 + &camera0 { 237 + status = "okay"; 238 + 239 + port { 240 + camera0_0: endpoint { 241 + remote-endpoint = <&ov7670_0>; 242 + }; 243 + }; 244 + };
+41 -7
arch/arm/boot/dts/mmp2.dtsi
··· 117 117 mrvl,intc-nr-irqs = <2>; 118 118 }; 119 119 120 - usb_otg_phy0: usb-otg-phy@d4207000 { 120 + usb_phy0: usb-phy@d4207000 { 121 121 compatible = "marvell,mmp2-usb-phy"; 122 122 reg = <0xd4207000 0x40>; 123 123 #phy-cells = <0>; ··· 130 130 interrupts = <44>; 131 131 clocks = <&soc_clocks MMP2_CLK_USB>; 132 132 clock-names = "USBCLK"; 133 - phys = <&usb_otg_phy0>; 133 + phys = <&usb_phy0>; 134 134 phy-names = "usb"; 135 135 status = "disabled"; 136 136 }; ··· 170 170 interrupts = <54>; 171 171 status = "disabled"; 172 172 }; 173 + 174 + camera0: camera@d420a000 { 175 + compatible = "marvell,mmp2-ccic"; 176 + reg = <0xd420a000 0x800>; 177 + interrupts = <42>; 178 + clocks = <&soc_clocks MMP2_CLK_CCIC0>; 179 + clock-names = "axi"; 180 + #clock-cells = <0>; 181 + clock-output-names = "mclk"; 182 + status = "disabled"; 183 + }; 184 + 185 + camera1: camera@d420a800 { 186 + compatible = "marvell,mmp2-ccic"; 187 + reg = <0xd420a800 0x800>; 188 + interrupts = <30>; 189 + clocks = <&soc_clocks MMP2_CLK_CCIC1>; 190 + clock-names = "axi"; 191 + #clock-cells = <0>; 192 + clock-output-names = "mclk"; 193 + status = "disabled"; 194 + }; 173 195 }; 174 196 175 197 apb@d4000000 { /* APB */ ··· 214 192 interrupts = <27>; 215 193 clocks = <&soc_clocks MMP2_CLK_UART0>; 216 194 resets = <&soc_clocks MMP2_CLK_UART0>; 195 + reg-shift = <2>; 217 196 status = "disabled"; 218 197 }; 219 198 ··· 224 201 interrupts = <28>; 225 202 clocks = <&soc_clocks MMP2_CLK_UART1>; 226 203 resets = <&soc_clocks MMP2_CLK_UART1>; 204 + reg-shift = <2>; 227 205 status = "disabled"; 228 206 }; 229 207 ··· 234 210 interrupts = <24>; 235 211 clocks = <&soc_clocks MMP2_CLK_UART2>; 236 212 resets = <&soc_clocks MMP2_CLK_UART2>; 213 + reg-shift = <2>; 237 214 status = "disabled"; 238 215 }; 239 216 ··· 244 219 interrupts = <46>; 245 220 clocks = <&soc_clocks MMP2_CLK_UART3>; 246 221 resets = <&soc_clocks MMP2_CLK_UART3>; 222 + reg-shift = <2>; 247 223 status = "disabled"; 248 224 }; 249 225 ··· 372 346 status = "disabled"; 373 347 }; 374 348 375 - ssp1: ssp@d4035000 { 349 + ssp1: spi@d4035000 { 376 350 compatible = "marvell,mmp2-ssp"; 377 351 reg = <0xd4035000 0x1000>; 378 352 clocks = <&soc_clocks MMP2_CLK_SSP0>; 379 353 interrupts = <0>; 354 + #address-cells = <1>; 355 + #size-cells = <0>; 380 356 status = "disabled"; 381 357 }; 382 358 383 - ssp2: ssp@d4036000 { 359 + ssp2: spi@d4036000 { 384 360 compatible = "marvell,mmp2-ssp"; 385 361 reg = <0xd4036000 0x1000>; 386 362 clocks = <&soc_clocks MMP2_CLK_SSP1>; 387 363 interrupts = <1>; 364 + #address-cells = <1>; 365 + #size-cells = <0>; 388 366 status = "disabled"; 389 367 }; 390 368 391 - ssp3: ssp@d4037000 { 369 + ssp3: spi@d4037000 { 392 370 compatible = "marvell,mmp2-ssp"; 393 371 reg = <0xd4037000 0x1000>; 394 372 clocks = <&soc_clocks MMP2_CLK_SSP2>; 395 373 interrupts = <20>; 374 + #address-cells = <1>; 375 + #size-cells = <0>; 396 376 status = "disabled"; 397 377 }; 398 378 399 - ssp4: ssp@d4039000 { 379 + ssp4: spi@d4039000 { 400 380 compatible = "marvell,mmp2-ssp"; 401 381 reg = <0xd4039000 0x1000>; 402 382 clocks = <&soc_clocks MMP2_CLK_SSP3>; 403 383 interrupts = <21>; 384 + #address-cells = <1>; 385 + #size-cells = <0>; 404 386 status = "disabled"; 405 387 }; 406 388 }; 407 389 408 - soc_clocks: clocks{ 390 + soc_clocks: clocks { 409 391 compatible = "marvell,mmp2-clock"; 410 392 reg = <0xd4050000 0x1000>, 411 393 <0xd4282800 0x400>,
+26
arch/arm/boot/dts/omap34xx.dtsi
··· 100 100 interrupts = <18>; 101 101 }; 102 102 }; 103 + 104 + /* 105 + * On omap34xx the OCP registers do not seem to be accessible 106 + * at all unlike on 36xx. Maybe SGX is permanently set to 107 + * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is 108 + * write-only at 0x50000e10. We detect SGX based on the SGX 109 + * revision register instead of the unreadable OCP revision 110 + * register. Also note that on early 34xx es1 revision there 111 + * are also different clocks, but we do not have any dts users 112 + * for it. 113 + */ 114 + sgx_module: target-module@50000000 { 115 + compatible = "ti,sysc-omap2", "ti,sysc"; 116 + reg = <0x50000014 0x4>; 117 + reg-names = "rev"; 118 + clocks = <&sgx_fck>, <&sgx_ick>; 119 + clock-names = "fck", "ick"; 120 + #address-cells = <1>; 121 + #size-cells = <1>; 122 + ranges = <0 0x50000000 0x4000>; 123 + 124 + /* 125 + * Closed source PowerVR driver, no child device 126 + * binding or driver in mainline 127 + */ 128 + }; 103 129 }; 104 130 105 131 thermal_zones: thermal-zones {
+28
arch/arm/boot/dts/omap36xx.dtsi
··· 139 139 interrupts = <18>; 140 140 }; 141 141 }; 142 + 143 + /* 144 + * Note that the sysconfig register layout is a subset of the 145 + * "ti,sysc-omap4" type register with just sidle and midle bits 146 + * available while omap34xx has "ti,sysc-omap2" type sysconfig. 147 + */ 148 + sgx_module: target-module@50000000 { 149 + compatible = "ti,sysc-omap4", "ti,sysc"; 150 + reg = <0x5000fe00 0x4>, 151 + <0x5000fe10 0x4>; 152 + reg-names = "rev", "sysc"; 153 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 154 + <SYSC_IDLE_NO>, 155 + <SYSC_IDLE_SMART>; 156 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 157 + <SYSC_IDLE_NO>, 158 + <SYSC_IDLE_SMART>; 159 + clocks = <&sgx_fck>, <&sgx_ick>; 160 + clock-names = "fck", "ick"; 161 + #address-cells = <1>; 162 + #size-cells = <1>; 163 + ranges = <0 0x50000000 0x2000000>; 164 + 165 + /* 166 + * Closed source PowerVR driver, no child device 167 + * binding or driver in mainline 168 + */ 169 + }; 142 170 }; 143 171 144 172 thermal_zones: thermal-zones {
-1
arch/arm/boot/dts/omap4-l4-abe.dtsi
··· 255 255 256 256 target-module@30000 { /* 0x40130000, ap 14 0e.0 */ 257 257 compatible = "ti,sysc-omap2", "ti,sysc"; 258 - ti,hwmods = "wd_timer3"; 259 258 reg = <0x30000 0x4>, 260 259 <0x30010 0x4>, 261 260 <0x30014 0x4>;
+30 -9
arch/arm/boot/dts/omap4-l4.dtsi
··· 456 456 }; 457 457 }; 458 458 459 + /* d2d mdm */ 459 460 target-module@36000 { /* 0x4a0b6000, ap 69 60.0 */ 460 - compatible = "ti,sysc"; 461 - status = "disabled"; 461 + compatible = "ti,sysc-omap2", "ti,sysc"; 462 + reg = <0x36000 0x4>, 463 + <0x36010 0x4>, 464 + <0x36014 0x4>; 465 + reg-names = "rev", "sysc", "syss"; 466 + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | SYSC_OMAP2_AUTOIDLE)>; 467 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 468 + <SYSC_IDLE_NO>, 469 + <SYSC_IDLE_SMART>, 470 + <SYSC_IDLE_SMART_WKUP>; 471 + ti,syss-mask = <1>; 472 + /* Domains (V, P, C): core, core_pwrdm, d2d_clkdm */ 473 + clocks = <&d2d_clkctrl OMAP4_C2C_CLKCTRL 0>; 474 + clock-names = "fck"; 462 475 #address-cells = <1>; 463 476 #size-cells = <1>; 464 477 ranges = <0x0 0x36000 0x1000>; 465 478 }; 466 479 480 + /* d2d mpu */ 467 481 target-module@4d000 { /* 0x4a0cd000, ap 78 58.0 */ 468 - compatible = "ti,sysc"; 469 - status = "disabled"; 482 + compatible = "ti,sysc-omap2", "ti,sysc"; 483 + reg = <0x4d000 0x4>, 484 + <0x4d010 0x4>, 485 + <0x4d014 0x4>; 486 + reg-names = "rev", "sysc", "syss"; 487 + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | SYSC_OMAP2_AUTOIDLE)>; 488 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 489 + <SYSC_IDLE_NO>, 490 + <SYSC_IDLE_SMART>, 491 + <SYSC_IDLE_SMART_WKUP>; 492 + ti,syss-mask = <1>; 493 + /* Domains (V, P, C): core, core_pwrdm, d2d_clkdm */ 494 + clocks = <&d2d_clkctrl OMAP4_C2C_CLKCTRL 0>; 495 + clock-names = "fck"; 470 496 #address-cells = <1>; 471 497 #size-cells = <1>; 472 498 ranges = <0x0 0x4d000 0x1000>; ··· 1120 1094 1121 1095 target-module@4000 { /* 0x4a314000, ap 7 18.0 */ 1122 1096 compatible = "ti,sysc-omap2", "ti,sysc"; 1123 - ti,hwmods = "wd_timer2"; 1124 1097 reg = <0x4000 0x4>, 1125 1098 <0x4010 0x4>, 1126 1099 <0x4014 0x4>; ··· 1720 1695 1721 1696 target-module@60000 { /* 0x48060000, ap 25 1e.0 */ 1722 1697 compatible = "ti,sysc-omap2", "ti,sysc"; 1723 - ti,hwmods = "i2c3"; 1724 1698 reg = <0x60000 0x8>, 1725 1699 <0x60010 0x8>, 1726 1700 <0x60090 0x8>; ··· 1838 1814 1839 1815 target-module@70000 { /* 0x48070000, ap 32 28.0 */ 1840 1816 compatible = "ti,sysc-omap2", "ti,sysc"; 1841 - ti,hwmods = "i2c1"; 1842 1817 reg = <0x70000 0x8>, 1843 1818 <0x70010 0x8>, 1844 1819 <0x70090 0x8>; ··· 1869 1846 1870 1847 target-module@72000 { /* 0x48072000, ap 34 30.0 */ 1871 1848 compatible = "ti,sysc-omap2", "ti,sysc"; 1872 - ti,hwmods = "i2c2"; 1873 1849 reg = <0x72000 0x8>, 1874 1850 <0x72010 0x8>, 1875 1851 <0x72090 0x8>; ··· 2423 2401 2424 2402 target-module@150000 { /* 0x48350000, ap 77 4c.0 */ 2425 2403 compatible = "ti,sysc-omap2", "ti,sysc"; 2426 - ti,hwmods = "i2c4"; 2427 2404 reg = <0x150000 0x8>, 2428 2405 <0x150010 0x8>, 2429 2406 <0x150090 0x8>;
-1
arch/arm/boot/dts/omap4.dtsi
··· 330 330 331 331 target-module@56000000 { 332 332 compatible = "ti,sysc-omap4", "ti,sysc"; 333 - ti,hwmods = "gpu"; 334 333 reg = <0x5601fc00 0x4>, 335 334 <0x5601fc10 0x4>; 336 335 reg-names = "rev", "sysc";
+23
arch/arm/boot/dts/omap5.dtsi
··· 257 257 ports-implemented = <0x1>; 258 258 }; 259 259 260 + target-module@56000000 { 261 + compatible = "ti,sysc-omap4", "ti,sysc"; 262 + reg = <0x5600fe00 0x4>, 263 + <0x5600fe10 0x4>; 264 + reg-names = "rev", "sysc"; 265 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 266 + <SYSC_IDLE_NO>, 267 + <SYSC_IDLE_SMART>; 268 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 269 + <SYSC_IDLE_NO>, 270 + <SYSC_IDLE_SMART>; 271 + clocks = <&gpu_clkctrl OMAP5_GPU_CLKCTRL 0>; 272 + clock-names = "fck"; 273 + #address-cells = <1>; 274 + #size-cells = <1>; 275 + ranges = <0 0x56000000 0x2000000>; 276 + 277 + /* 278 + * Closed source PowerVR driver, no child device 279 + * binding or driver in mainline 280 + */ 281 + }; 282 + 260 283 dss: dss@58000000 { 261 284 compatible = "ti,omap5-dss"; 262 285 reg = <0x58000000 0x80>;
+14
arch/arm/boot/dts/omap54xx-clocks.dtsi
··· 1146 1146 }; 1147 1147 }; 1148 1148 1149 + gpu_cm: clock-controller@1500 { 1150 + compatible = "ti,omap4-cm"; 1151 + reg = <0x1500 0x100>; 1152 + #address-cells = <1>; 1153 + #size-cells = <1>; 1154 + ranges = <0 0x1500 0x100>; 1155 + 1156 + gpu_clkctrl: clk@20 { 1157 + compatible = "ti,clkctrl"; 1158 + reg = <0x20 0x4>; 1159 + #clock-cells = <2>; 1160 + }; 1161 + }; 1162 + 1149 1163 l3init_cm: l3init_cm@1600 { 1150 1164 compatible = "ti,omap4-cm"; 1151 1165 reg = <0x1600 0x100>;
+1
arch/arm/mach-exynos/Kconfig
··· 19 19 select EXYNOS_SROM 20 20 select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS 21 21 select GPIOLIB 22 + select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5 && VIRTUALIZATION 22 23 select HAVE_ARM_SCU if SMP 23 24 select HAVE_S3C2410_I2C if I2C 24 25 select HAVE_S3C2410_WATCHDOG if WATCHDOG
-3
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
··· 30 30 extern struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc; 31 31 extern struct omap_hwmod_ocp_if am33xx_l4_per__dcan0; 32 32 extern struct omap_hwmod_ocp_if am33xx_l4_per__dcan1; 33 - extern struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio; 34 33 extern struct omap_hwmod_ocp_if am33xx_l4_ls__elm; 35 34 extern struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss0; 36 35 extern struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss1; ··· 71 72 extern struct omap_hwmod am33xx_ocmcram_hwmod; 72 73 extern struct omap_hwmod am33xx_smartreflex0_hwmod; 73 74 extern struct omap_hwmod am33xx_smartreflex1_hwmod; 74 - extern struct omap_hwmod am33xx_cpgmac0_hwmod; 75 - extern struct omap_hwmod am33xx_mdio_hwmod; 76 75 extern struct omap_hwmod am33xx_dcan0_hwmod; 77 76 extern struct omap_hwmod am33xx_dcan1_hwmod; 78 77 extern struct omap_hwmod am33xx_elm_hwmod;
-6
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
··· 122 122 .user = OCP_USER_MPU | OCP_USER_SDMA, 123 123 }; 124 124 125 - struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio = { 126 - .master = &am33xx_cpgmac0_hwmod, 127 - .slave = &am33xx_mdio_hwmod, 128 - .user = OCP_USER_MPU, 129 - }; 130 - 131 125 struct omap_hwmod_ocp_if am33xx_l4_ls__elm = { 132 126 .master = &am33xx_l4_ls_hwmod, 133 127 .slave = &am33xx_elm_hwmod,
-50
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
··· 350 350 }; 351 351 352 352 /* 353 - * 'cpgmac' class 354 - * cpsw/cpgmac sub system 355 - */ 356 - static struct omap_hwmod_class_sysconfig am33xx_cpgmac_sysc = { 357 - .rev_offs = 0x0, 358 - .sysc_offs = 0x8, 359 - .syss_offs = 0x4, 360 - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE | 361 - SYSS_HAS_RESET_STATUS), 362 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | MSTANDBY_FORCE | 363 - MSTANDBY_NO), 364 - .sysc_fields = &omap_hwmod_sysc_type3, 365 - }; 366 - 367 - static struct omap_hwmod_class am33xx_cpgmac0_hwmod_class = { 368 - .name = "cpgmac0", 369 - .sysc = &am33xx_cpgmac_sysc, 370 - }; 371 - 372 - struct omap_hwmod am33xx_cpgmac0_hwmod = { 373 - .name = "cpgmac0", 374 - .class = &am33xx_cpgmac0_hwmod_class, 375 - .clkdm_name = "cpsw_125mhz_clkdm", 376 - .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), 377 - .main_clk = "cpsw_125mhz_gclk", 378 - .mpu_rt_idx = 1, 379 - .prcm = { 380 - .omap4 = { 381 - .modulemode = MODULEMODE_SWCTRL, 382 - }, 383 - }, 384 - }; 385 - 386 - /* 387 - * mdio class 388 - */ 389 - static struct omap_hwmod_class am33xx_mdio_hwmod_class = { 390 - .name = "davinci_mdio", 391 - }; 392 - 393 - struct omap_hwmod am33xx_mdio_hwmod = { 394 - .name = "davinci_mdio", 395 - .class = &am33xx_mdio_hwmod_class, 396 - .clkdm_name = "cpsw_125mhz_clkdm", 397 - .main_clk = "cpsw_125mhz_gclk", 398 - }; 399 - 400 - /* 401 353 * dcan class 402 354 */ 403 355 static struct omap_hwmod_class am33xx_dcan_hwmod_class = { ··· 1024 1072 CLKCTRL(am33xx_tptc1_hwmod, AM33XX_CM_PER_TPTC1_CLKCTRL_OFFSET); 1025 1073 CLKCTRL(am33xx_tptc2_hwmod, AM33XX_CM_PER_TPTC2_CLKCTRL_OFFSET); 1026 1074 CLKCTRL(am33xx_gfx_hwmod, AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET); 1027 - CLKCTRL(am33xx_cpgmac0_hwmod, AM33XX_CM_PER_CPGMAC0_CLKCTRL_OFFSET); 1028 1075 CLKCTRL(am33xx_pruss_hwmod, AM33XX_CM_PER_PRUSS_CLKCTRL_OFFSET); 1029 1076 CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET); 1030 1077 CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); ··· 1085 1134 CLKCTRL(am33xx_tptc1_hwmod, AM43XX_CM_PER_TPTC1_CLKCTRL_OFFSET); 1086 1135 CLKCTRL(am33xx_tptc2_hwmod, AM43XX_CM_PER_TPTC2_CLKCTRL_OFFSET); 1087 1136 CLKCTRL(am33xx_gfx_hwmod, AM43XX_CM_GFX_GFX_CLKCTRL_OFFSET); 1088 - CLKCTRL(am33xx_cpgmac0_hwmod, AM43XX_CM_PER_CPGMAC0_CLKCTRL_OFFSET); 1089 1137 CLKCTRL(am33xx_pruss_hwmod, AM43XX_CM_PER_PRUSS_CLKCTRL_OFFSET); 1090 1138 CLKCTRL(am33xx_mpu_hwmod , AM43XX_CM_MPU_MPU_CLKCTRL_OFFSET); 1091 1139 CLKCTRL(am33xx_l3_instr_hwmod , AM43XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
-9
arch/arm/mach-omap2/omap_hwmod_33xx_data.c
··· 372 372 .user = OCP_USER_MPU, 373 373 }; 374 374 375 - static struct omap_hwmod_ocp_if am33xx_l4_hs__cpgmac0 = { 376 - .master = &am33xx_l4_hs_hwmod, 377 - .slave = &am33xx_cpgmac0_hwmod, 378 - .clk = "cpsw_125mhz_gclk", 379 - .user = OCP_USER_MPU, 380 - }; 381 - 382 375 static struct omap_hwmod_ocp_if am33xx_l3_main__lcdc = { 383 376 .master = &am33xx_l3_main_hwmod, 384 377 .slave = &am33xx_lcdc_hwmod, ··· 455 462 &am33xx_l3_main__tptc2, 456 463 &am33xx_l3_main__ocmc, 457 464 &am33xx_l3_s__usbss, 458 - &am33xx_l4_hs__cpgmac0, 459 - &am33xx_cpgmac0__mdio, 460 465 &am33xx_l3_main__sha0, 461 466 &am33xx_l3_main__aes0, 462 467 &am33xx_l4_per__rng,
-9
arch/arm/mach-omap2/omap_hwmod_43xx_data.c
··· 597 597 .user = OCP_USER_MPU, 598 598 }; 599 599 600 - static struct omap_hwmod_ocp_if am43xx_l4_hs__cpgmac0 = { 601 - .master = &am43xx_l4_hs_hwmod, 602 - .slave = &am33xx_cpgmac0_hwmod, 603 - .clk = "cpsw_125mhz_gclk", 604 - .user = OCP_USER_MPU, 605 - }; 606 - 607 600 static struct omap_hwmod_ocp_if am43xx_l4_wkup__timer1 = { 608 601 .master = &am33xx_l4_wkup_hwmod, 609 602 .slave = &am33xx_timer1_hwmod, ··· 852 859 &am33xx_l3_main__tptc1, 853 860 &am33xx_l3_main__tptc2, 854 861 &am33xx_l3_main__ocmc, 855 - &am43xx_l4_hs__cpgmac0, 856 - &am33xx_cpgmac0__mdio, 857 862 &am33xx_l3_main__sha0, 858 863 &am33xx_l3_main__aes0, 859 864 &am43xx_l3_main__des,
-168
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
··· 28 28 #include "cm2_44xx.h" 29 29 #include "prm44xx.h" 30 30 #include "prm-regbits-44xx.h" 31 - #include "wd_timer.h" 32 31 33 32 /* Base offset for all OMAP4 interrupts external to MPUSS */ 34 33 #define OMAP44XX_IRQ_GIC_START 32 ··· 270 271 .context_offs = OMAP4_RM_ABE_AESS_CONTEXT_OFFSET, 271 272 .lostcontext_mask = OMAP4430_LOSTCONTEXT_DFF_MASK, 272 273 .modulemode = MODULEMODE_SWCTRL, 273 - }, 274 - }, 275 - }; 276 - 277 - /* 278 - * 'c2c' class 279 - * chip 2 chip interface used to plug the ape soc (omap) with an external modem 280 - * soc 281 - */ 282 - 283 - static struct omap_hwmod_class omap44xx_c2c_hwmod_class = { 284 - .name = "c2c", 285 - }; 286 - 287 - /* c2c */ 288 - static struct omap_hwmod omap44xx_c2c_hwmod = { 289 - .name = "c2c", 290 - .class = &omap44xx_c2c_hwmod_class, 291 - .clkdm_name = "d2d_clkdm", 292 - .prcm = { 293 - .omap4 = { 294 - .clkctrl_offs = OMAP4_CM_D2D_SAD2D_CLKCTRL_OFFSET, 295 - .context_offs = OMAP4_RM_D2D_SAD2D_CONTEXT_OFFSET, 296 274 }, 297 275 }, 298 276 }; ··· 1057 1081 .clkctrl_offs = OMAP4_CM_L3_2_GPMC_CLKCTRL_OFFSET, 1058 1082 .context_offs = OMAP4_RM_L3_2_GPMC_CONTEXT_OFFSET, 1059 1083 .modulemode = MODULEMODE_HWCTRL, 1060 - }, 1061 - }, 1062 - }; 1063 - 1064 - /* 1065 - * 'gpu' class 1066 - * 2d/3d graphics accelerator 1067 - */ 1068 - 1069 - static struct omap_hwmod_class_sysconfig omap44xx_gpu_sysc = { 1070 - .rev_offs = 0x1fc00, 1071 - .sysc_offs = 0x1fc10, 1072 - .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE), 1073 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 1074 - SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | 1075 - MSTANDBY_SMART | MSTANDBY_SMART_WKUP), 1076 - .sysc_fields = &omap_hwmod_sysc_type2, 1077 - }; 1078 - 1079 - static struct omap_hwmod_class omap44xx_gpu_hwmod_class = { 1080 - .name = "gpu", 1081 - .sysc = &omap44xx_gpu_sysc, 1082 - }; 1083 - 1084 - /* gpu */ 1085 - static struct omap_hwmod omap44xx_gpu_hwmod = { 1086 - .name = "gpu", 1087 - .class = &omap44xx_gpu_hwmod_class, 1088 - .clkdm_name = "l3_gfx_clkdm", 1089 - .main_clk = "sgx_clk_mux", 1090 - .prcm = { 1091 - .omap4 = { 1092 - .clkctrl_offs = OMAP4_CM_GFX_GFX_CLKCTRL_OFFSET, 1093 - .context_offs = OMAP4_RM_GFX_GFX_CONTEXT_OFFSET, 1094 - .modulemode = MODULEMODE_SWCTRL, 1095 1084 }, 1096 1085 }, 1097 1086 }; ··· 2375 2434 }; 2376 2435 2377 2436 /* 2378 - * 'wd_timer' class 2379 - * 32-bit watchdog upward counter that generates a pulse on the reset pin on 2380 - * overflow condition 2381 - */ 2382 - 2383 - static struct omap_hwmod_class_sysconfig omap44xx_wd_timer_sysc = { 2384 - .rev_offs = 0x0000, 2385 - .sysc_offs = 0x0010, 2386 - .syss_offs = 0x0014, 2387 - .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SIDLEMODE | 2388 - SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), 2389 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 2390 - SIDLE_SMART_WKUP), 2391 - .sysc_fields = &omap_hwmod_sysc_type1, 2392 - }; 2393 - 2394 - static struct omap_hwmod_class omap44xx_wd_timer_hwmod_class = { 2395 - .name = "wd_timer", 2396 - .sysc = &omap44xx_wd_timer_sysc, 2397 - .pre_shutdown = &omap2_wd_timer_disable, 2398 - .reset = &omap2_wd_timer_reset, 2399 - }; 2400 - 2401 - /* wd_timer2 */ 2402 - static struct omap_hwmod omap44xx_wd_timer2_hwmod = { 2403 - .name = "wd_timer2", 2404 - .class = &omap44xx_wd_timer_hwmod_class, 2405 - .clkdm_name = "l4_wkup_clkdm", 2406 - .main_clk = "sys_32k_ck", 2407 - .prcm = { 2408 - .omap4 = { 2409 - .clkctrl_offs = OMAP4_CM_WKUP_WDT2_CLKCTRL_OFFSET, 2410 - .context_offs = OMAP4_RM_WKUP_WDT2_CONTEXT_OFFSET, 2411 - .modulemode = MODULEMODE_SWCTRL, 2412 - }, 2413 - }, 2414 - }; 2415 - 2416 - /* wd_timer3 */ 2417 - static struct omap_hwmod omap44xx_wd_timer3_hwmod = { 2418 - .name = "wd_timer3", 2419 - .class = &omap44xx_wd_timer_hwmod_class, 2420 - .clkdm_name = "abe_clkdm", 2421 - .main_clk = "sys_32k_ck", 2422 - .prcm = { 2423 - .omap4 = { 2424 - .clkctrl_offs = OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET, 2425 - .context_offs = OMAP4_RM_ABE_WDT3_CONTEXT_OFFSET, 2426 - .modulemode = MODULEMODE_SWCTRL, 2427 - }, 2428 - }, 2429 - }; 2430 - 2431 - 2432 - /* 2433 2437 * interfaces 2434 2438 */ 2435 2439 ··· 2477 2591 /* fdif -> l3_main_2 */ 2478 2592 static struct omap_hwmod_ocp_if omap44xx_fdif__l3_main_2 = { 2479 2593 .master = &omap44xx_fdif_hwmod, 2480 - .slave = &omap44xx_l3_main_2_hwmod, 2481 - .clk = "l3_div_ck", 2482 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2483 - }; 2484 - 2485 - /* gpu -> l3_main_2 */ 2486 - static struct omap_hwmod_ocp_if omap44xx_gpu__l3_main_2 = { 2487 - .master = &omap44xx_gpu_hwmod, 2488 2594 .slave = &omap44xx_l3_main_2_hwmod, 2489 2595 .clk = "l3_div_ck", 2490 2596 .user = OCP_USER_MPU | OCP_USER_SDMA, ··· 2664 2786 .slave = &omap44xx_aess_hwmod, 2665 2787 .clk = "ocp_abe_iclk", 2666 2788 .user = OCP_USER_SDMA, 2667 - }; 2668 - 2669 - /* l3_main_2 -> c2c */ 2670 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__c2c = { 2671 - .master = &omap44xx_l3_main_2_hwmod, 2672 - .slave = &omap44xx_c2c_hwmod, 2673 - .clk = "l3_div_ck", 2674 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2675 2789 }; 2676 2790 2677 2791 /* l4_wkup -> counter_32k */ ··· 2894 3024 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpmc = { 2895 3025 .master = &omap44xx_l3_main_2_hwmod, 2896 3026 .slave = &omap44xx_gpmc_hwmod, 2897 - .clk = "l3_div_ck", 2898 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2899 - }; 2900 - 2901 - /* l3_main_2 -> gpu */ 2902 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpu = { 2903 - .master = &omap44xx_l3_main_2_hwmod, 2904 - .slave = &omap44xx_gpu_hwmod, 2905 3027 .clk = "l3_div_ck", 2906 3028 .user = OCP_USER_MPU | OCP_USER_SDMA, 2907 3029 }; ··· 3258 3396 .user = OCP_USER_MPU | OCP_USER_SDMA, 3259 3397 }; 3260 3398 3261 - /* l4_wkup -> wd_timer2 */ 3262 - static struct omap_hwmod_ocp_if omap44xx_l4_wkup__wd_timer2 = { 3263 - .master = &omap44xx_l4_wkup_hwmod, 3264 - .slave = &omap44xx_wd_timer2_hwmod, 3265 - .clk = "l4_wkup_clk_mux_ck", 3266 - .user = OCP_USER_MPU | OCP_USER_SDMA, 3267 - }; 3268 - 3269 - /* l4_abe -> wd_timer3 */ 3270 - static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3 = { 3271 - .master = &omap44xx_l4_abe_hwmod, 3272 - .slave = &omap44xx_wd_timer3_hwmod, 3273 - .clk = "ocp_abe_iclk", 3274 - .user = OCP_USER_MPU, 3275 - }; 3276 - 3277 - /* l4_abe -> wd_timer3 (dma) */ 3278 - static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3_dma = { 3279 - .master = &omap44xx_l4_abe_hwmod, 3280 - .slave = &omap44xx_wd_timer3_hwmod, 3281 - .clk = "ocp_abe_iclk", 3282 - .user = OCP_USER_SDMA, 3283 - }; 3284 - 3285 3399 /* mpu -> emif1 */ 3286 3400 static struct omap_hwmod_ocp_if omap44xx_mpu__emif1 = { 3287 3401 .master = &omap44xx_mpu_hwmod, ··· 3288 3450 &omap44xx_debugss__l3_main_2, 3289 3451 &omap44xx_dma_system__l3_main_2, 3290 3452 &omap44xx_fdif__l3_main_2, 3291 - &omap44xx_gpu__l3_main_2, 3292 3453 &omap44xx_hsi__l3_main_2, 3293 3454 &omap44xx_ipu__l3_main_2, 3294 3455 &omap44xx_iss__l3_main_2, ··· 3311 3474 &omap44xx_l4_cfg__ocp_wp_noc, 3312 3475 &omap44xx_l4_abe__aess, 3313 3476 &omap44xx_l4_abe__aess_dma, 3314 - &omap44xx_l3_main_2__c2c, 3315 3477 &omap44xx_l4_wkup__counter_32k, 3316 3478 &omap44xx_l4_cfg__ctrl_module_core, 3317 3479 &omap44xx_l4_cfg__ctrl_module_pad_core, ··· 3339 3503 &omap44xx_l4_per__elm, 3340 3504 &omap44xx_l4_cfg__fdif, 3341 3505 &omap44xx_l3_main_2__gpmc, 3342 - &omap44xx_l3_main_2__gpu, 3343 3506 &omap44xx_l4_per__hdq1w, 3344 3507 &omap44xx_l4_cfg__hsi, 3345 3508 &omap44xx_l3_main_2__ipu, ··· 3386 3551 &omap44xx_l4_cfg__usb_host_hs, 3387 3552 &omap44xx_l4_cfg__usb_otg_hs, 3388 3553 &omap44xx_l4_cfg__usb_tll_hs, 3389 - &omap44xx_l4_wkup__wd_timer2, 3390 - &omap44xx_l4_abe__wd_timer3, 3391 - &omap44xx_l4_abe__wd_timer3_dma, 3392 3554 &omap44xx_mpu__emif1, 3393 3555 &omap44xx_mpu__emif2, 3394 3556 &omap44xx_l3_main_2__aes1,
-475
arch/arm/mach-omap2/omap_hwmod_7xx_data.c
··· 285 285 }; 286 286 287 287 /* 288 - * 'gmac' class 289 - * cpsw/gmac sub system 290 - */ 291 - static struct omap_hwmod_class_sysconfig dra7xx_gmac_sysc = { 292 - .rev_offs = 0x0, 293 - .sysc_offs = 0x8, 294 - .syss_offs = 0x4, 295 - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE | 296 - SYSS_HAS_RESET_STATUS), 297 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | MSTANDBY_FORCE | 298 - MSTANDBY_NO), 299 - .sysc_fields = &omap_hwmod_sysc_type3, 300 - }; 301 - 302 - static struct omap_hwmod_class dra7xx_gmac_hwmod_class = { 303 - .name = "gmac", 304 - .sysc = &dra7xx_gmac_sysc, 305 - }; 306 - 307 - static struct omap_hwmod dra7xx_gmac_hwmod = { 308 - .name = "gmac", 309 - .class = &dra7xx_gmac_hwmod_class, 310 - .clkdm_name = "gmac_clkdm", 311 - .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), 312 - .main_clk = "dpll_gmac_ck", 313 - .mpu_rt_idx = 1, 314 - .prcm = { 315 - .omap4 = { 316 - .clkctrl_offs = DRA7XX_CM_GMAC_GMAC_CLKCTRL_OFFSET, 317 - .context_offs = DRA7XX_RM_GMAC_GMAC_CONTEXT_OFFSET, 318 - .modulemode = MODULEMODE_SWCTRL, 319 - }, 320 - }, 321 - }; 322 - 323 - /* 324 - * 'mdio' class 325 - */ 326 - static struct omap_hwmod_class dra7xx_mdio_hwmod_class = { 327 - .name = "davinci_mdio", 328 - }; 329 - 330 - static struct omap_hwmod dra7xx_mdio_hwmod = { 331 - .name = "davinci_mdio", 332 - .class = &dra7xx_mdio_hwmod_class, 333 - .clkdm_name = "gmac_clkdm", 334 - .main_clk = "dpll_gmac_ck", 335 - }; 336 - 337 - /* 338 288 * 'dcan' class 339 289 * 340 290 */ ··· 994 1044 .context_offs = DRA7XX_RM_L4CFG_MAILBOX13_CONTEXT_OFFSET, 995 1045 }, 996 1046 }, 997 - }; 998 - 999 - /* 1000 - * 'mcspi' class 1001 - * 1002 - */ 1003 - 1004 - static struct omap_hwmod_class_sysconfig dra7xx_mcspi_sysc = { 1005 - .rev_offs = 0x0000, 1006 - .sysc_offs = 0x0010, 1007 - .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS | 1008 - SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), 1009 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 1010 - SIDLE_SMART_WKUP), 1011 - .sysc_fields = &omap_hwmod_sysc_type2, 1012 - }; 1013 - 1014 - static struct omap_hwmod_class dra7xx_mcspi_hwmod_class = { 1015 - .name = "mcspi", 1016 - .sysc = &dra7xx_mcspi_sysc, 1017 - }; 1018 - 1019 - /* mcspi1 */ 1020 - static struct omap_hwmod dra7xx_mcspi1_hwmod = { 1021 - .name = "mcspi1", 1022 - .class = &dra7xx_mcspi_hwmod_class, 1023 - .clkdm_name = "l4per_clkdm", 1024 - .main_clk = "func_48m_fclk", 1025 - .prcm = { 1026 - .omap4 = { 1027 - .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI1_CLKCTRL_OFFSET, 1028 - .context_offs = DRA7XX_RM_L4PER_MCSPI1_CONTEXT_OFFSET, 1029 - .modulemode = MODULEMODE_SWCTRL, 1030 - }, 1031 - }, 1032 - }; 1033 - 1034 - /* mcspi2 */ 1035 - static struct omap_hwmod dra7xx_mcspi2_hwmod = { 1036 - .name = "mcspi2", 1037 - .class = &dra7xx_mcspi_hwmod_class, 1038 - .clkdm_name = "l4per_clkdm", 1039 - .main_clk = "func_48m_fclk", 1040 - .prcm = { 1041 - .omap4 = { 1042 - .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI2_CLKCTRL_OFFSET, 1043 - .context_offs = DRA7XX_RM_L4PER_MCSPI2_CONTEXT_OFFSET, 1044 - .modulemode = MODULEMODE_SWCTRL, 1045 - }, 1046 - }, 1047 - }; 1048 - 1049 - /* mcspi3 */ 1050 - static struct omap_hwmod dra7xx_mcspi3_hwmod = { 1051 - .name = "mcspi3", 1052 - .class = &dra7xx_mcspi_hwmod_class, 1053 - .clkdm_name = "l4per_clkdm", 1054 - .main_clk = "func_48m_fclk", 1055 - .prcm = { 1056 - .omap4 = { 1057 - .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI3_CLKCTRL_OFFSET, 1058 - .context_offs = DRA7XX_RM_L4PER_MCSPI3_CONTEXT_OFFSET, 1059 - .modulemode = MODULEMODE_SWCTRL, 1060 - }, 1061 - }, 1062 - }; 1063 - 1064 - /* mcspi4 */ 1065 - static struct omap_hwmod dra7xx_mcspi4_hwmod = { 1066 - .name = "mcspi4", 1067 - .class = &dra7xx_mcspi_hwmod_class, 1068 - .clkdm_name = "l4per_clkdm", 1069 - .main_clk = "func_48m_fclk", 1070 - .prcm = { 1071 - .omap4 = { 1072 - .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI4_CLKCTRL_OFFSET, 1073 - .context_offs = DRA7XX_RM_L4PER_MCSPI4_CONTEXT_OFFSET, 1074 - .modulemode = MODULEMODE_SWCTRL, 1075 - }, 1076 - }, 1077 - }; 1078 - 1079 - /* 1080 - * 'mcasp' class 1081 - * 1082 - */ 1083 - static struct omap_hwmod_class_sysconfig dra7xx_mcasp_sysc = { 1084 - .rev_offs = 0, 1085 - .sysc_offs = 0x0004, 1086 - .sysc_flags = SYSC_HAS_SIDLEMODE, 1087 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 1088 - .sysc_fields = &omap_hwmod_sysc_type3, 1089 - }; 1090 - 1091 - static struct omap_hwmod_class dra7xx_mcasp_hwmod_class = { 1092 - .name = "mcasp", 1093 - .sysc = &dra7xx_mcasp_sysc, 1094 - }; 1095 - 1096 - /* mcasp1 */ 1097 - static struct omap_hwmod_opt_clk mcasp1_opt_clks[] = { 1098 - { .role = "ahclkx", .clk = "mcasp1_ahclkx_mux" }, 1099 - { .role = "ahclkr", .clk = "mcasp1_ahclkr_mux" }, 1100 - }; 1101 - 1102 - static struct omap_hwmod dra7xx_mcasp1_hwmod = { 1103 - .name = "mcasp1", 1104 - .class = &dra7xx_mcasp_hwmod_class, 1105 - .clkdm_name = "ipu_clkdm", 1106 - .main_clk = "mcasp1_aux_gfclk_mux", 1107 - .flags = HWMOD_OPT_CLKS_NEEDED, 1108 - .prcm = { 1109 - .omap4 = { 1110 - .clkctrl_offs = DRA7XX_CM_IPU_MCASP1_CLKCTRL_OFFSET, 1111 - .context_offs = DRA7XX_RM_IPU_MCASP1_CONTEXT_OFFSET, 1112 - .modulemode = MODULEMODE_SWCTRL, 1113 - }, 1114 - }, 1115 - .opt_clks = mcasp1_opt_clks, 1116 - .opt_clks_cnt = ARRAY_SIZE(mcasp1_opt_clks), 1117 - }; 1118 - 1119 - /* mcasp2 */ 1120 - static struct omap_hwmod_opt_clk mcasp2_opt_clks[] = { 1121 - { .role = "ahclkx", .clk = "mcasp2_ahclkx_mux" }, 1122 - { .role = "ahclkr", .clk = "mcasp2_ahclkr_mux" }, 1123 - }; 1124 - 1125 - static struct omap_hwmod dra7xx_mcasp2_hwmod = { 1126 - .name = "mcasp2", 1127 - .class = &dra7xx_mcasp_hwmod_class, 1128 - .clkdm_name = "l4per2_clkdm", 1129 - .main_clk = "mcasp2_aux_gfclk_mux", 1130 - .flags = HWMOD_OPT_CLKS_NEEDED, 1131 - .prcm = { 1132 - .omap4 = { 1133 - .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP2_CLKCTRL_OFFSET, 1134 - .context_offs = DRA7XX_RM_L4PER2_MCASP2_CONTEXT_OFFSET, 1135 - .modulemode = MODULEMODE_SWCTRL, 1136 - }, 1137 - }, 1138 - .opt_clks = mcasp2_opt_clks, 1139 - .opt_clks_cnt = ARRAY_SIZE(mcasp2_opt_clks), 1140 - }; 1141 - 1142 - /* mcasp3 */ 1143 - static struct omap_hwmod_opt_clk mcasp3_opt_clks[] = { 1144 - { .role = "ahclkx", .clk = "mcasp3_ahclkx_mux" }, 1145 - }; 1146 - 1147 - static struct omap_hwmod dra7xx_mcasp3_hwmod = { 1148 - .name = "mcasp3", 1149 - .class = &dra7xx_mcasp_hwmod_class, 1150 - .clkdm_name = "l4per2_clkdm", 1151 - .main_clk = "mcasp3_aux_gfclk_mux", 1152 - .flags = HWMOD_OPT_CLKS_NEEDED, 1153 - .prcm = { 1154 - .omap4 = { 1155 - .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP3_CLKCTRL_OFFSET, 1156 - .context_offs = DRA7XX_RM_L4PER2_MCASP3_CONTEXT_OFFSET, 1157 - .modulemode = MODULEMODE_SWCTRL, 1158 - }, 1159 - }, 1160 - .opt_clks = mcasp3_opt_clks, 1161 - .opt_clks_cnt = ARRAY_SIZE(mcasp3_opt_clks), 1162 - }; 1163 - 1164 - /* mcasp4 */ 1165 - static struct omap_hwmod_opt_clk mcasp4_opt_clks[] = { 1166 - { .role = "ahclkx", .clk = "mcasp4_ahclkx_mux" }, 1167 - }; 1168 - 1169 - static struct omap_hwmod dra7xx_mcasp4_hwmod = { 1170 - .name = "mcasp4", 1171 - .class = &dra7xx_mcasp_hwmod_class, 1172 - .clkdm_name = "l4per2_clkdm", 1173 - .main_clk = "mcasp4_aux_gfclk_mux", 1174 - .flags = HWMOD_OPT_CLKS_NEEDED, 1175 - .prcm = { 1176 - .omap4 = { 1177 - .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP4_CLKCTRL_OFFSET, 1178 - .context_offs = DRA7XX_RM_L4PER2_MCASP4_CONTEXT_OFFSET, 1179 - .modulemode = MODULEMODE_SWCTRL, 1180 - }, 1181 - }, 1182 - .opt_clks = mcasp4_opt_clks, 1183 - .opt_clks_cnt = ARRAY_SIZE(mcasp4_opt_clks), 1184 - }; 1185 - 1186 - /* mcasp5 */ 1187 - static struct omap_hwmod_opt_clk mcasp5_opt_clks[] = { 1188 - { .role = "ahclkx", .clk = "mcasp5_ahclkx_mux" }, 1189 - }; 1190 - 1191 - static struct omap_hwmod dra7xx_mcasp5_hwmod = { 1192 - .name = "mcasp5", 1193 - .class = &dra7xx_mcasp_hwmod_class, 1194 - .clkdm_name = "l4per2_clkdm", 1195 - .main_clk = "mcasp5_aux_gfclk_mux", 1196 - .flags = HWMOD_OPT_CLKS_NEEDED, 1197 - .prcm = { 1198 - .omap4 = { 1199 - .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP5_CLKCTRL_OFFSET, 1200 - .context_offs = DRA7XX_RM_L4PER2_MCASP5_CONTEXT_OFFSET, 1201 - .modulemode = MODULEMODE_SWCTRL, 1202 - }, 1203 - }, 1204 - .opt_clks = mcasp5_opt_clks, 1205 - .opt_clks_cnt = ARRAY_SIZE(mcasp5_opt_clks), 1206 - }; 1207 - 1208 - /* mcasp6 */ 1209 - static struct omap_hwmod_opt_clk mcasp6_opt_clks[] = { 1210 - { .role = "ahclkx", .clk = "mcasp6_ahclkx_mux" }, 1211 - }; 1212 - 1213 - static struct omap_hwmod dra7xx_mcasp6_hwmod = { 1214 - .name = "mcasp6", 1215 - .class = &dra7xx_mcasp_hwmod_class, 1216 - .clkdm_name = "l4per2_clkdm", 1217 - .main_clk = "mcasp6_aux_gfclk_mux", 1218 - .flags = HWMOD_OPT_CLKS_NEEDED, 1219 - .prcm = { 1220 - .omap4 = { 1221 - .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP6_CLKCTRL_OFFSET, 1222 - .context_offs = DRA7XX_RM_L4PER2_MCASP6_CONTEXT_OFFSET, 1223 - .modulemode = MODULEMODE_SWCTRL, 1224 - }, 1225 - }, 1226 - .opt_clks = mcasp6_opt_clks, 1227 - .opt_clks_cnt = ARRAY_SIZE(mcasp6_opt_clks), 1228 - }; 1229 - 1230 - /* mcasp7 */ 1231 - static struct omap_hwmod_opt_clk mcasp7_opt_clks[] = { 1232 - { .role = "ahclkx", .clk = "mcasp7_ahclkx_mux" }, 1233 - }; 1234 - 1235 - static struct omap_hwmod dra7xx_mcasp7_hwmod = { 1236 - .name = "mcasp7", 1237 - .class = &dra7xx_mcasp_hwmod_class, 1238 - .clkdm_name = "l4per2_clkdm", 1239 - .main_clk = "mcasp7_aux_gfclk_mux", 1240 - .flags = HWMOD_OPT_CLKS_NEEDED, 1241 - .prcm = { 1242 - .omap4 = { 1243 - .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP7_CLKCTRL_OFFSET, 1244 - .context_offs = DRA7XX_RM_L4PER2_MCASP7_CONTEXT_OFFSET, 1245 - .modulemode = MODULEMODE_SWCTRL, 1246 - }, 1247 - }, 1248 - .opt_clks = mcasp7_opt_clks, 1249 - .opt_clks_cnt = ARRAY_SIZE(mcasp7_opt_clks), 1250 - }; 1251 - 1252 - /* mcasp8 */ 1253 - static struct omap_hwmod_opt_clk mcasp8_opt_clks[] = { 1254 - { .role = "ahclkx", .clk = "mcasp8_ahclkx_mux" }, 1255 - }; 1256 - 1257 - static struct omap_hwmod dra7xx_mcasp8_hwmod = { 1258 - .name = "mcasp8", 1259 - .class = &dra7xx_mcasp_hwmod_class, 1260 - .clkdm_name = "l4per2_clkdm", 1261 - .main_clk = "mcasp8_aux_gfclk_mux", 1262 - .flags = HWMOD_OPT_CLKS_NEEDED, 1263 - .prcm = { 1264 - .omap4 = { 1265 - .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP8_CLKCTRL_OFFSET, 1266 - .context_offs = DRA7XX_RM_L4PER2_MCASP8_CONTEXT_OFFSET, 1267 - .modulemode = MODULEMODE_SWCTRL, 1268 - }, 1269 - }, 1270 - .opt_clks = mcasp8_opt_clks, 1271 - .opt_clks_cnt = ARRAY_SIZE(mcasp8_opt_clks), 1272 1047 }; 1273 1048 1274 1049 /* ··· 1978 2303 .user = OCP_USER_MPU | OCP_USER_SDMA, 1979 2304 }; 1980 2305 1981 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__cpgmac0 = { 1982 - .master = &dra7xx_l4_per2_hwmod, 1983 - .slave = &dra7xx_gmac_hwmod, 1984 - .clk = "dpll_gmac_ck", 1985 - .user = OCP_USER_MPU, 1986 - }; 1987 - 1988 - static struct omap_hwmod_ocp_if dra7xx_gmac__mdio = { 1989 - .master = &dra7xx_gmac_hwmod, 1990 - .slave = &dra7xx_mdio_hwmod, 1991 - .user = OCP_USER_MPU, 1992 - }; 1993 - 1994 2306 /* l4_wkup -> dcan1 */ 1995 2307 static struct omap_hwmod_ocp_if dra7xx_l4_wkup__dcan1 = { 1996 2308 .master = &dra7xx_l4_wkup_hwmod, ··· 2071 2409 .master = &dra7xx_l3_main_1_hwmod, 2072 2410 .slave = &dra7xx_sha0_hwmod, 2073 2411 .clk = "l3_iclk_div", 2074 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2075 - }; 2076 - 2077 - /* l4_per2 -> mcasp1 */ 2078 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp1 = { 2079 - .master = &dra7xx_l4_per2_hwmod, 2080 - .slave = &dra7xx_mcasp1_hwmod, 2081 - .clk = "l4_root_clk_div", 2082 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2083 - }; 2084 - 2085 - /* l3_main_1 -> mcasp1 */ 2086 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp1 = { 2087 - .master = &dra7xx_l3_main_1_hwmod, 2088 - .slave = &dra7xx_mcasp1_hwmod, 2089 - .clk = "l3_iclk_div", 2090 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2091 - }; 2092 - 2093 - /* l4_per2 -> mcasp2 */ 2094 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp2 = { 2095 - .master = &dra7xx_l4_per2_hwmod, 2096 - .slave = &dra7xx_mcasp2_hwmod, 2097 - .clk = "l4_root_clk_div", 2098 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2099 - }; 2100 - 2101 - /* l3_main_1 -> mcasp2 */ 2102 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp2 = { 2103 - .master = &dra7xx_l3_main_1_hwmod, 2104 - .slave = &dra7xx_mcasp2_hwmod, 2105 - .clk = "l3_iclk_div", 2106 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2107 - }; 2108 - 2109 - /* l4_per2 -> mcasp3 */ 2110 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp3 = { 2111 - .master = &dra7xx_l4_per2_hwmod, 2112 - .slave = &dra7xx_mcasp3_hwmod, 2113 - .clk = "l4_root_clk_div", 2114 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2115 - }; 2116 - 2117 - /* l3_main_1 -> mcasp3 */ 2118 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp3 = { 2119 - .master = &dra7xx_l3_main_1_hwmod, 2120 - .slave = &dra7xx_mcasp3_hwmod, 2121 - .clk = "l3_iclk_div", 2122 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2123 - }; 2124 - 2125 - /* l4_per2 -> mcasp4 */ 2126 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp4 = { 2127 - .master = &dra7xx_l4_per2_hwmod, 2128 - .slave = &dra7xx_mcasp4_hwmod, 2129 - .clk = "l4_root_clk_div", 2130 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2131 - }; 2132 - 2133 - /* l4_per2 -> mcasp5 */ 2134 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp5 = { 2135 - .master = &dra7xx_l4_per2_hwmod, 2136 - .slave = &dra7xx_mcasp5_hwmod, 2137 - .clk = "l4_root_clk_div", 2138 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2139 - }; 2140 - 2141 - /* l4_per2 -> mcasp6 */ 2142 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp6 = { 2143 - .master = &dra7xx_l4_per2_hwmod, 2144 - .slave = &dra7xx_mcasp6_hwmod, 2145 - .clk = "l4_root_clk_div", 2146 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2147 - }; 2148 - 2149 - /* l4_per2 -> mcasp7 */ 2150 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp7 = { 2151 - .master = &dra7xx_l4_per2_hwmod, 2152 - .slave = &dra7xx_mcasp7_hwmod, 2153 - .clk = "l4_root_clk_div", 2154 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2155 - }; 2156 - 2157 - /* l4_per2 -> mcasp8 */ 2158 - static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp8 = { 2159 - .master = &dra7xx_l4_per2_hwmod, 2160 - .slave = &dra7xx_mcasp8_hwmod, 2161 - .clk = "l4_root_clk_div", 2162 2412 .user = OCP_USER_MPU | OCP_USER_SDMA, 2163 2413 }; 2164 2414 ··· 2198 2624 static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox13 = { 2199 2625 .master = &dra7xx_l4_per3_hwmod, 2200 2626 .slave = &dra7xx_mailbox13_hwmod, 2201 - .clk = "l3_iclk_div", 2202 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2203 - }; 2204 - 2205 - /* l4_per1 -> mcspi1 */ 2206 - static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi1 = { 2207 - .master = &dra7xx_l4_per1_hwmod, 2208 - .slave = &dra7xx_mcspi1_hwmod, 2209 - .clk = "l3_iclk_div", 2210 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2211 - }; 2212 - 2213 - /* l4_per1 -> mcspi2 */ 2214 - static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi2 = { 2215 - .master = &dra7xx_l4_per1_hwmod, 2216 - .slave = &dra7xx_mcspi2_hwmod, 2217 - .clk = "l3_iclk_div", 2218 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2219 - }; 2220 - 2221 - /* l4_per1 -> mcspi3 */ 2222 - static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi3 = { 2223 - .master = &dra7xx_l4_per1_hwmod, 2224 - .slave = &dra7xx_mcspi3_hwmod, 2225 - .clk = "l3_iclk_div", 2226 - .user = OCP_USER_MPU | OCP_USER_SDMA, 2227 - }; 2228 - 2229 - /* l4_per1 -> mcspi4 */ 2230 - static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi4 = { 2231 - .master = &dra7xx_l4_per1_hwmod, 2232 - .slave = &dra7xx_mcspi4_hwmod, 2233 2627 .clk = "l3_iclk_div", 2234 2628 .user = OCP_USER_MPU | OCP_USER_SDMA, 2235 2629 }; ··· 2563 3021 &dra7xx_l4_wkup__ctrl_module_wkup, 2564 3022 &dra7xx_l4_wkup__dcan1, 2565 3023 &dra7xx_l4_per2__dcan2, 2566 - &dra7xx_l4_per2__cpgmac0, 2567 - &dra7xx_l4_per2__mcasp1, 2568 - &dra7xx_l3_main_1__mcasp1, 2569 - &dra7xx_l4_per2__mcasp2, 2570 - &dra7xx_l3_main_1__mcasp2, 2571 - &dra7xx_l4_per2__mcasp3, 2572 - &dra7xx_l3_main_1__mcasp3, 2573 - &dra7xx_l4_per2__mcasp4, 2574 - &dra7xx_l4_per2__mcasp5, 2575 - &dra7xx_l4_per2__mcasp6, 2576 - &dra7xx_l4_per2__mcasp7, 2577 - &dra7xx_l4_per2__mcasp8, 2578 - &dra7xx_gmac__mdio, 2579 3024 &dra7xx_l4_cfg__dma_system, 2580 3025 &dra7xx_l3_main_1__tpcc, 2581 3026 &dra7xx_l3_main_1__tptc0, ··· 2589 3060 &dra7xx_l4_per3__mailbox11, 2590 3061 &dra7xx_l4_per3__mailbox12, 2591 3062 &dra7xx_l4_per3__mailbox13, 2592 - &dra7xx_l4_per1__mcspi1, 2593 - &dra7xx_l4_per1__mcspi2, 2594 - &dra7xx_l4_per1__mcspi3, 2595 - &dra7xx_l4_per1__mcspi4, 2596 3063 &dra7xx_l4_cfg__mpu, 2597 3064 &dra7xx_l4_cfg__ocp2scp1, 2598 3065 &dra7xx_l4_cfg__ocp2scp3,
+1
arch/arm/plat-samsung/watchdog-reset.c
··· 62 62 #ifdef CONFIG_OF 63 63 static const struct of_device_id s3c2410_wdt_match[] = { 64 64 { .compatible = "samsung,s3c2410-wdt" }, 65 + { .compatible = "samsung,s3c6410-wdt" }, 65 66 {}, 66 67 }; 67 68
+1
arch/arm64/boot/dts/marvell/Makefile
··· 2 2 # Mvebu SoC Family 3 3 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb 4 4 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb 5 + dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-turris-mox.dtb 5 6 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-uDPU.dtb 6 7 dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb 7 8 dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-clearfog-gt-8k.dtb
+840
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Device Tree file for CZ.NIC Turris Mox Board 4 + * 2019 by Marek Behun <marek.behun@nic.cz> 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include <dt-bindings/bus/moxtet.h> 10 + #include <dt-bindings/gpio/gpio.h> 11 + #include <dt-bindings/input/input.h> 12 + #include "armada-372x.dtsi" 13 + 14 + / { 15 + model = "CZ.NIC Turris Mox Board"; 16 + compatible = "cznic,turris-mox", "marvell,armada3720", 17 + "marvell,armada3710"; 18 + 19 + aliases { 20 + spi0 = &spi0; 21 + ethernet1 = &eth1; 22 + }; 23 + 24 + chosen { 25 + stdout-path = "serial0:115200n8"; 26 + }; 27 + 28 + memory@0 { 29 + device_type = "memory"; 30 + reg = <0x00000000 0x00000000 0x00000000 0x20000000>; 31 + }; 32 + 33 + leds { 34 + compatible = "gpio-leds"; 35 + red { 36 + label = "mox:red:activity"; 37 + gpios = <&gpiosb 21 GPIO_ACTIVE_LOW>; 38 + linux,default-trigger = "default-on"; 39 + }; 40 + }; 41 + 42 + gpio-keys { 43 + compatible = "gpio-keys"; 44 + 45 + reset { 46 + label = "reset"; 47 + linux,code = <KEY_RESTART>; 48 + gpios = <&gpiosb 20 GPIO_ACTIVE_LOW>; 49 + debounce-interval = <60>; 50 + }; 51 + }; 52 + 53 + exp_usb3_vbus: usb3-vbus { 54 + compatible = "regulator-fixed"; 55 + regulator-name = "usb3-vbus"; 56 + regulator-min-microvolt = <5000000>; 57 + regulator-max-microvolt = <5000000>; 58 + enable-active-high; 59 + regulator-always-on; 60 + gpio = <&gpiosb 0 GPIO_ACTIVE_HIGH>; 61 + }; 62 + 63 + usb3_phy: usb3-phy { 64 + compatible = "usb-nop-xceiv"; 65 + vcc-supply = <&exp_usb3_vbus>; 66 + }; 67 + 68 + vsdc_reg: vsdc-reg { 69 + compatible = "regulator-gpio"; 70 + regulator-name = "vsdc"; 71 + regulator-min-microvolt = <1800000>; 72 + regulator-max-microvolt = <3300000>; 73 + regulator-boot-on; 74 + 75 + gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>; 76 + gpios-states = <0>; 77 + states = <1800000 0x1 78 + 3300000 0x0>; 79 + enable-active-high; 80 + }; 81 + 82 + vsdio_reg: vsdio-reg { 83 + compatible = "regulator-gpio"; 84 + regulator-name = "vsdio"; 85 + regulator-min-microvolt = <1800000>; 86 + regulator-max-microvolt = <3300000>; 87 + regulator-boot-on; 88 + 89 + gpios = <&gpiosb 22 GPIO_ACTIVE_HIGH>; 90 + gpios-states = <0>; 91 + states = <1800000 0x1 92 + 3300000 0x0>; 93 + enable-active-high; 94 + }; 95 + 96 + sdhci1_pwrseq: sdhci1-pwrseq { 97 + compatible = "mmc-pwrseq-simple"; 98 + reset-gpios = <&gpionb 19 GPIO_ACTIVE_HIGH>; 99 + status = "okay"; 100 + }; 101 + 102 + sfp: sfp { 103 + compatible = "sff,sfp+"; 104 + i2c-bus = <&i2c0>; 105 + los-gpio = <&moxtet_sfp 0 GPIO_ACTIVE_HIGH>; 106 + tx-fault-gpio = <&moxtet_sfp 1 GPIO_ACTIVE_HIGH>; 107 + mod-def0-gpio = <&moxtet_sfp 2 GPIO_ACTIVE_LOW>; 108 + tx-disable-gpio = <&moxtet_sfp 4 GPIO_ACTIVE_HIGH>; 109 + rate-select0-gpio = <&moxtet_sfp 5 GPIO_ACTIVE_HIGH>; 110 + 111 + /* enabled by U-Boot if SFP module is present */ 112 + status = "disabled"; 113 + }; 114 + }; 115 + 116 + &i2c0 { 117 + pinctrl-names = "default"; 118 + pinctrl-0 = <&i2c1_pins>; 119 + clock-frequency = <100000>; 120 + status = "okay"; 121 + 122 + rtc@6f { 123 + compatible = "microchip,mcp7940x"; 124 + reg = <0x6f>; 125 + }; 126 + }; 127 + 128 + &pcie_reset_pins { 129 + function = "gpio"; 130 + }; 131 + 132 + &pcie0 { 133 + pinctrl-names = "default"; 134 + pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>; 135 + status = "okay"; 136 + max-link-speed = <2>; 137 + reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>; 138 + phys = <&comphy1 0>; 139 + 140 + /* enabled by U-Boot if PCIe module is present */ 141 + status = "disabled"; 142 + }; 143 + 144 + &uart0 { 145 + status = "okay"; 146 + }; 147 + 148 + &eth0 { 149 + pinctrl-names = "default"; 150 + pinctrl-0 = <&rgmii_pins>; 151 + phy-mode = "rgmii-id"; 152 + phy = <&phy1>; 153 + status = "okay"; 154 + }; 155 + 156 + &eth1 { 157 + phy-mode = "2500base-x"; 158 + managed = "in-band-status"; 159 + phys = <&comphy0 1>; 160 + }; 161 + 162 + &sdhci0 { 163 + wp-inverted; 164 + bus-width = <4>; 165 + cd-gpios = <&gpionb 10 GPIO_ACTIVE_HIGH>; 166 + vqmmc-supply = <&vsdc_reg>; 167 + marvell,pad-type = "sd"; 168 + status = "okay"; 169 + }; 170 + 171 + &sdhci1 { 172 + pinctrl-names = "default"; 173 + pinctrl-0 = <&sdio_pins>; 174 + non-removable; 175 + bus-width = <4>; 176 + marvell,pad-type = "sd"; 177 + vqmmc-supply = <&vsdio_reg>; 178 + mmc-pwrseq = <&sdhci1_pwrseq>; 179 + status = "okay"; 180 + }; 181 + 182 + &spi0 { 183 + status = "okay"; 184 + pinctrl-names = "default"; 185 + pinctrl-0 = <&spi_quad_pins &spi_cs1_pins>; 186 + assigned-clocks = <&nb_periph_clk 7>; 187 + assigned-clock-parents = <&tbg 1>; 188 + assigned-clock-rates = <20000000>; 189 + 190 + spi-flash@0 { 191 + #address-cells = <1>; 192 + #size-cells = <1>; 193 + compatible = "jedec,spi-nor"; 194 + reg = <0>; 195 + spi-max-frequency = <20000000>; 196 + 197 + partitions { 198 + compatible = "fixed-partitions"; 199 + #address-cells = <1>; 200 + #size-cells = <1>; 201 + 202 + partition@0 { 203 + label = "secure-firmware"; 204 + reg = <0x0 0x20000>; 205 + }; 206 + 207 + partition@20000 { 208 + label = "u-boot"; 209 + reg = <0x20000 0x160000>; 210 + }; 211 + 212 + partition@180000 { 213 + label = "u-boot-env"; 214 + reg = <0x180000 0x10000>; 215 + }; 216 + 217 + partition@190000 { 218 + label = "Rescue system"; 219 + reg = <0x190000 0x660000>; 220 + }; 221 + 222 + partition@7f0000 { 223 + label = "dtb"; 224 + reg = <0x7f0000 0x10000>; 225 + }; 226 + }; 227 + }; 228 + 229 + moxtet: moxtet@1 { 230 + #address-cells = <1>; 231 + #size-cells = <0>; 232 + compatible = "cznic,moxtet"; 233 + reg = <1>; 234 + reset-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>; 235 + spi-max-frequency = <10000000>; 236 + spi-cpol; 237 + spi-cpha; 238 + interrupt-controller; 239 + #interrupt-cells = <1>; 240 + interrupt-parent = <&gpiosb>; 241 + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 242 + status = "okay"; 243 + 244 + moxtet_sfp: gpio@0 { 245 + compatible = "cznic,moxtet-gpio"; 246 + gpio-controller; 247 + #gpio-cells = <2>; 248 + reg = <0>; 249 + status = "disabled"; 250 + }; 251 + }; 252 + }; 253 + 254 + &usb2 { 255 + status = "okay"; 256 + }; 257 + 258 + &usb3 { 259 + status = "okay"; 260 + phys = <&comphy2 0>; 261 + usb-phy = <&usb3_phy>; 262 + }; 263 + 264 + &mdio { 265 + pinctrl-names = "default"; 266 + pinctrl-0 = <&smi_pins>; 267 + status = "okay"; 268 + 269 + phy1: ethernet-phy@1 { 270 + reg = <1>; 271 + }; 272 + 273 + /* switch nodes are enabled by U-Boot if modules are present */ 274 + switch0@10 { 275 + compatible = "marvell,mv88e6190"; 276 + reg = <0x10 0>; 277 + dsa,member = <0 0>; 278 + interrupt-parent = <&moxtet>; 279 + interrupts = <MOXTET_IRQ_PERIDOT(0)>; 280 + status = "disabled"; 281 + 282 + mdio { 283 + #address-cells = <1>; 284 + #size-cells = <0>; 285 + 286 + switch0phy1: switch0phy1@1 { 287 + reg = <0x1>; 288 + }; 289 + 290 + switch0phy2: switch0phy2@2 { 291 + reg = <0x2>; 292 + }; 293 + 294 + switch0phy3: switch0phy3@3 { 295 + reg = <0x3>; 296 + }; 297 + 298 + switch0phy4: switch0phy4@4 { 299 + reg = <0x4>; 300 + }; 301 + 302 + switch0phy5: switch0phy5@5 { 303 + reg = <0x5>; 304 + }; 305 + 306 + switch0phy6: switch0phy6@6 { 307 + reg = <0x6>; 308 + }; 309 + 310 + switch0phy7: switch0phy7@7 { 311 + reg = <0x7>; 312 + }; 313 + 314 + switch0phy8: switch0phy8@8 { 315 + reg = <0x8>; 316 + }; 317 + }; 318 + 319 + ports { 320 + #address-cells = <1>; 321 + #size-cells = <0>; 322 + 323 + port@1 { 324 + reg = <0x1>; 325 + label = "lan1"; 326 + phy-handle = <&switch0phy1>; 327 + }; 328 + 329 + port@2 { 330 + reg = <0x2>; 331 + label = "lan2"; 332 + phy-handle = <&switch0phy2>; 333 + }; 334 + 335 + port@3 { 336 + reg = <0x3>; 337 + label = "lan3"; 338 + phy-handle = <&switch0phy3>; 339 + }; 340 + 341 + port@4 { 342 + reg = <0x4>; 343 + label = "lan4"; 344 + phy-handle = <&switch0phy4>; 345 + }; 346 + 347 + port@5 { 348 + reg = <0x5>; 349 + label = "lan5"; 350 + phy-handle = <&switch0phy5>; 351 + }; 352 + 353 + port@6 { 354 + reg = <0x6>; 355 + label = "lan6"; 356 + phy-handle = <&switch0phy6>; 357 + }; 358 + 359 + port@7 { 360 + reg = <0x7>; 361 + label = "lan7"; 362 + phy-handle = <&switch0phy7>; 363 + }; 364 + 365 + port@8 { 366 + reg = <0x8>; 367 + label = "lan8"; 368 + phy-handle = <&switch0phy8>; 369 + }; 370 + 371 + port@9 { 372 + reg = <0x9>; 373 + label = "cpu"; 374 + ethernet = <&eth1>; 375 + phy-mode = "2500base-x"; 376 + managed = "in-band-status"; 377 + }; 378 + 379 + switch0port10: port@a { 380 + reg = <0xa>; 381 + label = "dsa"; 382 + phy-mode = "2500base-x"; 383 + managed = "in-band-status"; 384 + link = <&switch1port9 &switch2port9>; 385 + status = "disabled"; 386 + }; 387 + 388 + port-sfp@a { 389 + reg = <0xa>; 390 + label = "sfp"; 391 + sfp = <&sfp>; 392 + phy-mode = "sgmii"; 393 + managed = "in-band-status"; 394 + status = "disabled"; 395 + }; 396 + }; 397 + }; 398 + 399 + switch0@2 { 400 + compatible = "marvell,mv88e6085"; 401 + reg = <0x2 0>; 402 + dsa,member = <0 0>; 403 + interrupt-parent = <&moxtet>; 404 + interrupts = <MOXTET_IRQ_TOPAZ>; 405 + status = "disabled"; 406 + 407 + mdio { 408 + #address-cells = <1>; 409 + #size-cells = <0>; 410 + 411 + switch0phy1_topaz: switch0phy1@11 { 412 + reg = <0x11>; 413 + }; 414 + 415 + switch0phy2_topaz: switch0phy2@12 { 416 + reg = <0x12>; 417 + }; 418 + 419 + switch0phy3_topaz: switch0phy3@13 { 420 + reg = <0x13>; 421 + }; 422 + 423 + switch0phy4_topaz: switch0phy4@14 { 424 + reg = <0x14>; 425 + }; 426 + }; 427 + 428 + ports { 429 + #address-cells = <1>; 430 + #size-cells = <0>; 431 + 432 + port@1 { 433 + reg = <0x1>; 434 + label = "lan1"; 435 + phy-handle = <&switch0phy1_topaz>; 436 + }; 437 + 438 + port@2 { 439 + reg = <0x2>; 440 + label = "lan2"; 441 + phy-handle = <&switch0phy2_topaz>; 442 + }; 443 + 444 + port@3 { 445 + reg = <0x3>; 446 + label = "lan3"; 447 + phy-handle = <&switch0phy3_topaz>; 448 + }; 449 + 450 + port@4 { 451 + reg = <0x4>; 452 + label = "lan4"; 453 + phy-handle = <&switch0phy4_topaz>; 454 + }; 455 + 456 + port@5 { 457 + reg = <0x5>; 458 + label = "cpu"; 459 + phy-mode = "2500base-x"; 460 + managed = "in-band-status"; 461 + ethernet = <&eth1>; 462 + }; 463 + }; 464 + }; 465 + 466 + switch1@11 { 467 + compatible = "marvell,mv88e6190"; 468 + reg = <0x11 0>; 469 + dsa,member = <0 1>; 470 + interrupt-parent = <&moxtet>; 471 + interrupts = <MOXTET_IRQ_PERIDOT(1)>; 472 + status = "disabled"; 473 + 474 + mdio { 475 + #address-cells = <1>; 476 + #size-cells = <0>; 477 + 478 + switch1phy1: switch1phy1@1 { 479 + reg = <0x1>; 480 + }; 481 + 482 + switch1phy2: switch1phy2@2 { 483 + reg = <0x2>; 484 + }; 485 + 486 + switch1phy3: switch1phy3@3 { 487 + reg = <0x3>; 488 + }; 489 + 490 + switch1phy4: switch1phy4@4 { 491 + reg = <0x4>; 492 + }; 493 + 494 + switch1phy5: switch1phy5@5 { 495 + reg = <0x5>; 496 + }; 497 + 498 + switch1phy6: switch1phy6@6 { 499 + reg = <0x6>; 500 + }; 501 + 502 + switch1phy7: switch1phy7@7 { 503 + reg = <0x7>; 504 + }; 505 + 506 + switch1phy8: switch1phy8@8 { 507 + reg = <0x8>; 508 + }; 509 + }; 510 + 511 + ports { 512 + #address-cells = <1>; 513 + #size-cells = <0>; 514 + 515 + port@1 { 516 + reg = <0x1>; 517 + label = "lan9"; 518 + phy-handle = <&switch1phy1>; 519 + }; 520 + 521 + port@2 { 522 + reg = <0x2>; 523 + label = "lan10"; 524 + phy-handle = <&switch1phy2>; 525 + }; 526 + 527 + port@3 { 528 + reg = <0x3>; 529 + label = "lan11"; 530 + phy-handle = <&switch1phy3>; 531 + }; 532 + 533 + port@4 { 534 + reg = <0x4>; 535 + label = "lan12"; 536 + phy-handle = <&switch1phy4>; 537 + }; 538 + 539 + port@5 { 540 + reg = <0x5>; 541 + label = "lan13"; 542 + phy-handle = <&switch1phy5>; 543 + }; 544 + 545 + port@6 { 546 + reg = <0x6>; 547 + label = "lan14"; 548 + phy-handle = <&switch1phy6>; 549 + }; 550 + 551 + port@7 { 552 + reg = <0x7>; 553 + label = "lan15"; 554 + phy-handle = <&switch1phy7>; 555 + }; 556 + 557 + port@8 { 558 + reg = <0x8>; 559 + label = "lan16"; 560 + phy-handle = <&switch1phy8>; 561 + }; 562 + 563 + switch1port9: port@9 { 564 + reg = <0x9>; 565 + label = "dsa"; 566 + phy-mode = "2500base-x"; 567 + managed = "in-band-status"; 568 + link = <&switch0port10>; 569 + }; 570 + 571 + switch1port10: port@a { 572 + reg = <0xa>; 573 + label = "dsa"; 574 + phy-mode = "2500base-x"; 575 + managed = "in-band-status"; 576 + link = <&switch2port9>; 577 + status = "disabled"; 578 + }; 579 + 580 + port-sfp@a { 581 + reg = <0xa>; 582 + label = "sfp"; 583 + sfp = <&sfp>; 584 + phy-mode = "sgmii"; 585 + managed = "in-band-status"; 586 + status = "disabled"; 587 + }; 588 + }; 589 + }; 590 + 591 + switch1@2 { 592 + compatible = "marvell,mv88e6085"; 593 + reg = <0x2 0>; 594 + dsa,member = <0 1>; 595 + interrupt-parent = <&moxtet>; 596 + interrupts = <MOXTET_IRQ_TOPAZ>; 597 + status = "disabled"; 598 + 599 + mdio { 600 + #address-cells = <1>; 601 + #size-cells = <0>; 602 + 603 + switch1phy1_topaz: switch1phy1@11 { 604 + reg = <0x11>; 605 + }; 606 + 607 + switch1phy2_topaz: switch1phy2@12 { 608 + reg = <0x12>; 609 + }; 610 + 611 + switch1phy3_topaz: switch1phy3@13 { 612 + reg = <0x13>; 613 + }; 614 + 615 + switch1phy4_topaz: switch1phy4@14 { 616 + reg = <0x14>; 617 + }; 618 + }; 619 + 620 + ports { 621 + #address-cells = <1>; 622 + #size-cells = <0>; 623 + 624 + port@1 { 625 + reg = <0x1>; 626 + label = "lan9"; 627 + phy-handle = <&switch1phy1_topaz>; 628 + }; 629 + 630 + port@2 { 631 + reg = <0x2>; 632 + label = "lan10"; 633 + phy-handle = <&switch1phy2_topaz>; 634 + }; 635 + 636 + port@3 { 637 + reg = <0x3>; 638 + label = "lan11"; 639 + phy-handle = <&switch1phy3_topaz>; 640 + }; 641 + 642 + port@4 { 643 + reg = <0x4>; 644 + label = "lan12"; 645 + phy-handle = <&switch1phy4_topaz>; 646 + }; 647 + 648 + port@5 { 649 + reg = <0x5>; 650 + label = "dsa"; 651 + phy-mode = "2500base-x"; 652 + managed = "in-band-status"; 653 + link = <&switch0port10>; 654 + }; 655 + }; 656 + }; 657 + 658 + switch2@12 { 659 + compatible = "marvell,mv88e6190"; 660 + reg = <0x12 0>; 661 + dsa,member = <0 2>; 662 + interrupt-parent = <&moxtet>; 663 + interrupts = <MOXTET_IRQ_PERIDOT(2)>; 664 + status = "disabled"; 665 + 666 + mdio { 667 + #address-cells = <1>; 668 + #size-cells = <0>; 669 + 670 + switch2phy1: switch2phy1@1 { 671 + reg = <0x1>; 672 + }; 673 + 674 + switch2phy2: switch2phy2@2 { 675 + reg = <0x2>; 676 + }; 677 + 678 + switch2phy3: switch2phy3@3 { 679 + reg = <0x3>; 680 + }; 681 + 682 + switch2phy4: switch2phy4@4 { 683 + reg = <0x4>; 684 + }; 685 + 686 + switch2phy5: switch2phy5@5 { 687 + reg = <0x5>; 688 + }; 689 + 690 + switch2phy6: switch2phy6@6 { 691 + reg = <0x6>; 692 + }; 693 + 694 + switch2phy7: switch2phy7@7 { 695 + reg = <0x7>; 696 + }; 697 + 698 + switch2phy8: switch2phy8@8 { 699 + reg = <0x8>; 700 + }; 701 + }; 702 + 703 + ports { 704 + #address-cells = <1>; 705 + #size-cells = <0>; 706 + 707 + port@1 { 708 + reg = <0x1>; 709 + label = "lan17"; 710 + phy-handle = <&switch2phy1>; 711 + }; 712 + 713 + port@2 { 714 + reg = <0x2>; 715 + label = "lan18"; 716 + phy-handle = <&switch2phy2>; 717 + }; 718 + 719 + port@3 { 720 + reg = <0x3>; 721 + label = "lan19"; 722 + phy-handle = <&switch2phy3>; 723 + }; 724 + 725 + port@4 { 726 + reg = <0x4>; 727 + label = "lan20"; 728 + phy-handle = <&switch2phy4>; 729 + }; 730 + 731 + port@5 { 732 + reg = <0x5>; 733 + label = "lan21"; 734 + phy-handle = <&switch2phy5>; 735 + }; 736 + 737 + port@6 { 738 + reg = <0x6>; 739 + label = "lan22"; 740 + phy-handle = <&switch2phy6>; 741 + }; 742 + 743 + port@7 { 744 + reg = <0x7>; 745 + label = "lan23"; 746 + phy-handle = <&switch2phy7>; 747 + }; 748 + 749 + port@8 { 750 + reg = <0x8>; 751 + label = "lan24"; 752 + phy-handle = <&switch2phy8>; 753 + }; 754 + 755 + switch2port9: port@9 { 756 + reg = <0x9>; 757 + label = "dsa"; 758 + phy-mode = "2500base-x"; 759 + managed = "in-band-status"; 760 + link = <&switch1port10 &switch0port10>; 761 + }; 762 + 763 + port-sfp@a { 764 + reg = <0xa>; 765 + label = "sfp"; 766 + sfp = <&sfp>; 767 + phy-mode = "sgmii"; 768 + managed = "in-band-status"; 769 + status = "disabled"; 770 + }; 771 + }; 772 + }; 773 + 774 + switch2@2 { 775 + compatible = "marvell,mv88e6085"; 776 + reg = <0x2 0>; 777 + dsa,member = <0 2>; 778 + interrupt-parent = <&moxtet>; 779 + interrupts = <MOXTET_IRQ_TOPAZ>; 780 + status = "disabled"; 781 + 782 + mdio { 783 + #address-cells = <1>; 784 + #size-cells = <0>; 785 + 786 + switch2phy1_topaz: switch2phy1@11 { 787 + reg = <0x11>; 788 + }; 789 + 790 + switch2phy2_topaz: switch2phy2@12 { 791 + reg = <0x12>; 792 + }; 793 + 794 + switch2phy3_topaz: switch2phy3@13 { 795 + reg = <0x13>; 796 + }; 797 + 798 + switch2phy4_topaz: switch2phy4@14 { 799 + reg = <0x14>; 800 + }; 801 + }; 802 + 803 + ports { 804 + #address-cells = <1>; 805 + #size-cells = <0>; 806 + 807 + port@1 { 808 + reg = <0x1>; 809 + label = "lan17"; 810 + phy-handle = <&switch2phy1_topaz>; 811 + }; 812 + 813 + port@2 { 814 + reg = <0x2>; 815 + label = "lan18"; 816 + phy-handle = <&switch2phy2_topaz>; 817 + }; 818 + 819 + port@3 { 820 + reg = <0x3>; 821 + label = "lan19"; 822 + phy-handle = <&switch2phy3_topaz>; 823 + }; 824 + 825 + port@4 { 826 + reg = <0x4>; 827 + label = "lan20"; 828 + phy-handle = <&switch2phy4_topaz>; 829 + }; 830 + 831 + port@5 { 832 + reg = <0x5>; 833 + label = "dsa"; 834 + phy-mode = "2500base-x"; 835 + managed = "in-band-status"; 836 + link = <&switch1port10 &switch0port10>; 837 + }; 838 + }; 839 + }; 840 + };
+5
arch/arm64/boot/dts/marvell/armada-37xx.dtsi
··· 215 215 function = "spi"; 216 216 }; 217 217 218 + spi_cs1_pins: spi-cs1-pins { 219 + groups = "spi_cs1"; 220 + function = "spi"; 221 + }; 222 + 218 223 i2c1_pins: i2c1-pins { 219 224 groups = "i2c1"; 220 225 function = "i2c";
+29 -23
arch/arm64/boot/dts/ti/k3-am65-main.dtsi
··· 42 42 */ 43 43 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 44 44 45 - gic_its: gic-its@18200000 { 45 + gic_its: gic-its@1820000 { 46 46 compatible = "arm,gic-v3-its"; 47 47 reg = <0x00 0x01820000 0x00 0x10000>; 48 48 socionext,synquacer-pre-its = <0x1000000 0x400000>; ··· 67 67 reg = <0x0 0x900000 0x0 0x2000>; 68 68 reg-names = "serdes"; 69 69 #phy-cells = <2>; 70 - power-domains = <&k3_pds 153>; 70 + power-domains = <&k3_pds 153 TI_SCI_PD_EXCLUSIVE>; 71 71 clocks = <&k3_clks 153 4>, <&k3_clks 153 1>, <&serdes1 AM654_SERDES_LO_REFCLK>; 72 72 clock-output-names = "serdes0_cmu_refclk", "serdes0_lo_refclk", "serdes0_ro_refclk"; 73 73 assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>; ··· 82 82 reg = <0x0 0x910000 0x0 0x2000>; 83 83 reg-names = "serdes"; 84 84 #phy-cells = <2>; 85 - power-domains = <&k3_pds 154>; 85 + power-domains = <&k3_pds 154 TI_SCI_PD_EXCLUSIVE>; 86 86 clocks = <&serdes0 AM654_SERDES_RO_REFCLK>, <&k3_clks 154 1>, <&k3_clks 154 5>; 87 87 clock-output-names = "serdes1_cmu_refclk", "serdes1_lo_refclk", "serdes1_ro_refclk"; 88 88 assigned-clocks = <&k3_clks 154 5>, <&serdes1 AM654_SERDES_CMU_REFCLK>; ··· 100 100 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 101 101 clock-frequency = <48000000>; 102 102 current-speed = <115200>; 103 - power-domains = <&k3_pds 146>; 103 + power-domains = <&k3_pds 146 TI_SCI_PD_EXCLUSIVE>; 104 104 }; 105 105 106 106 main_uart1: serial@2810000 { ··· 110 110 reg-io-width = <4>; 111 111 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 112 112 clock-frequency = <48000000>; 113 - power-domains = <&k3_pds 147>; 113 + power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>; 114 114 }; 115 115 116 116 main_uart2: serial@2820000 { ··· 120 120 reg-io-width = <4>; 121 121 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; 122 122 clock-frequency = <48000000>; 123 - power-domains = <&k3_pds 148>; 123 + power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>; 124 124 }; 125 125 126 126 main_pmx0: pinmux@11c000 { ··· 147 147 #size-cells = <0>; 148 148 clock-names = "fck"; 149 149 clocks = <&k3_clks 110 1>; 150 - power-domains = <&k3_pds 110>; 150 + power-domains = <&k3_pds 110 TI_SCI_PD_EXCLUSIVE>; 151 151 }; 152 152 153 153 main_i2c1: i2c@2010000 { ··· 158 158 #size-cells = <0>; 159 159 clock-names = "fck"; 160 160 clocks = <&k3_clks 111 1>; 161 - power-domains = <&k3_pds 111>; 161 + power-domains = <&k3_pds 111 TI_SCI_PD_EXCLUSIVE>; 162 162 }; 163 163 164 164 main_i2c2: i2c@2020000 { ··· 169 169 #size-cells = <0>; 170 170 clock-names = "fck"; 171 171 clocks = <&k3_clks 112 1>; 172 - power-domains = <&k3_pds 112>; 172 + power-domains = <&k3_pds 112 TI_SCI_PD_EXCLUSIVE>; 173 173 }; 174 174 175 175 main_i2c3: i2c@2030000 { ··· 180 180 #size-cells = <0>; 181 181 clock-names = "fck"; 182 182 clocks = <&k3_clks 113 1>; 183 - power-domains = <&k3_pds 113>; 183 + power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>; 184 184 }; 185 185 186 186 ecap0: pwm@3100000 { 187 187 compatible = "ti,am654-ecap", "ti,am3352-ecap"; 188 188 #pwm-cells = <3>; 189 189 reg = <0x0 0x03100000 0x0 0x60>; 190 - power-domains = <&k3_pds 39>; 190 + power-domains = <&k3_pds 39 TI_SCI_PD_EXCLUSIVE>; 191 191 clocks = <&k3_clks 39 0>; 192 192 clock-names = "fck"; 193 193 }; ··· 197 197 reg = <0x0 0x2100000 0x0 0x400>; 198 198 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 199 199 clocks = <&k3_clks 137 1>; 200 - power-domains = <&k3_pds 137>; 200 + power-domains = <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>; 201 201 #address-cells = <1>; 202 202 #size-cells = <0>; 203 203 }; ··· 207 207 reg = <0x0 0x2110000 0x0 0x400>; 208 208 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; 209 209 clocks = <&k3_clks 138 1>; 210 - power-domains = <&k3_pds 138>; 210 + power-domains = <&k3_pds 138 TI_SCI_PD_EXCLUSIVE>; 211 211 #address-cells = <1>; 212 212 #size-cells = <0>; 213 213 assigned-clocks = <&k3_clks 137 1>; ··· 219 219 reg = <0x0 0x2120000 0x0 0x400>; 220 220 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 221 221 clocks = <&k3_clks 139 1>; 222 - power-domains = <&k3_pds 139>; 222 + power-domains = <&k3_pds 139 TI_SCI_PD_EXCLUSIVE>; 223 223 #address-cells = <1>; 224 224 #size-cells = <0>; 225 225 }; ··· 229 229 reg = <0x0 0x2130000 0x0 0x400>; 230 230 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 231 231 clocks = <&k3_clks 140 1>; 232 - power-domains = <&k3_pds 140>; 232 + power-domains = <&k3_pds 140 TI_SCI_PD_EXCLUSIVE>; 233 233 #address-cells = <1>; 234 234 #size-cells = <0>; 235 235 }; ··· 239 239 reg = <0x0 0x2140000 0x0 0x400>; 240 240 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 241 241 clocks = <&k3_clks 141 1>; 242 - power-domains = <&k3_pds 141>; 242 + power-domains = <&k3_pds 141 TI_SCI_PD_EXCLUSIVE>; 243 243 #address-cells = <1>; 244 244 #size-cells = <0>; 245 245 }; ··· 247 247 sdhci0: sdhci@4f80000 { 248 248 compatible = "ti,am654-sdhci-5.1"; 249 249 reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>; 250 - power-domains = <&k3_pds 47>; 250 + power-domains = <&k3_pds 47 TI_SCI_PD_EXCLUSIVE>; 251 251 clocks = <&k3_clks 47 0>, <&k3_clks 47 1>; 252 252 clock-names = "clk_ahb", "clk_xin"; 253 253 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; ··· 306 306 ranges = <0x0 0x0 0x4000000 0x20000>; 307 307 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 308 308 dma-coherent; 309 - power-domains = <&k3_pds 151>; 309 + power-domains = <&k3_pds 151 TI_SCI_PD_EXCLUSIVE>; 310 310 assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>; 311 311 assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ 312 312 <&k3_clks 151 9>; /* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */ ··· 345 345 ranges = <0x0 0x0 0x4020000 0x20000>; 346 346 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 347 347 dma-coherent; 348 - power-domains = <&k3_pds 152>; 348 + power-domains = <&k3_pds 152 TI_SCI_PD_EXCLUSIVE>; 349 349 assigned-clocks = <&k3_clks 152 2>; 350 350 assigned-clock-parents = <&k3_clks 152 4>; /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ 351 351 ··· 413 413 ti,sci-rm-range-vint = <0x0>; 414 414 ti,sci-rm-range-global-event = <0x1>; 415 415 }; 416 + 417 + hwspinlock: spinlock@30e00000 { 418 + compatible = "ti,am654-hwspinlock"; 419 + reg = <0x00 0x30e00000 0x00 0x1000>; 420 + #hwlock-cells = <1>; 421 + }; 416 422 }; 417 423 418 424 main_gpio0: main_gpio0@600000 { ··· 457 451 compatible = "ti,am654-pcie-rc"; 458 452 reg = <0x0 0x5500000 0x0 0x1000>, <0x0 0x5501000 0x0 0x1000>, <0x0 0x10000000 0x0 0x2000>, <0x0 0x5506000 0x0 0x1000>; 459 453 reg-names = "app", "dbics", "config", "atu"; 460 - power-domains = <&k3_pds 120>; 454 + power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>; 461 455 #address-cells = <3>; 462 456 #size-cells = <2>; 463 457 ranges = <0x81000000 0 0 0x0 0x10020000 0 0x00010000 ··· 476 470 compatible = "ti,am654-pcie-ep"; 477 471 reg = <0x0 0x5500000 0x0 0x1000>, <0x0 0x5501000 0x0 0x1000>, <0x0 0x10000000 0x0 0x8000000>, <0x0 0x5506000 0x0 0x1000>; 478 472 reg-names = "app", "dbics", "addr_space", "atu"; 479 - power-domains = <&k3_pds 120>; 473 + power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>; 480 474 ti,syscon-pcie-mode = <&pcie0_mode>; 481 475 num-ib-windows = <16>; 482 476 num-ob-windows = <16>; ··· 489 483 compatible = "ti,am654-pcie-rc"; 490 484 reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x2000>, <0x0 0x5606000 0x0 0x1000>; 491 485 reg-names = "app", "dbics", "config", "atu"; 492 - power-domains = <&k3_pds 121>; 486 + power-domains = <&k3_pds 121 TI_SCI_PD_EXCLUSIVE>; 493 487 #address-cells = <3>; 494 488 #size-cells = <2>; 495 489 ranges = <0x81000000 0 0 0x0 0x18020000 0 0x00010000 ··· 508 502 compatible = "ti,am654-pcie-ep"; 509 503 reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x4000000>, <0x0 0x5606000 0x0 0x1000>; 510 504 reg-names = "app", "dbics", "addr_space", "atu"; 511 - power-domains = <&k3_pds 121>; 505 + power-domains = <&k3_pds 121 TI_SCI_PD_EXCLUSIVE>; 512 506 ti,syscon-pcie-mode = <&pcie1_mode>; 513 507 num-ib-windows = <16>; 514 508 num-ob-windows = <16>;
+5 -5
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
··· 14 14 interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>; 15 15 clock-frequency = <96000000>; 16 16 current-speed = <115200>; 17 - power-domains = <&k3_pds 149>; 17 + power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>; 18 18 }; 19 19 20 20 mcu_ram: sram@41c00000 { ··· 33 33 #size-cells = <0>; 34 34 clock-names = "fck"; 35 35 clocks = <&k3_clks 114 1>; 36 - power-domains = <&k3_pds 114>; 36 + power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>; 37 37 }; 38 38 39 39 mcu_spi0: spi@40300000 { ··· 41 41 reg = <0x0 0x40300000 0x0 0x400>; 42 42 interrupts = <GIC_SPI 560 IRQ_TYPE_LEVEL_HIGH>; 43 43 clocks = <&k3_clks 142 1>; 44 - power-domains = <&k3_pds 142>; 44 + power-domains = <&k3_pds 142 TI_SCI_PD_EXCLUSIVE>; 45 45 #address-cells = <1>; 46 46 #size-cells = <0>; 47 47 }; ··· 51 51 reg = <0x0 0x40310000 0x0 0x400>; 52 52 interrupts = <GIC_SPI 561 IRQ_TYPE_LEVEL_HIGH>; 53 53 clocks = <&k3_clks 143 1>; 54 - power-domains = <&k3_pds 143>; 54 + power-domains = <&k3_pds 143 TI_SCI_PD_EXCLUSIVE>; 55 55 #address-cells = <1>; 56 56 #size-cells = <0>; 57 57 }; ··· 61 61 reg = <0x0 0x40320000 0x0 0x400>; 62 62 interrupts = <GIC_SPI 562 IRQ_TYPE_LEVEL_HIGH>; 63 63 clocks = <&k3_clks 144 1>; 64 - power-domains = <&k3_pds 144>; 64 + power-domains = <&k3_pds 144 TI_SCI_PD_EXCLUSIVE>; 65 65 #address-cells = <1>; 66 66 #size-cells = <0>; 67 67 };
+3 -3
arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
··· 20 20 21 21 k3_pds: power-controller { 22 22 compatible = "ti,sci-pm-domain"; 23 - #power-domain-cells = <1>; 23 + #power-domain-cells = <2>; 24 24 }; 25 25 26 26 k3_clks: clocks { ··· 50 50 interrupts = <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>; 51 51 clock-frequency = <48000000>; 52 52 current-speed = <115200>; 53 - power-domains = <&k3_pds 150>; 53 + power-domains = <&k3_pds 150 TI_SCI_PD_EXCLUSIVE>; 54 54 }; 55 55 56 56 wkup_i2c0: i2c@42120000 { ··· 61 61 #size-cells = <0>; 62 62 clock-names = "fck"; 63 63 clocks = <&k3_clks 115 1>; 64 - power-domains = <&k3_pds 115>; 64 + power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>; 65 65 }; 66 66 67 67 intr_wkup_gpio: interrupt-controller2 {
+1
arch/arm64/boot/dts/ti/k3-am65.dtsi
··· 9 9 #include <dt-bindings/interrupt-controller/irq.h> 10 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 11 #include <dt-bindings/pinctrl/k3.h> 12 + #include <dt-bindings/soc/ti,sci_pm_domain.h> 12 13 13 14 / { 14 15 model = "Texas Instruments K3 AM654 SoC";
+1
arch/arm64/boot/dts/ti/k3-am654-base-board.dts
··· 151 151 &main_uart0 { 152 152 pinctrl-names = "default"; 153 153 pinctrl-0 = <&main_uart0_pins_default>; 154 + power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>; 154 155 }; 155 156 156 157 &wkup_i2c0 {
+69
arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
··· 6 6 /dts-v1/; 7 7 8 8 #include "k3-j721e-som-p0.dtsi" 9 + #include <dt-bindings/gpio/gpio.h> 10 + #include <dt-bindings/input/input.h> 9 11 10 12 / { 11 13 chosen { 12 14 stdout-path = "serial2:115200n8"; 13 15 bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000"; 14 16 }; 17 + 18 + gpio_keys: gpio-keys { 19 + compatible = "gpio-keys"; 20 + autorepeat; 21 + pinctrl-names = "default"; 22 + pinctrl-0 = <&sw10_button_pins_default &sw11_button_pins_default>; 23 + 24 + sw10: sw10 { 25 + label = "GPIO Key USER1"; 26 + linux,code = <BTN_0>; 27 + gpios = <&main_gpio0 0 GPIO_ACTIVE_LOW>; 28 + }; 29 + 30 + sw11: sw11 { 31 + label = "GPIO Key USER2"; 32 + linux,code = <BTN_1>; 33 + gpios = <&wkup_gpio0 7 GPIO_ACTIVE_LOW>; 34 + }; 35 + }; 36 + }; 37 + 38 + &main_pmx0 { 39 + sw10_button_pins_default: sw10_button_pins_default { 40 + pinctrl-single,pins = < 41 + J721E_IOPAD(0x0, PIN_INPUT, 7) /* (AC18) EXTINTn.GPIO0_0 */ 42 + >; 43 + }; 44 + }; 45 + 46 + &wkup_pmx0 { 47 + sw11_button_pins_default: sw11_button_pins_default { 48 + pinctrl-single,pins = < 49 + J721E_WKUP_IOPAD(0xcc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ 50 + >; 51 + }; 15 52 }; 16 53 17 54 &wkup_uart0 { 18 55 /* Wakeup UART is used by System firmware */ 19 56 status = "disabled"; 57 + }; 58 + 59 + &main_uart0 { 60 + power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>; 20 61 }; 21 62 22 63 &main_uart3 { ··· 87 46 88 47 &main_uart9 { 89 48 /* UART not brought out */ 49 + status = "disabled"; 50 + }; 51 + 52 + &main_gpio2 { 53 + status = "disabled"; 54 + }; 55 + 56 + &main_gpio3 { 57 + status = "disabled"; 58 + }; 59 + 60 + &main_gpio4 { 61 + status = "disabled"; 62 + }; 63 + 64 + &main_gpio5 { 65 + status = "disabled"; 66 + }; 67 + 68 + &main_gpio6 { 69 + status = "disabled"; 70 + }; 71 + 72 + &main_gpio7 { 73 + status = "disabled"; 74 + }; 75 + 76 + &wkup_gpio1 { 90 77 status = "disabled"; 91 78 };
+149 -11
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
··· 31 31 /* vcpumntirq: virtual CPU interface maintenance interrupt */ 32 32 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 33 33 34 - gic_its: gic-its@18200000 { 34 + gic_its: gic-its@1820000 { 35 35 compatible = "arm,gic-v3-its"; 36 36 reg = <0x00 0x01820000 0x00 0x10000>; 37 37 socionext,synquacer-pre-its = <0x1000000 0x400000>; ··· 89 89 ti,sci-rm-range-vint = <0xa>; 90 90 ti,sci-rm-range-global-event = <0xd>; 91 91 }; 92 + 93 + hwspinlock: spinlock@30e00000 { 94 + compatible = "ti,am654-hwspinlock"; 95 + reg = <0x00 0x30e00000 0x00 0x1000>; 96 + #hwlock-cells = <1>; 97 + }; 92 98 }; 93 99 94 100 secure_proxy_main: mailbox@32c00000 { ··· 125 119 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 126 120 clock-frequency = <48000000>; 127 121 current-speed = <115200>; 128 - power-domains = <&k3_pds 146>; 122 + power-domains = <&k3_pds 146 TI_SCI_PD_EXCLUSIVE>; 129 123 clocks = <&k3_clks 146 0>; 130 124 clock-names = "fclk"; 131 125 }; ··· 138 132 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 139 133 clock-frequency = <48000000>; 140 134 current-speed = <115200>; 141 - power-domains = <&k3_pds 278>; 135 + power-domains = <&k3_pds 278 TI_SCI_PD_EXCLUSIVE>; 142 136 clocks = <&k3_clks 278 0>; 143 137 clock-names = "fclk"; 144 138 }; ··· 151 145 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; 152 146 clock-frequency = <48000000>; 153 147 current-speed = <115200>; 154 - power-domains = <&k3_pds 279>; 148 + power-domains = <&k3_pds 279 TI_SCI_PD_EXCLUSIVE>; 155 149 clocks = <&k3_clks 279 0>; 156 150 clock-names = "fclk"; 157 151 }; ··· 164 158 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; 165 159 clock-frequency = <48000000>; 166 160 current-speed = <115200>; 167 - power-domains = <&k3_pds 280>; 161 + power-domains = <&k3_pds 280 TI_SCI_PD_EXCLUSIVE>; 168 162 clocks = <&k3_clks 280 0>; 169 163 clock-names = "fclk"; 170 164 }; ··· 177 171 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; 178 172 clock-frequency = <48000000>; 179 173 current-speed = <115200>; 180 - power-domains = <&k3_pds 281>; 174 + power-domains = <&k3_pds 281 TI_SCI_PD_EXCLUSIVE>; 181 175 clocks = <&k3_clks 281 0>; 182 176 clock-names = "fclk"; 183 177 }; ··· 190 184 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; 191 185 clock-frequency = <48000000>; 192 186 current-speed = <115200>; 193 - power-domains = <&k3_pds 282>; 187 + power-domains = <&k3_pds 282 TI_SCI_PD_EXCLUSIVE>; 194 188 clocks = <&k3_clks 282 0>; 195 189 clock-names = "fclk"; 196 190 }; ··· 203 197 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; 204 198 clock-frequency = <48000000>; 205 199 current-speed = <115200>; 206 - power-domains = <&k3_pds 283>; 200 + power-domains = <&k3_pds 283 TI_SCI_PD_EXCLUSIVE>; 207 201 clocks = <&k3_clks 283 0>; 208 202 clock-names = "fclk"; 209 203 }; ··· 216 210 interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 217 211 clock-frequency = <48000000>; 218 212 current-speed = <115200>; 219 - power-domains = <&k3_pds 284>; 213 + power-domains = <&k3_pds 284 TI_SCI_PD_EXCLUSIVE>; 220 214 clocks = <&k3_clks 284 0>; 221 215 clock-names = "fclk"; 222 216 }; ··· 229 223 interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; 230 224 clock-frequency = <48000000>; 231 225 current-speed = <115200>; 232 - power-domains = <&k3_pds 285>; 226 + power-domains = <&k3_pds 285 TI_SCI_PD_EXCLUSIVE>; 233 227 clocks = <&k3_clks 285 0>; 234 228 clock-names = "fclk"; 235 229 }; ··· 242 236 interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>; 243 237 clock-frequency = <48000000>; 244 238 current-speed = <115200>; 245 - power-domains = <&k3_pds 286>; 239 + power-domains = <&k3_pds 286 TI_SCI_PD_EXCLUSIVE>; 246 240 clocks = <&k3_clks 286 0>; 247 241 clock-names = "fclk"; 242 + }; 243 + 244 + main_gpio0: gpio@600000 { 245 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 246 + reg = <0x0 0x00600000 0x0 0x100>; 247 + gpio-controller; 248 + #gpio-cells = <2>; 249 + interrupt-parent = <&main_gpio_intr>; 250 + interrupts = <105 0>, <105 1>, <105 2>, <105 3>, 251 + <105 4>, <105 5>, <105 6>, <105 7>; 252 + interrupt-controller; 253 + #interrupt-cells = <2>; 254 + ti,ngpio = <128>; 255 + ti,davinci-gpio-unbanked = <0>; 256 + power-domains = <&k3_pds 105 TI_SCI_PD_EXCLUSIVE>; 257 + clocks = <&k3_clks 105 0>; 258 + clock-names = "gpio"; 259 + }; 260 + 261 + main_gpio1: gpio@601000 { 262 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 263 + reg = <0x0 0x00601000 0x0 0x100>; 264 + gpio-controller; 265 + #gpio-cells = <2>; 266 + interrupt-parent = <&main_gpio_intr>; 267 + interrupts = <106 0>, <106 1>, <106 2>; 268 + interrupt-controller; 269 + #interrupt-cells = <2>; 270 + ti,ngpio = <36>; 271 + ti,davinci-gpio-unbanked = <0>; 272 + power-domains = <&k3_pds 106 TI_SCI_PD_EXCLUSIVE>; 273 + clocks = <&k3_clks 106 0>; 274 + clock-names = "gpio"; 275 + }; 276 + 277 + main_gpio2: gpio@610000 { 278 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 279 + reg = <0x0 0x00610000 0x0 0x100>; 280 + gpio-controller; 281 + #gpio-cells = <2>; 282 + interrupt-parent = <&main_gpio_intr>; 283 + interrupts = <107 0>, <107 1>, <107 2>, <107 3>, 284 + <107 4>, <107 5>, <107 6>, <107 7>; 285 + interrupt-controller; 286 + #interrupt-cells = <2>; 287 + ti,ngpio = <128>; 288 + ti,davinci-gpio-unbanked = <0>; 289 + power-domains = <&k3_pds 107 TI_SCI_PD_EXCLUSIVE>; 290 + clocks = <&k3_clks 107 0>; 291 + clock-names = "gpio"; 292 + }; 293 + 294 + main_gpio3: gpio@611000 { 295 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 296 + reg = <0x0 0x00611000 0x0 0x100>; 297 + gpio-controller; 298 + #gpio-cells = <2>; 299 + interrupt-parent = <&main_gpio_intr>; 300 + interrupts = <108 0>, <108 1>, <108 2>; 301 + interrupt-controller; 302 + #interrupt-cells = <2>; 303 + ti,ngpio = <36>; 304 + ti,davinci-gpio-unbanked = <0>; 305 + power-domains = <&k3_pds 108 TI_SCI_PD_EXCLUSIVE>; 306 + clocks = <&k3_clks 108 0>; 307 + clock-names = "gpio"; 308 + }; 309 + 310 + main_gpio4: gpio@620000 { 311 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 312 + reg = <0x0 0x00620000 0x0 0x100>; 313 + gpio-controller; 314 + #gpio-cells = <2>; 315 + interrupt-parent = <&main_gpio_intr>; 316 + interrupts = <109 0>, <109 1>, <109 2>, <109 3>, 317 + <109 4>, <109 5>, <109 6>, <109 7>; 318 + interrupt-controller; 319 + #interrupt-cells = <2>; 320 + ti,ngpio = <128>; 321 + ti,davinci-gpio-unbanked = <0>; 322 + power-domains = <&k3_pds 109 TI_SCI_PD_EXCLUSIVE>; 323 + clocks = <&k3_clks 109 0>; 324 + clock-names = "gpio"; 325 + }; 326 + 327 + main_gpio5: gpio@621000 { 328 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 329 + reg = <0x0 0x00621000 0x0 0x100>; 330 + gpio-controller; 331 + #gpio-cells = <2>; 332 + interrupt-parent = <&main_gpio_intr>; 333 + interrupts = <110 0>, <110 1>, <110 2>; 334 + interrupt-controller; 335 + #interrupt-cells = <2>; 336 + ti,ngpio = <36>; 337 + ti,davinci-gpio-unbanked = <0>; 338 + power-domains = <&k3_pds 110 TI_SCI_PD_EXCLUSIVE>; 339 + clocks = <&k3_clks 110 0>; 340 + clock-names = "gpio"; 341 + }; 342 + 343 + main_gpio6: gpio@630000 { 344 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 345 + reg = <0x0 0x00630000 0x0 0x100>; 346 + gpio-controller; 347 + #gpio-cells = <2>; 348 + interrupt-parent = <&main_gpio_intr>; 349 + interrupts = <111 0>, <111 1>, <111 2>, <111 3>, 350 + <111 4>, <111 5>, <111 6>, <111 7>; 351 + interrupt-controller; 352 + #interrupt-cells = <2>; 353 + ti,ngpio = <128>; 354 + ti,davinci-gpio-unbanked = <0>; 355 + power-domains = <&k3_pds 111 TI_SCI_PD_EXCLUSIVE>; 356 + clocks = <&k3_clks 111 0>; 357 + clock-names = "gpio"; 358 + }; 359 + 360 + main_gpio7: gpio@631000 { 361 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 362 + reg = <0x0 0x00631000 0x0 0x100>; 363 + gpio-controller; 364 + #gpio-cells = <2>; 365 + interrupt-parent = <&main_gpio_intr>; 366 + interrupts = <112 0>, <112 1>, <112 2>; 367 + interrupt-controller; 368 + #interrupt-cells = <2>; 369 + ti,ngpio = <36>; 370 + ti,davinci-gpio-unbanked = <0>; 371 + power-domains = <&k3_pds 112 TI_SCI_PD_EXCLUSIVE>; 372 + clocks = <&k3_clks 112 0>; 373 + clock-names = "gpio"; 248 374 }; 249 375 };
+37 -3
arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
··· 20 20 21 21 k3_pds: power-controller { 22 22 compatible = "ti,sci-pm-domain"; 23 - #power-domain-cells = <1>; 23 + #power-domain-cells = <2>; 24 24 }; 25 25 26 26 k3_clks: clocks { ··· 59 59 interrupts = <GIC_SPI 897 IRQ_TYPE_LEVEL_HIGH>; 60 60 clock-frequency = <48000000>; 61 61 current-speed = <115200>; 62 - power-domains = <&k3_pds 287>; 62 + power-domains = <&k3_pds 287 TI_SCI_PD_EXCLUSIVE>; 63 63 clocks = <&k3_clks 287 0>; 64 64 clock-names = "fclk"; 65 65 }; ··· 72 72 interrupts = <GIC_SPI 846 IRQ_TYPE_LEVEL_HIGH>; 73 73 clock-frequency = <96000000>; 74 74 current-speed = <115200>; 75 - power-domains = <&k3_pds 149>; 75 + power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>; 76 76 clocks = <&k3_clks 149 0>; 77 77 clock-names = "fclk"; 78 78 }; ··· 86 86 ti,sci = <&dmsc>; 87 87 ti,sci-dst-id = <14>; 88 88 ti,sci-rm-range-girq = <0x5>; 89 + }; 90 + 91 + wkup_gpio0: gpio@42110000 { 92 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 93 + reg = <0x0 0x42110000 0x0 0x100>; 94 + gpio-controller; 95 + #gpio-cells = <2>; 96 + interrupt-parent = <&wkup_gpio_intr>; 97 + interrupts = <113 0>, <113 1>, <113 2>, 98 + <113 3>, <113 4>, <113 5>; 99 + interrupt-controller; 100 + #interrupt-cells = <2>; 101 + ti,ngpio = <84>; 102 + ti,davinci-gpio-unbanked = <0>; 103 + power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>; 104 + clocks = <&k3_clks 113 0>; 105 + clock-names = "gpio"; 106 + }; 107 + 108 + wkup_gpio1: gpio@42100000 { 109 + compatible = "ti,j721e-gpio", "ti,keystone-gpio"; 110 + reg = <0x0 0x42100000 0x0 0x100>; 111 + gpio-controller; 112 + #gpio-cells = <2>; 113 + interrupt-parent = <&wkup_gpio_intr>; 114 + interrupts = <114 0>, <114 1>, <114 2>, 115 + <114 3>, <114 4>, <114 5>; 116 + interrupt-controller; 117 + #interrupt-cells = <2>; 118 + ti,ngpio = <84>; 119 + ti,davinci-gpio-unbanked = <0>; 120 + power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>; 121 + clocks = <&k3_clks 114 0>; 122 + clock-names = "gpio"; 89 123 }; 90 124 };
+1
arch/arm64/boot/dts/ti/k3-j721e.dtsi
··· 8 8 #include <dt-bindings/interrupt-controller/irq.h> 9 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 10 #include <dt-bindings/pinctrl/k3.h> 11 + #include <dt-bindings/soc/ti,sci_pm_domain.h> 11 12 12 13 / { 13 14 model = "Texas Instruments K3 J721E SoC";
+52 -49
drivers/bus/ti-sysc.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 /* 2 3 * ti-sysc.c - Texas Instruments sysc interconnect target driver 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 as 6 - * published by the Free Software Foundation. 7 - * 8 - * This program is distributed "as is" WITHOUT ANY WARRANTY of any 9 - * kind, whether express or implied; without even the implied warranty 10 - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 - * GNU General Public License for more details. 12 4 */ 13 5 14 6 #include <linux/io.h> ··· 54 62 * @module_size: size of the interconnect target module 55 63 * @module_va: virtual address of the interconnect target module 56 64 * @offsets: register offsets from module base 65 + * @mdata: ti-sysc to hwmod translation data for a module 57 66 * @clocks: clocks used by the interconnect target module 58 67 * @clock_roles: clock role names for the found clocks 59 68 * @nr_clocks: number of clocks used by the interconnect target module 69 + * @rsts: resets used by the interconnect target module 60 70 * @legacy_mode: configured for legacy mode if set 61 71 * @cap: interconnect target module capabilities 62 72 * @cfg: interconnect target module configuration 73 + * @cookie: data used by legacy platform callbacks 63 74 * @name: name if available 64 75 * @revision: interconnect target module revision 76 + * @enabled: sysc runtime enabled status 65 77 * @needs_resume: runtime resume needed on resume from suspend 78 + * @child_needs_resume: runtime resume needed for child on resume from suspend 79 + * @disable_on_idle: status flag used for disabling modules with resets 80 + * @idle_work: work structure used to perform delayed idle on a module 66 81 * @clk_enable_quirk: module specific clock enable quirk 67 82 * @clk_disable_quirk: module specific clock disable quirk 68 83 * @reset_done_quirk: module specific reset done quirk 84 + * @module_enable_quirk: module specific enable quirk 69 85 */ 70 86 struct sysc { 71 87 struct device *dev; ··· 95 95 unsigned int enabled:1; 96 96 unsigned int needs_resume:1; 97 97 unsigned int child_needs_resume:1; 98 - unsigned int disable_on_idle:1; 99 98 struct delayed_work idle_work; 100 99 void (*clk_enable_quirk)(struct sysc *sysc); 101 100 void (*clk_disable_quirk)(struct sysc *sysc); 102 101 void (*reset_done_quirk)(struct sysc *sysc); 102 + void (*module_enable_quirk)(struct sysc *sysc); 103 103 }; 104 104 105 105 static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, ··· 503 503 static int sysc_init_resets(struct sysc *ddata) 504 504 { 505 505 ddata->rsts = 506 - devm_reset_control_get_optional(ddata->dev, "rstctrl"); 506 + devm_reset_control_get_optional_shared(ddata->dev, "rstctrl"); 507 507 if (IS_ERR(ddata->rsts)) 508 508 return PTR_ERR(ddata->rsts); 509 509 ··· 615 615 * node but children have "ti,hwmods". These belong to the interconnect 616 616 * target node and are managed by this driver. 617 617 */ 618 - static int sysc_check_one_child(struct sysc *ddata, 619 - struct device_node *np) 618 + static void sysc_check_one_child(struct sysc *ddata, 619 + struct device_node *np) 620 620 { 621 621 const char *name; 622 622 ··· 626 626 627 627 sysc_check_quirk_stdout(ddata, np); 628 628 sysc_parse_dts_quirks(ddata, np, true); 629 - 630 - return 0; 631 629 } 632 630 633 - static int sysc_check_children(struct sysc *ddata) 631 + static void sysc_check_children(struct sysc *ddata) 634 632 { 635 633 struct device_node *child; 636 - int error; 637 634 638 - for_each_child_of_node(ddata->dev->of_node, child) { 639 - error = sysc_check_one_child(ddata, child); 640 - if (error) 641 - return error; 642 - } 643 - 644 - return 0; 635 + for_each_child_of_node(ddata->dev->of_node, child) 636 + sysc_check_one_child(ddata, child); 645 637 } 646 638 647 639 /* ··· 786 794 if (error) 787 795 return error; 788 796 789 - error = sysc_check_children(ddata); 790 - if (error) 791 - return error; 797 + sysc_check_children(ddata); 792 798 793 799 error = sysc_parse_registers(ddata); 794 800 if (error) ··· 930 940 sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); 931 941 } 932 942 943 + if (ddata->module_enable_quirk) 944 + ddata->module_enable_quirk(ddata); 945 + 933 946 return 0; 934 947 } 935 948 ··· 1024 1031 dev_err(dev, "%s: could not idle: %i\n", 1025 1032 __func__, error); 1026 1033 1027 - if (ddata->disable_on_idle) 1028 - reset_control_assert(ddata->rsts); 1034 + reset_control_assert(ddata->rsts); 1029 1035 1030 1036 return 0; 1031 1037 } ··· 1035 1043 struct ti_sysc_platform_data *pdata; 1036 1044 int error; 1037 1045 1038 - if (ddata->disable_on_idle) 1039 - reset_control_deassert(ddata->rsts); 1046 + reset_control_deassert(ddata->rsts); 1040 1047 1041 1048 pdata = dev_get_platdata(ddata->dev); 1042 1049 if (!pdata) ··· 1082 1091 ddata->enabled = false; 1083 1092 1084 1093 err_allow_idle: 1085 - sysc_clkdm_allow_idle(ddata); 1094 + reset_control_assert(ddata->rsts); 1086 1095 1087 - if (ddata->disable_on_idle) 1088 - reset_control_assert(ddata->rsts); 1096 + sysc_clkdm_allow_idle(ddata); 1089 1097 1090 1098 return error; 1091 1099 } ··· 1099 1109 if (ddata->enabled) 1100 1110 return 0; 1101 1111 1102 - if (ddata->disable_on_idle) 1103 - reset_control_deassert(ddata->rsts); 1104 1112 1105 1113 sysc_clkdm_deny_idle(ddata); 1114 + 1115 + reset_control_deassert(ddata->rsts); 1106 1116 1107 1117 if (sysc_opt_clks_needed(ddata)) { 1108 1118 error = sysc_enable_opt_clocks(ddata); ··· 1246 1256 SYSC_MODULE_QUIRK_I2C), 1247 1257 SYSC_QUIRK("i2c", 0, 0, 0x10, 0x90, 0x5040000a, 0xfffff0f0, 1248 1258 SYSC_MODULE_QUIRK_I2C), 1259 + SYSC_QUIRK("gpu", 0x50000000, 0x14, -1, -1, 0x00010201, 0xffffffff, 0), 1260 + SYSC_QUIRK("gpu", 0x50000000, 0xfe00, 0xfe10, -1, 0x40000000 , 0xffffffff, 1261 + SYSC_MODULE_QUIRK_SGX), 1249 1262 SYSC_QUIRK("wdt", 0, 0, 0x10, 0x14, 0x502a0500, 0xfffff0f0, 1250 1263 SYSC_MODULE_QUIRK_WDT), 1251 1264 ··· 1264 1271 SYSC_QUIRK("dcan", 0, 0x20, -1, -1, 0x4edb1902, 0xffffffff, 0), 1265 1272 SYSC_QUIRK("dmic", 0, 0, 0x10, -1, 0x50010000, 0xffffffff, 0), 1266 1273 SYSC_QUIRK("dwc3", 0, 0, 0x10, -1, 0x500a0200, 0xffffffff, 0), 1274 + SYSC_QUIRK("d2d", 0x4a0b6000, 0, 0x10, 0x14, 0x00000010, 0xffffffff, 0), 1275 + SYSC_QUIRK("d2d", 0x4a0cd000, 0, 0x10, 0x14, 0x00000010, 0xffffffff, 0), 1267 1276 SYSC_QUIRK("epwmss", 0, 0, 0x4, -1, 0x47400001, 0xffffffff, 0), 1268 1277 SYSC_QUIRK("gpu", 0, 0x1fc00, 0x1fc10, -1, 0, 0, 0), 1278 + SYSC_QUIRK("gpu", 0, 0xfe00, 0xfe10, -1, 0x40000000 , 0xffffffff, 0), 1269 1279 SYSC_QUIRK("hsi", 0, 0, 0x10, 0x14, 0x50043101, 0xffffffff, 0), 1270 1280 SYSC_QUIRK("iss", 0, 0, 0x10, -1, 0x40000101, 0xffffffff, 0), 1271 1281 SYSC_QUIRK("lcdc", 0, 0, 0x54, -1, 0x4f201000, 0xffffffff, 0), ··· 1420 1424 sysc_clk_quirk_i2c(ddata, false); 1421 1425 } 1422 1426 1427 + /* 36xx SGX needs a quirk for to bypass OCP IPG interrupt logic */ 1428 + static void sysc_module_enable_quirk_sgx(struct sysc *ddata) 1429 + { 1430 + int offset = 0xff08; /* OCP_DEBUG_CONFIG */ 1431 + u32 val = BIT(31); /* THALIA_INT_BYPASS */ 1432 + 1433 + sysc_write(ddata, offset, val); 1434 + } 1435 + 1423 1436 /* Watchdog timer needs a disable sequence after reset */ 1424 1437 static void sysc_reset_done_quirk_wdt(struct sysc *ddata) 1425 1438 { ··· 1470 1465 1471 1466 return; 1472 1467 } 1468 + 1469 + if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_SGX) 1470 + ddata->module_enable_quirk = sysc_module_enable_quirk_sgx; 1473 1471 1474 1472 if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_WDT) 1475 1473 ddata->reset_done_quirk = sysc_reset_done_quirk_wdt; ··· 1540 1532 */ 1541 1533 static int sysc_rstctrl_reset_deassert(struct sysc *ddata, bool reset) 1542 1534 { 1543 - int error, val; 1535 + int error; 1544 1536 1545 1537 if (!ddata->rsts) 1546 1538 return 0; ··· 1551 1543 return error; 1552 1544 } 1553 1545 1554 - error = reset_control_deassert(ddata->rsts); 1555 - if (error == -EEXIST) 1556 - return 0; 1546 + reset_control_deassert(ddata->rsts); 1557 1547 1558 - error = readx_poll_timeout(reset_control_status, ddata->rsts, val, 1559 - val == 0, 100, MAX_MODULE_SOFTRESET_WAIT); 1560 - 1561 - return error; 1548 + return 0; 1562 1549 } 1563 1550 1564 1551 /* ··· 1562 1559 */ 1563 1560 static int sysc_reset(struct sysc *ddata) 1564 1561 { 1565 - int sysc_offset, syss_offset, sysc_val, rstval, quirks, error = 0; 1562 + int sysc_offset, syss_offset, sysc_val, rstval, error = 0; 1566 1563 u32 sysc_mask, syss_done; 1567 1564 1568 1565 sysc_offset = ddata->offsets[SYSC_SYSCONFIG]; 1569 1566 syss_offset = ddata->offsets[SYSC_SYSSTATUS]; 1570 - quirks = ddata->cfg.quirks; 1571 1567 1572 1568 if (ddata->legacy_mode || sysc_offset < 0 || 1573 1569 ddata->cap->regbits->srst_shift < 0 || ··· 2429 2427 goto unprepare; 2430 2428 } 2431 2429 2430 + /* Balance reset counts */ 2431 + if (ddata->rsts) 2432 + reset_control_assert(ddata->rsts); 2433 + 2432 2434 sysc_show_registers(ddata); 2433 2435 2434 2436 ddata->dev->type = &sysc_device_type; ··· 2451 2445 } else { 2452 2446 pm_runtime_put(&pdev->dev); 2453 2447 } 2454 - 2455 - if (!of_get_available_child_count(ddata->dev->of_node)) 2456 - ddata->disable_on_idle = true; 2457 2448 2458 2449 return 0; 2459 2450
+34
drivers/clk/ti/clk-54xx.c
··· 314 314 { 0 }, 315 315 }; 316 316 317 + static const char * const omap5_gpu_core_mux_parents[] __initconst = { 318 + "dpll_core_h14x2_ck", 319 + "dpll_per_h14x2_ck", 320 + NULL, 321 + }; 322 + 323 + static const char * const omap5_gpu_hyd_mux_parents[] __initconst = { 324 + "dpll_core_h14x2_ck", 325 + "dpll_per_h14x2_ck", 326 + NULL, 327 + }; 328 + 329 + static const char * const omap5_gpu_sys_clk_parents[] __initconst = { 330 + "sys_clkin", 331 + NULL, 332 + }; 333 + 334 + static const struct omap_clkctrl_div_data omap5_gpu_sys_clk_data __initconst = { 335 + .max_div = 2, 336 + }; 337 + 338 + static const struct omap_clkctrl_bit_data omap5_gpu_core_bit_data[] __initconst = { 339 + { 24, TI_CLK_MUX, omap5_gpu_core_mux_parents, NULL }, 340 + { 25, TI_CLK_MUX, omap5_gpu_hyd_mux_parents, NULL }, 341 + { 26, TI_CLK_DIVIDER, omap5_gpu_sys_clk_parents, &omap5_gpu_sys_clk_data }, 342 + { 0 }, 343 + }; 344 + 345 + static const struct omap_clkctrl_reg_data omap5_gpu_clkctrl_regs[] __initconst = { 346 + { OMAP5_GPU_CLKCTRL, omap5_gpu_core_bit_data, CLKF_SW_SUP, "gpu_cm:clk:0000:24" }, 347 + { 0 }, 348 + }; 349 + 317 350 static const char * const omap5_mmc1_fclk_mux_parents[] __initconst = { 318 351 "func_128m_clk", 319 352 "dpll_per_m2x2_ck", ··· 503 470 { 0x4a008e20, omap5_l3instr_clkctrl_regs }, 504 471 { 0x4a009020, omap5_l4per_clkctrl_regs }, 505 472 { 0x4a009420, omap5_dss_clkctrl_regs }, 473 + { 0x4a009520, omap5_gpu_clkctrl_regs }, 506 474 { 0x4a009620, omap5_l3init_clkctrl_regs }, 507 475 { 0x4ae07920, omap5_wkupaon_clkctrl_regs }, 508 476 { 0 },
+1
include/dt-bindings/bus/ti-sysc.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* TI sysc interconnect target module defines */ 2 3 3 4 /* Generic sysc found on omap2 and later, also known as type1 */
+3
include/dt-bindings/clock/omap5.h
··· 89 89 /* dss clocks */ 90 90 #define OMAP5_DSS_CORE_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) 91 91 92 + /* gpu clocks */ 93 + #define OMAP5_GPU_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) 94 + 92 95 /* l3init clocks */ 93 96 #define OMAP5_MMC1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x28) 94 97 #define OMAP5_MMC2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30)
+3
include/dt-bindings/pinctrl/k3.h
··· 32 32 #define AM65X_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 33 33 #define AM65X_WKUP_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 34 34 35 + #define J721E_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 36 + #define J721E_WKUP_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) 37 + 35 38 #endif
+6 -2
include/linux/platform_data/ti-sysc.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + 1 3 #ifndef __TI_SYSC_DATA_H__ 2 4 #define __TI_SYSC_DATA_H__ 3 5 ··· 49 47 s8 emufree_shift; 50 48 }; 51 49 50 + #define SYSC_MODULE_QUIRK_SGX BIT(18) 52 51 #define SYSC_MODULE_QUIRK_HDQ1W BIT(17) 53 52 #define SYSC_MODULE_QUIRK_I2C BIT(16) 54 53 #define SYSC_MODULE_QUIRK_WDT BIT(15) ··· 73 70 74 71 /** 75 72 * struct sysc_capabilities - capabilities for an interconnect target module 76 - * 73 + * @type: sysc type identifier for the module 77 74 * @sysc_mask: bitmask of supported SYSCONFIG register bits 78 75 * @regbits: bitmask of SYSCONFIG register bits 79 76 * @mod_quirks: bitmask of module specific quirks ··· 88 85 /** 89 86 * struct sysc_config - configuration for an interconnect target module 90 87 * @sysc_val: configured value for sysc register 88 + * @syss_mask: configured mask value for SYSSTATUS register 91 89 * @midlemodes: bitmask of supported master idle modes 92 - * @sidlemodes: bitmask of supported master idle modes 90 + * @sidlemodes: bitmask of supported slave idle modes 93 91 * @srst_udelay: optional delay needed after OCP soft reset 94 92 * @quirks: bitmask of enabled quirks 95 93 */