diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-20 18:53:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-20 18:53:02 -0400 |
commit | f97c81dc6ca5996560b3944064f63fc87eb18d00 (patch) | |
tree | 9d2aa5fa05542e9b1bf807e1207b5bc1fe5e7303 | |
parent | a703d279c57e1bfe2b6536c3a17c1c498b416d24 (diff) | |
parent | 2a7326caab479ca257c4b9bd67db42d1d49079bf (diff) |
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
...
47 files changed, 3186 insertions, 883 deletions
diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt index eddde4faef01..f6d6642d81c0 100644 --- a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt +++ b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt | |||
@@ -48,3 +48,11 @@ avs: avs@11500 { | |||
48 | compatible = "marvell,armada-3700-avs", "syscon"; | 48 | compatible = "marvell,armada-3700-avs", "syscon"; |
49 | reg = <0x11500 0x40>; | 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" | ||
diff --git a/MAINTAINERS b/MAINTAINERS index fed7f9743f14..c590a37e87a1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -11867,6 +11867,7 @@ S: Maintained | |||
11867 | F: arch/arm/mach-omap2/ | 11867 | F: arch/arm/mach-omap2/ |
11868 | F: arch/arm/plat-omap/ | 11868 | F: arch/arm/plat-omap/ |
11869 | F: arch/arm/configs/omap2plus_defconfig | 11869 | F: arch/arm/configs/omap2plus_defconfig |
11870 | F: drivers/bus/ti-sysc.c | ||
11870 | F: drivers/i2c/busses/i2c-omap.c | 11871 | F: drivers/i2c/busses/i2c-omap.c |
11871 | F: drivers/irqchip/irq-omap-intc.c | 11872 | F: drivers/irqchip/irq-omap-intc.c |
11872 | F: drivers/mfd/*omap*.c | 11873 | F: drivers/mfd/*omap*.c |
@@ -11887,6 +11888,7 @@ F: drivers/regulator/tps65910-regulator.c | |||
11887 | F: drivers/regulator/twl-regulator.c | 11888 | F: drivers/regulator/twl-regulator.c |
11888 | F: drivers/regulator/twl6030-regulator.c | 11889 | F: drivers/regulator/twl6030-regulator.c |
11889 | F: include/linux/platform_data/i2c-omap.h | 11890 | F: include/linux/platform_data/i2c-omap.h |
11891 | F: include/linux/platform_data/ti-sysc.h | ||
11890 | 11892 | ||
11891 | ONION OMEGA2+ BOARD | 11893 | ONION OMEGA2+ BOARD |
11892 | M: Harvey Hunt <harveyhuntnexus@gmail.com> | 11894 | M: Harvey Hunt <harveyhuntnexus@gmail.com> |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index a24a6a132b07..b21b3a64641a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -336,7 +336,8 @@ dtb-$(CONFIG_MACH_MESON8) += \ | |||
336 | dtb-$(CONFIG_ARCH_MMP) += \ | 336 | dtb-$(CONFIG_ARCH_MMP) += \ |
337 | pxa168-aspenite.dtb \ | 337 | pxa168-aspenite.dtb \ |
338 | pxa910-dkb.dtb \ | 338 | pxa910-dkb.dtb \ |
339 | mmp2-brownstone.dtb | 339 | mmp2-brownstone.dtb \ |
340 | mmp2-olpc-xo-1-75.dtb | ||
340 | dtb-$(CONFIG_ARCH_MPS2) += \ | 341 | dtb-$(CONFIG_ARCH_MPS2) += \ |
341 | mps2-an385.dtb \ | 342 | mps2-an385.dtb \ |
342 | mps2-an399.dtb | 343 | mps2-an399.dtb |
@@ -1278,6 +1279,7 @@ dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb | |||
1278 | dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb | 1279 | dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb |
1279 | dtb-$(CONFIG_ARCH_ASPEED) += \ | 1280 | dtb-$(CONFIG_ARCH_ASPEED) += \ |
1280 | aspeed-ast2500-evb.dtb \ | 1281 | aspeed-ast2500-evb.dtb \ |
1282 | aspeed-ast2600-evb.dtb \ | ||
1281 | aspeed-bmc-arm-centriq2400-rep.dtb \ | 1283 | aspeed-bmc-arm-centriq2400-rep.dtb \ |
1282 | aspeed-bmc-arm-stardragon4800-rep2.dtb \ | 1284 | aspeed-bmc-arm-stardragon4800-rep2.dtb \ |
1283 | aspeed-bmc-facebook-cmm.dtb \ | 1285 | aspeed-bmc-facebook-cmm.dtb \ |
diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi index 46849d6ecb3e..9915c891e05f 100644 --- a/arch/arm/boot/dts/am33xx-l4.dtsi +++ b/arch/arm/boot/dts/am33xx-l4.dtsi | |||
@@ -673,7 +673,6 @@ | |||
673 | 673 | ||
674 | target-module@100000 { /* 0x4a100000, ap 3 08.0 */ | 674 | target-module@100000 { /* 0x4a100000, ap 3 08.0 */ |
675 | compatible = "ti,sysc-omap4-simple", "ti,sysc"; | 675 | compatible = "ti,sysc-omap4-simple", "ti,sysc"; |
676 | ti,hwmods = "cpgmac0"; | ||
677 | reg = <0x101200 0x4>, | 676 | reg = <0x101200 0x4>, |
678 | <0x101208 0x4>, | 677 | <0x101208 0x4>, |
679 | <0x101204 0x4>; | 678 | <0x101204 0x4>; |
@@ -719,9 +718,10 @@ | |||
719 | 718 | ||
720 | davinci_mdio: mdio@1000 { | 719 | davinci_mdio: mdio@1000 { |
721 | compatible = "ti,cpsw-mdio","ti,davinci_mdio"; | 720 | compatible = "ti,cpsw-mdio","ti,davinci_mdio"; |
721 | clocks = <&cpsw_125mhz_clkctrl AM3_CPSW_125MHZ_CPGMAC0_CLKCTRL 0>; | ||
722 | clock-names = "fck"; | ||
722 | #address-cells = <1>; | 723 | #address-cells = <1>; |
723 | #size-cells = <0>; | 724 | #size-cells = <0>; |
724 | ti,hwmods = "davinci_mdio"; | ||
725 | bus_freq = <1000000>; | 725 | bus_freq = <1000000>; |
726 | reg = <0x1000 0x100>; | 726 | reg = <0x1000 0x100>; |
727 | status = "disabled"; | 727 | status = "disabled"; |
diff --git a/arch/arm/boot/dts/am3517.dtsi b/arch/arm/boot/dts/am3517.dtsi index 23ea381d363f..bf3002009b00 100644 --- a/arch/arm/boot/dts/am3517.dtsi +++ b/arch/arm/boot/dts/am3517.dtsi | |||
@@ -88,6 +88,30 @@ | |||
88 | interrupts = <24>; | 88 | interrupts = <24>; |
89 | clocks = <&hecc_ck>; | 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 | ||
diff --git a/arch/arm/boot/dts/am437x-l4.dtsi b/arch/arm/boot/dts/am437x-l4.dtsi index 04bee4ff9dcb..59770dd3785e 100644 --- a/arch/arm/boot/dts/am437x-l4.dtsi +++ b/arch/arm/boot/dts/am437x-l4.dtsi | |||
@@ -512,7 +512,6 @@ | |||
512 | 512 | ||
513 | target-module@100000 { /* 0x4a100000, ap 3 04.0 */ | 513 | target-module@100000 { /* 0x4a100000, ap 3 04.0 */ |
514 | compatible = "ti,sysc-omap4-simple", "ti,sysc"; | 514 | compatible = "ti,sysc-omap4-simple", "ti,sysc"; |
515 | ti,hwmods = "cpgmac0"; | ||
516 | reg = <0x101200 0x4>, | 515 | reg = <0x101200 0x4>, |
517 | <0x101208 0x4>, | 516 | <0x101208 0x4>, |
518 | <0x101204 0x4>; | 517 | <0x101204 0x4>; |
@@ -559,11 +558,10 @@ | |||
559 | davinci_mdio: mdio@1000 { | 558 | davinci_mdio: mdio@1000 { |
560 | compatible = "ti,am4372-mdio","ti,cpsw-mdio","ti,davinci_mdio"; | 559 | compatible = "ti,am4372-mdio","ti,cpsw-mdio","ti,davinci_mdio"; |
561 | reg = <0x1000 0x100>; | 560 | reg = <0x1000 0x100>; |
561 | clocks = <&cpsw_125mhz_clkctrl AM4_CPSW_125MHZ_CPGMAC0_CLKCTRL 0>; | ||
562 | clock-names = "fck"; | ||
562 | #address-cells = <1>; | 563 | #address-cells = <1>; |
563 | #size-cells = <0>; | 564 | #size-cells = <0>; |
564 | clocks = <&cpsw_125mhz_gclk>; | ||
565 | clock-names = "fck"; | ||
566 | ti,hwmods = "davinci_mdio"; | ||
567 | bus_freq = <1000000>; | 565 | bus_freq = <1000000>; |
568 | status = "disabled"; | 566 | status = "disabled"; |
569 | }; | 567 | }; |
diff --git a/arch/arm/boot/dts/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed-ast2600-evb.dts new file mode 100644 index 000000000000..9870553919b7 --- /dev/null +++ b/arch/arm/boot/dts/aspeed-ast2600-evb.dts | |||
@@ -0,0 +1,80 @@ | |||
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 = <ðphy1>; | ||
58 | }; | ||
59 | |||
60 | &mac2 { | ||
61 | status = "okay"; | ||
62 | |||
63 | phy-mode = "rgmii"; | ||
64 | phy-handle = <ðphy2>; | ||
65 | }; | ||
66 | |||
67 | &mac3 { | ||
68 | status = "okay"; | ||
69 | |||
70 | phy-mode = "rgmii"; | ||
71 | phy-handle = <ðphy3>; | ||
72 | }; | ||
73 | |||
74 | &emmc { | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | |||
78 | &rtc { | ||
79 | status = "okay"; | ||
80 | }; | ||
diff --git a/arch/arm/boot/dts/aspeed-g6-pinctrl.dtsi b/arch/arm/boot/dts/aspeed-g6-pinctrl.dtsi new file mode 100644 index 000000000000..5b8bf58e89cb --- /dev/null +++ b/arch/arm/boot/dts/aspeed-g6-pinctrl.dtsi | |||
@@ -0,0 +1,1154 @@ | |||
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 | }; | ||
diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi new file mode 100644 index 000000000000..3a1422f7c49c --- /dev/null +++ b/arch/arm/boot/dts/aspeed-g6.dtsi | |||
@@ -0,0 +1,261 @@ | |||
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" | ||
diff --git a/arch/arm/boot/dts/dra7-l4.dtsi b/arch/arm/boot/dts/dra7-l4.dtsi index 21e5914fdd62..ea0e7c19eb4e 100644 --- a/arch/arm/boot/dts/dra7-l4.dtsi +++ b/arch/arm/boot/dts/dra7-l4.dtsi | |||
@@ -1118,7 +1118,6 @@ | |||
1118 | 1118 | ||
1119 | target-module@20000 { /* 0x48020000, ap 3 04.0 */ | 1119 | target-module@20000 { /* 0x48020000, ap 3 04.0 */ |
1120 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1120 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1121 | ti,hwmods = "uart3"; | ||
1122 | reg = <0x20050 0x4>, | 1121 | reg = <0x20050 0x4>, |
1123 | <0x20054 0x4>, | 1122 | <0x20054 0x4>, |
1124 | <0x20058 0x4>; | 1123 | <0x20058 0x4>; |
@@ -1263,7 +1262,6 @@ | |||
1263 | 1262 | ||
1264 | gpio7_target: target-module@51000 { /* 0x48051000, ap 45 2e.0 */ | 1263 | gpio7_target: target-module@51000 { /* 0x48051000, ap 45 2e.0 */ |
1265 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1264 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1266 | ti,hwmods = "gpio7"; | ||
1267 | reg = <0x51000 0x4>, | 1265 | reg = <0x51000 0x4>, |
1268 | <0x51010 0x4>, | 1266 | <0x51010 0x4>, |
1269 | <0x51114 0x4>; | 1267 | <0x51114 0x4>; |
@@ -1297,7 +1295,6 @@ | |||
1297 | 1295 | ||
1298 | target-module@53000 { /* 0x48053000, ap 35 36.0 */ | 1296 | target-module@53000 { /* 0x48053000, ap 35 36.0 */ |
1299 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1297 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1300 | ti,hwmods = "gpio8"; | ||
1301 | reg = <0x53000 0x4>, | 1298 | reg = <0x53000 0x4>, |
1302 | <0x53010 0x4>, | 1299 | <0x53010 0x4>, |
1303 | <0x53114 0x4>; | 1300 | <0x53114 0x4>; |
@@ -1331,7 +1328,6 @@ | |||
1331 | 1328 | ||
1332 | target-module@55000 { /* 0x48055000, ap 13 0e.0 */ | 1329 | target-module@55000 { /* 0x48055000, ap 13 0e.0 */ |
1333 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1330 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1334 | ti,hwmods = "gpio2"; | ||
1335 | reg = <0x55000 0x4>, | 1331 | reg = <0x55000 0x4>, |
1336 | <0x55010 0x4>, | 1332 | <0x55010 0x4>, |
1337 | <0x55114 0x4>; | 1333 | <0x55114 0x4>; |
@@ -1365,7 +1361,6 @@ | |||
1365 | 1361 | ||
1366 | target-module@57000 { /* 0x48057000, ap 15 06.0 */ | 1362 | target-module@57000 { /* 0x48057000, ap 15 06.0 */ |
1367 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1363 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1368 | ti,hwmods = "gpio3"; | ||
1369 | reg = <0x57000 0x4>, | 1364 | reg = <0x57000 0x4>, |
1370 | <0x57010 0x4>, | 1365 | <0x57010 0x4>, |
1371 | <0x57114 0x4>; | 1366 | <0x57114 0x4>; |
@@ -1399,7 +1394,6 @@ | |||
1399 | 1394 | ||
1400 | target-module@59000 { /* 0x48059000, ap 17 16.0 */ | 1395 | target-module@59000 { /* 0x48059000, ap 17 16.0 */ |
1401 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1396 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1402 | ti,hwmods = "gpio4"; | ||
1403 | reg = <0x59000 0x4>, | 1397 | reg = <0x59000 0x4>, |
1404 | <0x59010 0x4>, | 1398 | <0x59010 0x4>, |
1405 | <0x59114 0x4>; | 1399 | <0x59114 0x4>; |
@@ -1433,7 +1427,6 @@ | |||
1433 | 1427 | ||
1434 | target-module@5b000 { /* 0x4805b000, ap 19 1e.0 */ | 1428 | target-module@5b000 { /* 0x4805b000, ap 19 1e.0 */ |
1435 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1429 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1436 | ti,hwmods = "gpio5"; | ||
1437 | reg = <0x5b000 0x4>, | 1430 | reg = <0x5b000 0x4>, |
1438 | <0x5b010 0x4>, | 1431 | <0x5b010 0x4>, |
1439 | <0x5b114 0x4>; | 1432 | <0x5b114 0x4>; |
@@ -1467,7 +1460,6 @@ | |||
1467 | 1460 | ||
1468 | target-module@5d000 { /* 0x4805d000, ap 21 26.0 */ | 1461 | target-module@5d000 { /* 0x4805d000, ap 21 26.0 */ |
1469 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1462 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1470 | ti,hwmods = "gpio6"; | ||
1471 | reg = <0x5d000 0x4>, | 1463 | reg = <0x5d000 0x4>, |
1472 | <0x5d010 0x4>, | 1464 | <0x5d010 0x4>, |
1473 | <0x5d114 0x4>; | 1465 | <0x5d114 0x4>; |
@@ -1501,7 +1493,6 @@ | |||
1501 | 1493 | ||
1502 | target-module@60000 { /* 0x48060000, ap 23 32.0 */ | 1494 | target-module@60000 { /* 0x48060000, ap 23 32.0 */ |
1503 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1495 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1504 | ti,hwmods = "i2c3"; | ||
1505 | reg = <0x60000 0x8>, | 1496 | reg = <0x60000 0x8>, |
1506 | <0x60010 0x8>, | 1497 | <0x60010 0x8>, |
1507 | <0x60090 0x8>; | 1498 | <0x60090 0x8>; |
@@ -1534,7 +1525,6 @@ | |||
1534 | 1525 | ||
1535 | target-module@66000 { /* 0x48066000, ap 63 14.0 */ | 1526 | target-module@66000 { /* 0x48066000, ap 63 14.0 */ |
1536 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1527 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1537 | ti,hwmods = "uart5"; | ||
1538 | reg = <0x66050 0x4>, | 1528 | reg = <0x66050 0x4>, |
1539 | <0x66054 0x4>, | 1529 | <0x66054 0x4>, |
1540 | <0x66058 0x4>; | 1530 | <0x66058 0x4>; |
@@ -1567,7 +1557,6 @@ | |||
1567 | 1557 | ||
1568 | target-module@68000 { /* 0x48068000, ap 53 1c.0 */ | 1558 | target-module@68000 { /* 0x48068000, ap 53 1c.0 */ |
1569 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1559 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1570 | ti,hwmods = "uart6"; | ||
1571 | reg = <0x68050 0x4>, | 1560 | reg = <0x68050 0x4>, |
1572 | <0x68054 0x4>, | 1561 | <0x68054 0x4>, |
1573 | <0x68058 0x4>; | 1562 | <0x68058 0x4>; |
@@ -1600,7 +1589,6 @@ | |||
1600 | 1589 | ||
1601 | target-module@6a000 { /* 0x4806a000, ap 24 24.0 */ | 1590 | target-module@6a000 { /* 0x4806a000, ap 24 24.0 */ |
1602 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1591 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1603 | ti,hwmods = "uart1"; | ||
1604 | reg = <0x6a050 0x4>, | 1592 | reg = <0x6a050 0x4>, |
1605 | <0x6a054 0x4>, | 1593 | <0x6a054 0x4>, |
1606 | <0x6a058 0x4>; | 1594 | <0x6a058 0x4>; |
@@ -1633,7 +1621,6 @@ | |||
1633 | 1621 | ||
1634 | target-module@6c000 { /* 0x4806c000, ap 26 2c.0 */ | 1622 | target-module@6c000 { /* 0x4806c000, ap 26 2c.0 */ |
1635 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1623 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1636 | ti,hwmods = "uart2"; | ||
1637 | reg = <0x6c050 0x4>, | 1624 | reg = <0x6c050 0x4>, |
1638 | <0x6c054 0x4>, | 1625 | <0x6c054 0x4>, |
1639 | <0x6c058 0x4>; | 1626 | <0x6c058 0x4>; |
@@ -1666,7 +1653,6 @@ | |||
1666 | 1653 | ||
1667 | target-module@6e000 { /* 0x4806e000, ap 28 0c.1 */ | 1654 | target-module@6e000 { /* 0x4806e000, ap 28 0c.1 */ |
1668 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1655 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1669 | ti,hwmods = "uart4"; | ||
1670 | reg = <0x6e050 0x4>, | 1656 | reg = <0x6e050 0x4>, |
1671 | <0x6e054 0x4>, | 1657 | <0x6e054 0x4>, |
1672 | <0x6e058 0x4>; | 1658 | <0x6e058 0x4>; |
@@ -1699,7 +1685,6 @@ | |||
1699 | 1685 | ||
1700 | target-module@70000 { /* 0x48070000, ap 30 22.0 */ | 1686 | target-module@70000 { /* 0x48070000, ap 30 22.0 */ |
1701 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1687 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1702 | ti,hwmods = "i2c1"; | ||
1703 | reg = <0x70000 0x8>, | 1688 | reg = <0x70000 0x8>, |
1704 | <0x70010 0x8>, | 1689 | <0x70010 0x8>, |
1705 | <0x70090 0x8>; | 1690 | <0x70090 0x8>; |
@@ -1732,7 +1717,6 @@ | |||
1732 | 1717 | ||
1733 | target-module@72000 { /* 0x48072000, ap 32 2a.0 */ | 1718 | target-module@72000 { /* 0x48072000, ap 32 2a.0 */ |
1734 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1719 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1735 | ti,hwmods = "i2c2"; | ||
1736 | reg = <0x72000 0x8>, | 1720 | reg = <0x72000 0x8>, |
1737 | <0x72010 0x8>, | 1721 | <0x72010 0x8>, |
1738 | <0x72090 0x8>; | 1722 | <0x72090 0x8>; |
@@ -1795,7 +1779,6 @@ | |||
1795 | 1779 | ||
1796 | target-module@7a000 { /* 0x4807a000, ap 81 3a.0 */ | 1780 | target-module@7a000 { /* 0x4807a000, ap 81 3a.0 */ |
1797 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1781 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1798 | ti,hwmods = "i2c4"; | ||
1799 | reg = <0x7a000 0x8>, | 1782 | reg = <0x7a000 0x8>, |
1800 | <0x7a010 0x8>, | 1783 | <0x7a010 0x8>, |
1801 | <0x7a090 0x8>; | 1784 | <0x7a090 0x8>; |
@@ -1828,7 +1811,6 @@ | |||
1828 | 1811 | ||
1829 | target-module@7c000 { /* 0x4807c000, ap 83 4a.0 */ | 1812 | target-module@7c000 { /* 0x4807c000, ap 83 4a.0 */ |
1830 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1813 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1831 | ti,hwmods = "i2c5"; | ||
1832 | reg = <0x7c000 0x8>, | 1814 | reg = <0x7c000 0x8>, |
1833 | <0x7c010 0x8>, | 1815 | <0x7c010 0x8>, |
1834 | <0x7c090 0x8>; | 1816 | <0x7c090 0x8>; |
@@ -1942,7 +1924,6 @@ | |||
1942 | 1924 | ||
1943 | target-module@98000 { /* 0x48098000, ap 47 08.0 */ | 1925 | target-module@98000 { /* 0x48098000, ap 47 08.0 */ |
1944 | compatible = "ti,sysc-omap4", "ti,sysc"; | 1926 | compatible = "ti,sysc-omap4", "ti,sysc"; |
1945 | ti,hwmods = "mcspi1"; | ||
1946 | reg = <0x98000 0x4>, | 1927 | reg = <0x98000 0x4>, |
1947 | <0x98010 0x4>; | 1928 | <0x98010 0x4>; |
1948 | reg-names = "rev", "sysc"; | 1929 | reg-names = "rev", "sysc"; |
@@ -1982,7 +1963,6 @@ | |||
1982 | 1963 | ||
1983 | target-module@9a000 { /* 0x4809a000, ap 49 10.0 */ | 1964 | target-module@9a000 { /* 0x4809a000, ap 49 10.0 */ |
1984 | compatible = "ti,sysc-omap4", "ti,sysc"; | 1965 | compatible = "ti,sysc-omap4", "ti,sysc"; |
1985 | ti,hwmods = "mcspi2"; | ||
1986 | reg = <0x9a000 0x4>, | 1966 | reg = <0x9a000 0x4>, |
1987 | <0x9a010 0x4>; | 1967 | <0x9a010 0x4>; |
1988 | reg-names = "rev", "sysc"; | 1968 | reg-names = "rev", "sysc"; |
@@ -2017,7 +1997,6 @@ | |||
2017 | 1997 | ||
2018 | target-module@9c000 { /* 0x4809c000, ap 51 38.0 */ | 1998 | target-module@9c000 { /* 0x4809c000, ap 51 38.0 */ |
2019 | compatible = "ti,sysc-omap4", "ti,sysc"; | 1999 | compatible = "ti,sysc-omap4", "ti,sysc"; |
2020 | ti,hwmods = "mmc1"; | ||
2021 | reg = <0x9c000 0x4>, | 2000 | reg = <0x9c000 0x4>, |
2022 | <0x9c010 0x4>; | 2001 | <0x9c010 0x4>; |
2023 | reg-names = "rev", "sysc"; | 2002 | reg-names = "rev", "sysc"; |
@@ -2077,7 +2056,6 @@ | |||
2077 | 2056 | ||
2078 | target-module@ad000 { /* 0x480ad000, ap 61 20.0 */ | 2057 | target-module@ad000 { /* 0x480ad000, ap 61 20.0 */ |
2079 | compatible = "ti,sysc-omap4", "ti,sysc"; | 2058 | compatible = "ti,sysc-omap4", "ti,sysc"; |
2080 | ti,hwmods = "mmc3"; | ||
2081 | reg = <0xad000 0x4>, | 2059 | reg = <0xad000 0x4>, |
2082 | <0xad010 0x4>; | 2060 | <0xad010 0x4>; |
2083 | reg-names = "rev", "sysc"; | 2061 | reg-names = "rev", "sysc"; |
@@ -2137,7 +2115,6 @@ | |||
2137 | 2115 | ||
2138 | target-module@b4000 { /* 0x480b4000, ap 65 40.0 */ | 2116 | target-module@b4000 { /* 0x480b4000, ap 65 40.0 */ |
2139 | compatible = "ti,sysc-omap4", "ti,sysc"; | 2117 | compatible = "ti,sysc-omap4", "ti,sysc"; |
2140 | ti,hwmods = "mmc2"; | ||
2141 | reg = <0xb4000 0x4>, | 2118 | reg = <0xb4000 0x4>, |
2142 | <0xb4010 0x4>; | 2119 | <0xb4010 0x4>; |
2143 | reg-names = "rev", "sysc"; | 2120 | reg-names = "rev", "sysc"; |
@@ -2174,7 +2151,6 @@ | |||
2174 | 2151 | ||
2175 | target-module@b8000 { /* 0x480b8000, ap 67 48.0 */ | 2152 | target-module@b8000 { /* 0x480b8000, ap 67 48.0 */ |
2176 | compatible = "ti,sysc-omap4", "ti,sysc"; | 2153 | compatible = "ti,sysc-omap4", "ti,sysc"; |
2177 | ti,hwmods = "mcspi3"; | ||
2178 | reg = <0xb8000 0x4>, | 2154 | reg = <0xb8000 0x4>, |
2179 | <0xb8010 0x4>; | 2155 | <0xb8010 0x4>; |
2180 | reg-names = "rev", "sysc"; | 2156 | reg-names = "rev", "sysc"; |
@@ -2206,7 +2182,6 @@ | |||
2206 | 2182 | ||
2207 | target-module@ba000 { /* 0x480ba000, ap 69 18.0 */ | 2183 | target-module@ba000 { /* 0x480ba000, ap 69 18.0 */ |
2208 | compatible = "ti,sysc-omap4", "ti,sysc"; | 2184 | compatible = "ti,sysc-omap4", "ti,sysc"; |
2209 | ti,hwmods = "mcspi4"; | ||
2210 | reg = <0xba000 0x4>, | 2185 | reg = <0xba000 0x4>, |
2211 | <0xba010 0x4>; | 2186 | <0xba010 0x4>; |
2212 | reg-names = "rev", "sysc"; | 2187 | reg-names = "rev", "sysc"; |
@@ -2238,7 +2213,6 @@ | |||
2238 | 2213 | ||
2239 | target-module@d1000 { /* 0x480d1000, ap 71 28.0 */ | 2214 | target-module@d1000 { /* 0x480d1000, ap 71 28.0 */ |
2240 | compatible = "ti,sysc-omap4", "ti,sysc"; | 2215 | compatible = "ti,sysc-omap4", "ti,sysc"; |
2241 | ti,hwmods = "mmc4"; | ||
2242 | reg = <0xd1000 0x4>, | 2216 | reg = <0xd1000 0x4>, |
2243 | <0xd1010 0x4>; | 2217 | <0xd1010 0x4>; |
2244 | reg-names = "rev", "sysc"; | 2218 | reg-names = "rev", "sysc"; |
@@ -2384,7 +2358,6 @@ | |||
2384 | 2358 | ||
2385 | target-module@20000 { /* 0x48420000, ap 47 02.0 */ | 2359 | target-module@20000 { /* 0x48420000, ap 47 02.0 */ |
2386 | compatible = "ti,sysc-omap2", "ti,sysc"; | 2360 | compatible = "ti,sysc-omap2", "ti,sysc"; |
2387 | ti,hwmods = "uart7"; | ||
2388 | reg = <0x20050 0x4>, | 2361 | reg = <0x20050 0x4>, |
2389 | <0x20054 0x4>, | 2362 | <0x20054 0x4>, |
2390 | <0x20058 0x4>; | 2363 | <0x20058 0x4>; |
@@ -2415,7 +2388,6 @@ | |||
2415 | 2388 | ||
2416 | target-module@22000 { /* 0x48422000, ap 49 0a.0 */ | 2389 | target-module@22000 { /* 0x48422000, ap 49 0a.0 */ |
2417 | compatible = "ti,sysc-omap2", "ti,sysc"; | 2390 | compatible = "ti,sysc-omap2", "ti,sysc"; |
2418 | ti,hwmods = "uart8"; | ||
2419 | reg = <0x22050 0x4>, | 2391 | reg = <0x22050 0x4>, |
2420 | <0x22054 0x4>, | 2392 | <0x22054 0x4>, |
2421 | <0x22058 0x4>; | 2393 | <0x22058 0x4>; |
@@ -2446,7 +2418,6 @@ | |||
2446 | 2418 | ||
2447 | target-module@24000 { /* 0x48424000, ap 51 12.0 */ | 2419 | target-module@24000 { /* 0x48424000, ap 51 12.0 */ |
2448 | compatible = "ti,sysc-omap2", "ti,sysc"; | 2420 | compatible = "ti,sysc-omap2", "ti,sysc"; |
2449 | ti,hwmods = "uart9"; | ||
2450 | reg = <0x24050 0x4>, | 2421 | reg = <0x24050 0x4>, |
2451 | <0x24054 0x4>, | 2422 | <0x24054 0x4>, |
2452 | <0x24058 0x4>; | 2423 | <0x24058 0x4>; |
@@ -2735,7 +2706,6 @@ | |||
2735 | 2706 | ||
2736 | target-module@60000 { /* 0x48460000, ap 9 0e.0 */ | 2707 | target-module@60000 { /* 0x48460000, ap 9 0e.0 */ |
2737 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2708 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2738 | ti,hwmods = "mcasp1"; | ||
2739 | reg = <0x60000 0x4>, | 2709 | reg = <0x60000 0x4>, |
2740 | <0x60004 0x4>; | 2710 | <0x60004 0x4>; |
2741 | reg-names = "rev", "sysc"; | 2711 | reg-names = "rev", "sysc"; |
@@ -2772,7 +2742,6 @@ | |||
2772 | 2742 | ||
2773 | target-module@64000 { /* 0x48464000, ap 11 1e.0 */ | 2743 | target-module@64000 { /* 0x48464000, ap 11 1e.0 */ |
2774 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2744 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2775 | ti,hwmods = "mcasp2"; | ||
2776 | reg = <0x64000 0x4>, | 2745 | reg = <0x64000 0x4>, |
2777 | <0x64004 0x4>; | 2746 | <0x64004 0x4>; |
2778 | reg-names = "rev", "sysc"; | 2747 | reg-names = "rev", "sysc"; |
@@ -2809,7 +2778,6 @@ | |||
2809 | 2778 | ||
2810 | target-module@68000 { /* 0x48468000, ap 13 26.0 */ | 2779 | target-module@68000 { /* 0x48468000, ap 13 26.0 */ |
2811 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2780 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2812 | ti,hwmods = "mcasp3"; | ||
2813 | reg = <0x68000 0x4>, | 2781 | reg = <0x68000 0x4>, |
2814 | <0x68004 0x4>; | 2782 | <0x68004 0x4>; |
2815 | reg-names = "rev", "sysc"; | 2783 | reg-names = "rev", "sysc"; |
@@ -2845,7 +2813,6 @@ | |||
2845 | 2813 | ||
2846 | target-module@6c000 { /* 0x4846c000, ap 15 2e.0 */ | 2814 | target-module@6c000 { /* 0x4846c000, ap 15 2e.0 */ |
2847 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2815 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2848 | ti,hwmods = "mcasp4"; | ||
2849 | reg = <0x6c000 0x4>, | 2816 | reg = <0x6c000 0x4>, |
2850 | <0x6c004 0x4>; | 2817 | <0x6c004 0x4>; |
2851 | reg-names = "rev", "sysc"; | 2818 | reg-names = "rev", "sysc"; |
@@ -2881,7 +2848,6 @@ | |||
2881 | 2848 | ||
2882 | target-module@70000 { /* 0x48470000, ap 19 36.0 */ | 2849 | target-module@70000 { /* 0x48470000, ap 19 36.0 */ |
2883 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2850 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2884 | ti,hwmods = "mcasp5"; | ||
2885 | reg = <0x70000 0x4>, | 2851 | reg = <0x70000 0x4>, |
2886 | <0x70004 0x4>; | 2852 | <0x70004 0x4>; |
2887 | reg-names = "rev", "sysc"; | 2853 | reg-names = "rev", "sysc"; |
@@ -2917,7 +2883,6 @@ | |||
2917 | 2883 | ||
2918 | target-module@74000 { /* 0x48474000, ap 35 14.0 */ | 2884 | target-module@74000 { /* 0x48474000, ap 35 14.0 */ |
2919 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2885 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2920 | ti,hwmods = "mcasp6"; | ||
2921 | reg = <0x74000 0x4>, | 2886 | reg = <0x74000 0x4>, |
2922 | <0x74004 0x4>; | 2887 | <0x74004 0x4>; |
2923 | reg-names = "rev", "sysc"; | 2888 | reg-names = "rev", "sysc"; |
@@ -2953,7 +2918,6 @@ | |||
2953 | 2918 | ||
2954 | target-module@78000 { /* 0x48478000, ap 39 0c.0 */ | 2919 | target-module@78000 { /* 0x48478000, ap 39 0c.0 */ |
2955 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2920 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2956 | ti,hwmods = "mcasp7"; | ||
2957 | reg = <0x78000 0x4>, | 2921 | reg = <0x78000 0x4>, |
2958 | <0x78004 0x4>; | 2922 | <0x78004 0x4>; |
2959 | reg-names = "rev", "sysc"; | 2923 | reg-names = "rev", "sysc"; |
@@ -2989,7 +2953,6 @@ | |||
2989 | 2953 | ||
2990 | target-module@7c000 { /* 0x4847c000, ap 43 04.0 */ | 2954 | target-module@7c000 { /* 0x4847c000, ap 43 04.0 */ |
2991 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; | 2955 | compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; |
2992 | ti,hwmods = "mcasp8"; | ||
2993 | reg = <0x7c000 0x4>, | 2956 | reg = <0x7c000 0x4>, |
2994 | <0x7c004 0x4>; | 2957 | <0x7c004 0x4>; |
2995 | reg-names = "rev", "sysc"; | 2958 | reg-names = "rev", "sysc"; |
@@ -3045,7 +3008,6 @@ | |||
3045 | 3008 | ||
3046 | target-module@84000 { /* 0x48484000, ap 3 10.0 */ | 3009 | target-module@84000 { /* 0x48484000, ap 3 10.0 */ |
3047 | compatible = "ti,sysc-omap4-simple", "ti,sysc"; | 3010 | compatible = "ti,sysc-omap4-simple", "ti,sysc"; |
3048 | ti,hwmods = "gmac"; | ||
3049 | reg = <0x85200 0x4>, | 3011 | reg = <0x85200 0x4>, |
3050 | <0x85208 0x4>, | 3012 | <0x85208 0x4>, |
3051 | <0x85204 0x4>; | 3013 | <0x85204 0x4>; |
@@ -3103,9 +3065,10 @@ | |||
3103 | 3065 | ||
3104 | davinci_mdio: mdio@1000 { | 3066 | davinci_mdio: mdio@1000 { |
3105 | compatible = "ti,cpsw-mdio","ti,davinci_mdio"; | 3067 | compatible = "ti,cpsw-mdio","ti,davinci_mdio"; |
3068 | clocks = <&gmac_clkctrl DRA7_GMAC_GMAC_CLKCTRL 0>; | ||
3069 | clock-names = "fck"; | ||
3106 | #address-cells = <1>; | 3070 | #address-cells = <1>; |
3107 | #size-cells = <0>; | 3071 | #size-cells = <0>; |
3108 | ti,hwmods = "davinci_mdio"; | ||
3109 | bus_freq = <1000000>; | 3072 | bus_freq = <1000000>; |
3110 | reg = <0x1000 0x100>; | 3073 | reg = <0x1000 0x100>; |
3111 | }; | 3074 | }; |
@@ -4311,7 +4274,6 @@ | |||
4311 | 4274 | ||
4312 | target-module@0 { /* 0x4ae10000, ap 5 20.0 */ | 4275 | target-module@0 { /* 0x4ae10000, ap 5 20.0 */ |
4313 | compatible = "ti,sysc-omap2", "ti,sysc"; | 4276 | compatible = "ti,sysc-omap2", "ti,sysc"; |
4314 | ti,hwmods = "gpio1"; | ||
4315 | reg = <0x0 0x4>, | 4277 | reg = <0x0 0x4>, |
4316 | <0x10 0x4>, | 4278 | <0x10 0x4>, |
4317 | <0x114 0x4>; | 4279 | <0x114 0x4>; |
@@ -4479,7 +4441,6 @@ | |||
4479 | 4441 | ||
4480 | target-module@b000 { /* 0x4ae2b000, ap 28 02.0 */ | 4442 | target-module@b000 { /* 0x4ae2b000, ap 28 02.0 */ |
4481 | compatible = "ti,sysc-omap2", "ti,sysc"; | 4443 | compatible = "ti,sysc-omap2", "ti,sysc"; |
4482 | ti,hwmods = "uart10"; | ||
4483 | reg = <0xb050 0x4>, | 4444 | reg = <0xb050 0x4>, |
4484 | <0xb054 0x4>, | 4445 | <0xb054 0x4>, |
4485 | <0xb058 0x4>; | 4446 | <0xb058 0x4>; |
diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts index bfaa2de63a10..e2030ba16512 100644 --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts | |||
@@ -72,7 +72,6 @@ | |||
72 | reg = <0>; | 72 | reg = <0>; |
73 | /* 50 ns min period = 20 MHz */ | 73 | /* 50 ns min period = 20 MHz */ |
74 | spi-max-frequency = <20000000>; | 74 | spi-max-frequency = <20000000>; |
75 | spi-cpol; /* Clock active low */ | ||
76 | vcc-supply = <&vdisp>; | 75 | vcc-supply = <&vdisp>; |
77 | iovcc-supply = <&vdisp>; | 76 | iovcc-supply = <&vdisp>; |
78 | vci-supply = <&vdisp>; | 77 | vci-supply = <&vdisp>; |
diff --git a/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts b/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts new file mode 100644 index 000000000000..6cfa0d4a1884 --- /dev/null +++ b/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts | |||
@@ -0,0 +1,244 @@ | |||
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 | }; | ||
diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi index b6f40743e07b..6a2f072c1d0a 100644 --- a/arch/arm/boot/dts/mmp2.dtsi +++ b/arch/arm/boot/dts/mmp2.dtsi | |||
@@ -117,7 +117,7 @@ | |||
117 | mrvl,intc-nr-irqs = <2>; | 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 | compatible = "marvell,mmp2-usb-phy"; | 121 | compatible = "marvell,mmp2-usb-phy"; |
122 | reg = <0xd4207000 0x40>; | 122 | reg = <0xd4207000 0x40>; |
123 | #phy-cells = <0>; | 123 | #phy-cells = <0>; |
@@ -130,7 +130,7 @@ | |||
130 | interrupts = <44>; | 130 | interrupts = <44>; |
131 | clocks = <&soc_clocks MMP2_CLK_USB>; | 131 | clocks = <&soc_clocks MMP2_CLK_USB>; |
132 | clock-names = "USBCLK"; | 132 | clock-names = "USBCLK"; |
133 | phys = <&usb_otg_phy0>; | 133 | phys = <&usb_phy0>; |
134 | phy-names = "usb"; | 134 | phy-names = "usb"; |
135 | status = "disabled"; | 135 | status = "disabled"; |
136 | }; | 136 | }; |
@@ -170,6 +170,28 @@ | |||
170 | interrupts = <54>; | 170 | interrupts = <54>; |
171 | status = "disabled"; | 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 | apb@d4000000 { /* APB */ | 197 | apb@d4000000 { /* APB */ |
@@ -192,6 +214,7 @@ | |||
192 | interrupts = <27>; | 214 | interrupts = <27>; |
193 | clocks = <&soc_clocks MMP2_CLK_UART0>; | 215 | clocks = <&soc_clocks MMP2_CLK_UART0>; |
194 | resets = <&soc_clocks MMP2_CLK_UART0>; | 216 | resets = <&soc_clocks MMP2_CLK_UART0>; |
217 | reg-shift = <2>; | ||
195 | status = "disabled"; | 218 | status = "disabled"; |
196 | }; | 219 | }; |
197 | 220 | ||
@@ -201,6 +224,7 @@ | |||
201 | interrupts = <28>; | 224 | interrupts = <28>; |
202 | clocks = <&soc_clocks MMP2_CLK_UART1>; | 225 | clocks = <&soc_clocks MMP2_CLK_UART1>; |
203 | resets = <&soc_clocks MMP2_CLK_UART1>; | 226 | resets = <&soc_clocks MMP2_CLK_UART1>; |
227 | reg-shift = <2>; | ||
204 | status = "disabled"; | 228 | status = "disabled"; |
205 | }; | 229 | }; |
206 | 230 | ||
@@ -210,6 +234,7 @@ | |||
210 | interrupts = <24>; | 234 | interrupts = <24>; |
211 | clocks = <&soc_clocks MMP2_CLK_UART2>; | 235 | clocks = <&soc_clocks MMP2_CLK_UART2>; |
212 | resets = <&soc_clocks MMP2_CLK_UART2>; | 236 | resets = <&soc_clocks MMP2_CLK_UART2>; |
237 | reg-shift = <2>; | ||
213 | status = "disabled"; | 238 | status = "disabled"; |
214 | }; | 239 | }; |
215 | 240 | ||
@@ -219,6 +244,7 @@ | |||
219 | interrupts = <46>; | 244 | interrupts = <46>; |
220 | clocks = <&soc_clocks MMP2_CLK_UART3>; | 245 | clocks = <&soc_clocks MMP2_CLK_UART3>; |
221 | resets = <&soc_clocks MMP2_CLK_UART3>; | 246 | resets = <&soc_clocks MMP2_CLK_UART3>; |
247 | reg-shift = <2>; | ||
222 | status = "disabled"; | 248 | status = "disabled"; |
223 | }; | 249 | }; |
224 | 250 | ||
@@ -346,40 +372,48 @@ | |||
346 | status = "disabled"; | 372 | status = "disabled"; |
347 | }; | 373 | }; |
348 | 374 | ||
349 | ssp1: ssp@d4035000 { | 375 | ssp1: spi@d4035000 { |
350 | compatible = "marvell,mmp2-ssp"; | 376 | compatible = "marvell,mmp2-ssp"; |
351 | reg = <0xd4035000 0x1000>; | 377 | reg = <0xd4035000 0x1000>; |
352 | clocks = <&soc_clocks MMP2_CLK_SSP0>; | 378 | clocks = <&soc_clocks MMP2_CLK_SSP0>; |
353 | interrupts = <0>; | 379 | interrupts = <0>; |
380 | #address-cells = <1>; | ||
381 | #size-cells = <0>; | ||
354 | status = "disabled"; | 382 | status = "disabled"; |
355 | }; | 383 | }; |
356 | 384 | ||
357 | ssp2: ssp@d4036000 { | 385 | ssp2: spi@d4036000 { |
358 | compatible = "marvell,mmp2-ssp"; | 386 | compatible = "marvell,mmp2-ssp"; |
359 | reg = <0xd4036000 0x1000>; | 387 | reg = <0xd4036000 0x1000>; |
360 | clocks = <&soc_clocks MMP2_CLK_SSP1>; | 388 | clocks = <&soc_clocks MMP2_CLK_SSP1>; |
361 | interrupts = <1>; | 389 | interrupts = <1>; |
390 | #address-cells = <1>; | ||
391 | #size-cells = <0>; | ||
362 | status = "disabled"; | 392 | status = "disabled"; |
363 | }; | 393 | }; |
364 | 394 | ||
365 | ssp3: ssp@d4037000 { | 395 | ssp3: spi@d4037000 { |
366 | compatible = "marvell,mmp2-ssp"; | 396 | compatible = "marvell,mmp2-ssp"; |
367 | reg = <0xd4037000 0x1000>; | 397 | reg = <0xd4037000 0x1000>; |
368 | clocks = <&soc_clocks MMP2_CLK_SSP2>; | 398 | clocks = <&soc_clocks MMP2_CLK_SSP2>; |
369 | interrupts = <20>; | 399 | interrupts = <20>; |
400 | #address-cells = <1>; | ||
401 | #size-cells = <0>; | ||
370 | status = "disabled"; | 402 | status = "disabled"; |
371 | }; | 403 | }; |
372 | 404 | ||
373 | ssp4: ssp@d4039000 { | 405 | ssp4: spi@d4039000 { |
374 | compatible = "marvell,mmp2-ssp"; | 406 | compatible = "marvell,mmp2-ssp"; |
375 | reg = <0xd4039000 0x1000>; | 407 | reg = <0xd4039000 0x1000>; |
376 | clocks = <&soc_clocks MMP2_CLK_SSP3>; | 408 | clocks = <&soc_clocks MMP2_CLK_SSP3>; |
377 | interrupts = <21>; | 409 | interrupts = <21>; |
410 | #address-cells = <1>; | ||
411 | #size-cells = <0>; | ||
378 | status = "disabled"; | 412 | status = "disabled"; |
379 | }; | 413 | }; |
380 | }; | 414 | }; |
381 | 415 | ||
382 | soc_clocks: clocks{ | 416 | soc_clocks: clocks { |
383 | compatible = "marvell,mmp2-clock"; | 417 | compatible = "marvell,mmp2-clock"; |
384 | reg = <0xd4050000 0x1000>, | 418 | reg = <0xd4050000 0x1000>, |
385 | <0xd4282800 0x400>, | 419 | <0xd4282800 0x400>, |
diff --git a/arch/arm/boot/dts/omap34xx.dtsi b/arch/arm/boot/dts/omap34xx.dtsi index f572a477f74c..7b09cbee8bb8 100644 --- a/arch/arm/boot/dts/omap34xx.dtsi +++ b/arch/arm/boot/dts/omap34xx.dtsi | |||
@@ -100,6 +100,32 @@ | |||
100 | interrupts = <18>; | 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 | thermal_zones: thermal-zones { | 131 | thermal_zones: thermal-zones { |
diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi index 6fb23ada1f64..1e552f08f120 100644 --- a/arch/arm/boot/dts/omap36xx.dtsi +++ b/arch/arm/boot/dts/omap36xx.dtsi | |||
@@ -139,6 +139,34 @@ | |||
139 | interrupts = <18>; | 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 | thermal_zones: thermal-zones { | 172 | thermal_zones: thermal-zones { |
diff --git a/arch/arm/boot/dts/omap4-l4-abe.dtsi b/arch/arm/boot/dts/omap4-l4-abe.dtsi index 67072df39bc7..8e6662bb9e83 100644 --- a/arch/arm/boot/dts/omap4-l4-abe.dtsi +++ b/arch/arm/boot/dts/omap4-l4-abe.dtsi | |||
@@ -255,7 +255,6 @@ | |||
255 | 255 | ||
256 | target-module@30000 { /* 0x40130000, ap 14 0e.0 */ | 256 | target-module@30000 { /* 0x40130000, ap 14 0e.0 */ |
257 | compatible = "ti,sysc-omap2", "ti,sysc"; | 257 | compatible = "ti,sysc-omap2", "ti,sysc"; |
258 | ti,hwmods = "wd_timer3"; | ||
259 | reg = <0x30000 0x4>, | 258 | reg = <0x30000 0x4>, |
260 | <0x30010 0x4>, | 259 | <0x30010 0x4>, |
261 | <0x30014 0x4>; | 260 | <0x30014 0x4>; |
diff --git a/arch/arm/boot/dts/omap4-l4.dtsi b/arch/arm/boot/dts/omap4-l4.dtsi index bea05dc4ef0f..d60d5e0ecc4c 100644 --- a/arch/arm/boot/dts/omap4-l4.dtsi +++ b/arch/arm/boot/dts/omap4-l4.dtsi | |||
@@ -456,17 +456,43 @@ | |||
456 | }; | 456 | }; |
457 | }; | 457 | }; |
458 | 458 | ||
459 | /* d2d mdm */ | ||
459 | target-module@36000 { /* 0x4a0b6000, ap 69 60.0 */ | 460 | target-module@36000 { /* 0x4a0b6000, ap 69 60.0 */ |
460 | compatible = "ti,sysc"; | 461 | compatible = "ti,sysc-omap2", "ti,sysc"; |
461 | status = "disabled"; | 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 | #address-cells = <1>; | 475 | #address-cells = <1>; |
463 | #size-cells = <1>; | 476 | #size-cells = <1>; |
464 | ranges = <0x0 0x36000 0x1000>; | 477 | ranges = <0x0 0x36000 0x1000>; |
465 | }; | 478 | }; |
466 | 479 | ||
480 | /* d2d mpu */ | ||
467 | target-module@4d000 { /* 0x4a0cd000, ap 78 58.0 */ | 481 | target-module@4d000 { /* 0x4a0cd000, ap 78 58.0 */ |
468 | compatible = "ti,sysc"; | 482 | compatible = "ti,sysc-omap2", "ti,sysc"; |
469 | status = "disabled"; | 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 | #address-cells = <1>; | 496 | #address-cells = <1>; |
471 | #size-cells = <1>; | 497 | #size-cells = <1>; |
472 | ranges = <0x0 0x4d000 0x1000>; | 498 | ranges = <0x0 0x4d000 0x1000>; |
@@ -1094,7 +1120,6 @@ | |||
1094 | 1120 | ||
1095 | target-module@4000 { /* 0x4a314000, ap 7 18.0 */ | 1121 | target-module@4000 { /* 0x4a314000, ap 7 18.0 */ |
1096 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1122 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1097 | ti,hwmods = "wd_timer2"; | ||
1098 | reg = <0x4000 0x4>, | 1123 | reg = <0x4000 0x4>, |
1099 | <0x4010 0x4>, | 1124 | <0x4010 0x4>, |
1100 | <0x4014 0x4>; | 1125 | <0x4014 0x4>; |
@@ -1695,7 +1720,6 @@ | |||
1695 | 1720 | ||
1696 | target-module@60000 { /* 0x48060000, ap 25 1e.0 */ | 1721 | target-module@60000 { /* 0x48060000, ap 25 1e.0 */ |
1697 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1722 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1698 | ti,hwmods = "i2c3"; | ||
1699 | reg = <0x60000 0x8>, | 1723 | reg = <0x60000 0x8>, |
1700 | <0x60010 0x8>, | 1724 | <0x60010 0x8>, |
1701 | <0x60090 0x8>; | 1725 | <0x60090 0x8>; |
@@ -1814,7 +1838,6 @@ | |||
1814 | 1838 | ||
1815 | target-module@70000 { /* 0x48070000, ap 32 28.0 */ | 1839 | target-module@70000 { /* 0x48070000, ap 32 28.0 */ |
1816 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1840 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1817 | ti,hwmods = "i2c1"; | ||
1818 | reg = <0x70000 0x8>, | 1841 | reg = <0x70000 0x8>, |
1819 | <0x70010 0x8>, | 1842 | <0x70010 0x8>, |
1820 | <0x70090 0x8>; | 1843 | <0x70090 0x8>; |
@@ -1846,7 +1869,6 @@ | |||
1846 | 1869 | ||
1847 | target-module@72000 { /* 0x48072000, ap 34 30.0 */ | 1870 | target-module@72000 { /* 0x48072000, ap 34 30.0 */ |
1848 | compatible = "ti,sysc-omap2", "ti,sysc"; | 1871 | compatible = "ti,sysc-omap2", "ti,sysc"; |
1849 | ti,hwmods = "i2c2"; | ||
1850 | reg = <0x72000 0x8>, | 1872 | reg = <0x72000 0x8>, |
1851 | <0x72010 0x8>, | 1873 | <0x72010 0x8>, |
1852 | <0x72090 0x8>; | 1874 | <0x72090 0x8>; |
@@ -2401,7 +2423,6 @@ | |||
2401 | 2423 | ||
2402 | target-module@150000 { /* 0x48350000, ap 77 4c.0 */ | 2424 | target-module@150000 { /* 0x48350000, ap 77 4c.0 */ |
2403 | compatible = "ti,sysc-omap2", "ti,sysc"; | 2425 | compatible = "ti,sysc-omap2", "ti,sysc"; |
2404 | ti,hwmods = "i2c4"; | ||
2405 | reg = <0x150000 0x8>, | 2426 | reg = <0x150000 0x8>, |
2406 | <0x150010 0x8>, | 2427 | <0x150010 0x8>, |
2407 | <0x150090 0x8>; | 2428 | <0x150090 0x8>; |
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index c43e52fd5f65..7cc95bc1598b 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi | |||
@@ -330,7 +330,6 @@ | |||
330 | 330 | ||
331 | target-module@56000000 { | 331 | target-module@56000000 { |
332 | compatible = "ti,sysc-omap4", "ti,sysc"; | 332 | compatible = "ti,sysc-omap4", "ti,sysc"; |
333 | ti,hwmods = "gpu"; | ||
334 | reg = <0x5601fc00 0x4>, | 333 | reg = <0x5601fc00 0x4>, |
335 | <0x5601fc10 0x4>; | 334 | <0x5601fc10 0x4>; |
336 | reg-names = "rev", "sysc"; | 335 | reg-names = "rev", "sysc"; |
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index edfd26c03462..1fb7937638f0 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi | |||
@@ -257,6 +257,29 @@ | |||
257 | ports-implemented = <0x1>; | 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 | dss: dss@58000000 { | 283 | dss: dss@58000000 { |
261 | compatible = "ti,omap5-dss"; | 284 | compatible = "ti,omap5-dss"; |
262 | reg = <0x58000000 0x80>; | 285 | reg = <0x58000000 0x80>; |
diff --git a/arch/arm/boot/dts/omap54xx-clocks.dtsi b/arch/arm/boot/dts/omap54xx-clocks.dtsi index 33e8dd905bff..fac2e57dcca9 100644 --- a/arch/arm/boot/dts/omap54xx-clocks.dtsi +++ b/arch/arm/boot/dts/omap54xx-clocks.dtsi | |||
@@ -1146,6 +1146,20 @@ | |||
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 | l3init_cm: l3init_cm@1600 { | 1163 | l3init_cm: l3init_cm@1600 { |
1150 | compatible = "ti,omap4-cm"; | 1164 | compatible = "ti,omap4-cm"; |
1151 | reg = <0x1600 0x100>; | 1165 | reg = <0x1600 0x100>; |
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index f83786640f94..9dab1f50a02f 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
@@ -19,6 +19,7 @@ menuconfig ARCH_EXYNOS | |||
19 | select EXYNOS_SROM | 19 | select EXYNOS_SROM |
20 | select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS | 20 | select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS |
21 | select GPIOLIB | 21 | select GPIOLIB |
22 | select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5 && VIRTUALIZATION | ||
22 | select HAVE_ARM_SCU if SMP | 23 | select HAVE_ARM_SCU if SMP |
23 | select HAVE_S3C2410_I2C if I2C | 24 | select HAVE_S3C2410_I2C if I2C |
24 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 25 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h index aaa6092426ea..3de3d7a115b3 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h | |||
@@ -30,7 +30,6 @@ extern struct omap_hwmod_ocp_if am33xx_l3_main__gfx; | |||
30 | extern struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc; | 30 | extern struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc; |
31 | extern struct omap_hwmod_ocp_if am33xx_l4_per__dcan0; | 31 | extern struct omap_hwmod_ocp_if am33xx_l4_per__dcan0; |
32 | extern struct omap_hwmod_ocp_if am33xx_l4_per__dcan1; | 32 | extern struct omap_hwmod_ocp_if am33xx_l4_per__dcan1; |
33 | extern struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio; | ||
34 | extern struct omap_hwmod_ocp_if am33xx_l4_ls__elm; | 33 | extern struct omap_hwmod_ocp_if am33xx_l4_ls__elm; |
35 | extern struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss0; | 34 | extern struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss0; |
36 | extern struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss1; | 35 | extern struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss1; |
@@ -72,8 +71,6 @@ extern struct omap_hwmod am33xx_rng_hwmod; | |||
72 | extern struct omap_hwmod am33xx_ocmcram_hwmod; | 71 | extern struct omap_hwmod am33xx_ocmcram_hwmod; |
73 | extern struct omap_hwmod am33xx_smartreflex0_hwmod; | 72 | extern struct omap_hwmod am33xx_smartreflex0_hwmod; |
74 | extern struct omap_hwmod am33xx_smartreflex1_hwmod; | 73 | extern struct omap_hwmod am33xx_smartreflex1_hwmod; |
75 | extern struct omap_hwmod am33xx_cpgmac0_hwmod; | ||
76 | extern struct omap_hwmod am33xx_mdio_hwmod; | ||
77 | extern struct omap_hwmod am33xx_dcan0_hwmod; | 74 | extern struct omap_hwmod am33xx_dcan0_hwmod; |
78 | extern struct omap_hwmod am33xx_dcan1_hwmod; | 75 | extern struct omap_hwmod am33xx_dcan1_hwmod; |
79 | extern struct omap_hwmod am33xx_elm_hwmod; | 76 | extern struct omap_hwmod am33xx_elm_hwmod; |
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c index 47a0e301b193..63698ffa6d27 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c | |||
@@ -122,12 +122,6 @@ struct omap_hwmod_ocp_if am33xx_l4_per__dcan1 = { | |||
122 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 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 | struct omap_hwmod_ocp_if am33xx_l4_ls__elm = { | 125 | struct omap_hwmod_ocp_if am33xx_l4_ls__elm = { |
132 | .master = &am33xx_l4_ls_hwmod, | 126 | .master = &am33xx_l4_ls_hwmod, |
133 | .slave = &am33xx_elm_hwmod, | 127 | .slave = &am33xx_elm_hwmod, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c index adb6271f819b..dd939e1325c6 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | |||
@@ -350,54 +350,6 @@ struct omap_hwmod_class am33xx_control_hwmod_class = { | |||
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 | * dcan class | 353 | * dcan class |
402 | */ | 354 | */ |
403 | static struct omap_hwmod_class am33xx_dcan_hwmod_class = { | 355 | static struct omap_hwmod_class am33xx_dcan_hwmod_class = { |
@@ -1072,7 +1024,6 @@ static void omap_hwmod_am33xx_clkctrl(void) | |||
1072 | CLKCTRL(am33xx_tptc1_hwmod, AM33XX_CM_PER_TPTC1_CLKCTRL_OFFSET); | 1024 | CLKCTRL(am33xx_tptc1_hwmod, AM33XX_CM_PER_TPTC1_CLKCTRL_OFFSET); |
1073 | CLKCTRL(am33xx_tptc2_hwmod, AM33XX_CM_PER_TPTC2_CLKCTRL_OFFSET); | 1025 | CLKCTRL(am33xx_tptc2_hwmod, AM33XX_CM_PER_TPTC2_CLKCTRL_OFFSET); |
1074 | CLKCTRL(am33xx_gfx_hwmod, AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET); | 1026 | CLKCTRL(am33xx_gfx_hwmod, AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET); |
1075 | CLKCTRL(am33xx_cpgmac0_hwmod, AM33XX_CM_PER_CPGMAC0_CLKCTRL_OFFSET); | ||
1076 | CLKCTRL(am33xx_pruss_hwmod, AM33XX_CM_PER_PRUSS_CLKCTRL_OFFSET); | 1027 | CLKCTRL(am33xx_pruss_hwmod, AM33XX_CM_PER_PRUSS_CLKCTRL_OFFSET); |
1077 | CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET); | 1028 | CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET); |
1078 | CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); | 1029 | CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); |
@@ -1134,7 +1085,6 @@ static void omap_hwmod_am43xx_clkctrl(void) | |||
1134 | CLKCTRL(am33xx_tptc1_hwmod, AM43XX_CM_PER_TPTC1_CLKCTRL_OFFSET); | 1085 | CLKCTRL(am33xx_tptc1_hwmod, AM43XX_CM_PER_TPTC1_CLKCTRL_OFFSET); |
1135 | CLKCTRL(am33xx_tptc2_hwmod, AM43XX_CM_PER_TPTC2_CLKCTRL_OFFSET); | 1086 | CLKCTRL(am33xx_tptc2_hwmod, AM43XX_CM_PER_TPTC2_CLKCTRL_OFFSET); |
1136 | CLKCTRL(am33xx_gfx_hwmod, AM43XX_CM_GFX_GFX_CLKCTRL_OFFSET); | 1087 | CLKCTRL(am33xx_gfx_hwmod, AM43XX_CM_GFX_GFX_CLKCTRL_OFFSET); |
1137 | CLKCTRL(am33xx_cpgmac0_hwmod, AM43XX_CM_PER_CPGMAC0_CLKCTRL_OFFSET); | ||
1138 | CLKCTRL(am33xx_pruss_hwmod, AM43XX_CM_PER_PRUSS_CLKCTRL_OFFSET); | 1088 | CLKCTRL(am33xx_pruss_hwmod, AM43XX_CM_PER_PRUSS_CLKCTRL_OFFSET); |
1139 | CLKCTRL(am33xx_mpu_hwmod , AM43XX_CM_MPU_MPU_CLKCTRL_OFFSET); | 1089 | CLKCTRL(am33xx_mpu_hwmod , AM43XX_CM_MPU_MPU_CLKCTRL_OFFSET); |
1140 | CLKCTRL(am33xx_l3_instr_hwmod , AM43XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); | 1090 | CLKCTRL(am33xx_l3_instr_hwmod , AM43XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); |
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c index c965af275e34..2bcb6345b873 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c | |||
@@ -372,13 +372,6 @@ static struct omap_hwmod_ocp_if am33xx_l4_wkup__adc_tsc = { | |||
372 | .user = OCP_USER_MPU, | 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 | static struct omap_hwmod_ocp_if am33xx_l3_main__lcdc = { | 375 | static struct omap_hwmod_ocp_if am33xx_l3_main__lcdc = { |
383 | .master = &am33xx_l3_main_hwmod, | 376 | .master = &am33xx_l3_main_hwmod, |
384 | .slave = &am33xx_lcdc_hwmod, | 377 | .slave = &am33xx_lcdc_hwmod, |
@@ -462,8 +455,6 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { | |||
462 | &am33xx_l3_main__tptc2, | 455 | &am33xx_l3_main__tptc2, |
463 | &am33xx_l3_main__ocmc, | 456 | &am33xx_l3_main__ocmc, |
464 | &am33xx_l3_s__usbss, | 457 | &am33xx_l3_s__usbss, |
465 | &am33xx_l4_hs__cpgmac0, | ||
466 | &am33xx_cpgmac0__mdio, | ||
467 | &am33xx_l3_main__sha0, | 458 | &am33xx_l3_main__sha0, |
468 | &am33xx_l3_main__aes0, | 459 | &am33xx_l3_main__aes0, |
469 | &am33xx_l4_per__rng, | 460 | &am33xx_l4_per__rng, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c index 69571abc14fd..5c3db6b6438b 100644 --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c | |||
@@ -597,13 +597,6 @@ static struct omap_hwmod_ocp_if am43xx_l4_wkup__adc_tsc = { | |||
597 | .user = OCP_USER_MPU, | 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 | static struct omap_hwmod_ocp_if am43xx_l4_wkup__timer1 = { | 600 | static struct omap_hwmod_ocp_if am43xx_l4_wkup__timer1 = { |
608 | .master = &am33xx_l4_wkup_hwmod, | 601 | .master = &am33xx_l4_wkup_hwmod, |
609 | .slave = &am33xx_timer1_hwmod, | 602 | .slave = &am33xx_timer1_hwmod, |
@@ -859,8 +852,6 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { | |||
859 | &am33xx_l3_main__tptc1, | 852 | &am33xx_l3_main__tptc1, |
860 | &am33xx_l3_main__tptc2, | 853 | &am33xx_l3_main__tptc2, |
861 | &am33xx_l3_main__ocmc, | 854 | &am33xx_l3_main__ocmc, |
862 | &am43xx_l4_hs__cpgmac0, | ||
863 | &am33xx_cpgmac0__mdio, | ||
864 | &am33xx_l3_main__sha0, | 855 | &am33xx_l3_main__sha0, |
865 | &am33xx_l3_main__aes0, | 856 | &am33xx_l3_main__aes0, |
866 | &am43xx_l3_main__des, | 857 | &am43xx_l3_main__des, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index a6f2a10cdc3e..28ea2960a9b2 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include "cm2_44xx.h" | 28 | #include "cm2_44xx.h" |
29 | #include "prm44xx.h" | 29 | #include "prm44xx.h" |
30 | #include "prm-regbits-44xx.h" | 30 | #include "prm-regbits-44xx.h" |
31 | #include "wd_timer.h" | ||
32 | 31 | ||
33 | /* Base offset for all OMAP4 interrupts external to MPUSS */ | 32 | /* Base offset for all OMAP4 interrupts external to MPUSS */ |
34 | #define OMAP44XX_IRQ_GIC_START 32 | 33 | #define OMAP44XX_IRQ_GIC_START 32 |
@@ -276,29 +275,6 @@ static struct omap_hwmod omap44xx_aess_hwmod = { | |||
276 | }; | 275 | }; |
277 | 276 | ||
278 | /* | 277 | /* |
279 | * 'c2c' class | ||
280 | * chip 2 chip interface used to plug the ape soc (omap) with an external modem | ||
281 | * soc | ||
282 | */ | ||
283 | |||
284 | static struct omap_hwmod_class omap44xx_c2c_hwmod_class = { | ||
285 | .name = "c2c", | ||
286 | }; | ||
287 | |||
288 | /* c2c */ | ||
289 | static struct omap_hwmod omap44xx_c2c_hwmod = { | ||
290 | .name = "c2c", | ||
291 | .class = &omap44xx_c2c_hwmod_class, | ||
292 | .clkdm_name = "d2d_clkdm", | ||
293 | .prcm = { | ||
294 | .omap4 = { | ||
295 | .clkctrl_offs = OMAP4_CM_D2D_SAD2D_CLKCTRL_OFFSET, | ||
296 | .context_offs = OMAP4_RM_D2D_SAD2D_CONTEXT_OFFSET, | ||
297 | }, | ||
298 | }, | ||
299 | }; | ||
300 | |||
301 | /* | ||
302 | * 'counter' class | 278 | * 'counter' class |
303 | * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock | 279 | * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock |
304 | */ | 280 | */ |
@@ -1086,41 +1062,6 @@ static struct omap_hwmod omap44xx_gpmc_hwmod = { | |||
1086 | }; | 1062 | }; |
1087 | 1063 | ||
1088 | /* | 1064 | /* |
1089 | * 'gpu' class | ||
1090 | * 2d/3d graphics accelerator | ||
1091 | */ | ||
1092 | |||
1093 | static struct omap_hwmod_class_sysconfig omap44xx_gpu_sysc = { | ||
1094 | .rev_offs = 0x1fc00, | ||
1095 | .sysc_offs = 0x1fc10, | ||
1096 | .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE), | ||
1097 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1098 | SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | | ||
1099 | MSTANDBY_SMART | MSTANDBY_SMART_WKUP), | ||
1100 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
1101 | }; | ||
1102 | |||
1103 | static struct omap_hwmod_class omap44xx_gpu_hwmod_class = { | ||
1104 | .name = "gpu", | ||
1105 | .sysc = &omap44xx_gpu_sysc, | ||
1106 | }; | ||
1107 | |||
1108 | /* gpu */ | ||
1109 | static struct omap_hwmod omap44xx_gpu_hwmod = { | ||
1110 | .name = "gpu", | ||
1111 | .class = &omap44xx_gpu_hwmod_class, | ||
1112 | .clkdm_name = "l3_gfx_clkdm", | ||
1113 | .main_clk = "sgx_clk_mux", | ||
1114 | .prcm = { | ||
1115 | .omap4 = { | ||
1116 | .clkctrl_offs = OMAP4_CM_GFX_GFX_CLKCTRL_OFFSET, | ||
1117 | .context_offs = OMAP4_RM_GFX_GFX_CONTEXT_OFFSET, | ||
1118 | .modulemode = MODULEMODE_SWCTRL, | ||
1119 | }, | ||
1120 | }, | ||
1121 | }; | ||
1122 | |||
1123 | /* | ||
1124 | * 'hdq1w' class | 1065 | * 'hdq1w' class |
1125 | * hdq / 1-wire serial interface controller | 1066 | * hdq / 1-wire serial interface controller |
1126 | */ | 1067 | */ |
@@ -2434,61 +2375,6 @@ static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = { | |||
2434 | }; | 2375 | }; |
2435 | 2376 | ||
2436 | /* | 2377 | /* |
2437 | * 'wd_timer' class | ||
2438 | * 32-bit watchdog upward counter that generates a pulse on the reset pin on | ||
2439 | * overflow condition | ||
2440 | */ | ||
2441 | |||
2442 | static struct omap_hwmod_class_sysconfig omap44xx_wd_timer_sysc = { | ||
2443 | .rev_offs = 0x0000, | ||
2444 | .sysc_offs = 0x0010, | ||
2445 | .syss_offs = 0x0014, | ||
2446 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SIDLEMODE | | ||
2447 | SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), | ||
2448 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
2449 | SIDLE_SMART_WKUP), | ||
2450 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
2451 | }; | ||
2452 | |||
2453 | static struct omap_hwmod_class omap44xx_wd_timer_hwmod_class = { | ||
2454 | .name = "wd_timer", | ||
2455 | .sysc = &omap44xx_wd_timer_sysc, | ||
2456 | .pre_shutdown = &omap2_wd_timer_disable, | ||
2457 | .reset = &omap2_wd_timer_reset, | ||
2458 | }; | ||
2459 | |||
2460 | /* wd_timer2 */ | ||
2461 | static struct omap_hwmod omap44xx_wd_timer2_hwmod = { | ||
2462 | .name = "wd_timer2", | ||
2463 | .class = &omap44xx_wd_timer_hwmod_class, | ||
2464 | .clkdm_name = "l4_wkup_clkdm", | ||
2465 | .main_clk = "sys_32k_ck", | ||
2466 | .prcm = { | ||
2467 | .omap4 = { | ||
2468 | .clkctrl_offs = OMAP4_CM_WKUP_WDT2_CLKCTRL_OFFSET, | ||
2469 | .context_offs = OMAP4_RM_WKUP_WDT2_CONTEXT_OFFSET, | ||
2470 | .modulemode = MODULEMODE_SWCTRL, | ||
2471 | }, | ||
2472 | }, | ||
2473 | }; | ||
2474 | |||
2475 | /* wd_timer3 */ | ||
2476 | static struct omap_hwmod omap44xx_wd_timer3_hwmod = { | ||
2477 | .name = "wd_timer3", | ||
2478 | .class = &omap44xx_wd_timer_hwmod_class, | ||
2479 | .clkdm_name = "abe_clkdm", | ||
2480 | .main_clk = "sys_32k_ck", | ||
2481 | .prcm = { | ||
2482 | .omap4 = { | ||
2483 | .clkctrl_offs = OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET, | ||
2484 | .context_offs = OMAP4_RM_ABE_WDT3_CONTEXT_OFFSET, | ||
2485 | .modulemode = MODULEMODE_SWCTRL, | ||
2486 | }, | ||
2487 | }, | ||
2488 | }; | ||
2489 | |||
2490 | |||
2491 | /* | ||
2492 | * interfaces | 2378 | * interfaces |
2493 | */ | 2379 | */ |
2494 | 2380 | ||
@@ -2596,14 +2482,6 @@ static struct omap_hwmod_ocp_if omap44xx_fdif__l3_main_2 = { | |||
2596 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 2482 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2597 | }; | 2483 | }; |
2598 | 2484 | ||
2599 | /* gpu -> l3_main_2 */ | ||
2600 | static struct omap_hwmod_ocp_if omap44xx_gpu__l3_main_2 = { | ||
2601 | .master = &omap44xx_gpu_hwmod, | ||
2602 | .slave = &omap44xx_l3_main_2_hwmod, | ||
2603 | .clk = "l3_div_ck", | ||
2604 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2605 | }; | ||
2606 | |||
2607 | /* hsi -> l3_main_2 */ | 2485 | /* hsi -> l3_main_2 */ |
2608 | static struct omap_hwmod_ocp_if omap44xx_hsi__l3_main_2 = { | 2486 | static struct omap_hwmod_ocp_if omap44xx_hsi__l3_main_2 = { |
2609 | .master = &omap44xx_hsi_hwmod, | 2487 | .master = &omap44xx_hsi_hwmod, |
@@ -2788,14 +2666,6 @@ static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_abe__aess_dma = { | |||
2788 | .user = OCP_USER_SDMA, | 2666 | .user = OCP_USER_SDMA, |
2789 | }; | 2667 | }; |
2790 | 2668 | ||
2791 | /* l3_main_2 -> c2c */ | ||
2792 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__c2c = { | ||
2793 | .master = &omap44xx_l3_main_2_hwmod, | ||
2794 | .slave = &omap44xx_c2c_hwmod, | ||
2795 | .clk = "l3_div_ck", | ||
2796 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2797 | }; | ||
2798 | |||
2799 | /* l4_wkup -> counter_32k */ | 2669 | /* l4_wkup -> counter_32k */ |
2800 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = { | 2670 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = { |
2801 | .master = &omap44xx_l4_wkup_hwmod, | 2671 | .master = &omap44xx_l4_wkup_hwmod, |
@@ -3028,14 +2898,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpmc = { | |||
3028 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 2898 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3029 | }; | 2899 | }; |
3030 | 2900 | ||
3031 | /* l3_main_2 -> gpu */ | ||
3032 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpu = { | ||
3033 | .master = &omap44xx_l3_main_2_hwmod, | ||
3034 | .slave = &omap44xx_gpu_hwmod, | ||
3035 | .clk = "l3_div_ck", | ||
3036 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3037 | }; | ||
3038 | |||
3039 | /* l4_per -> hdq1w */ | 2901 | /* l4_per -> hdq1w */ |
3040 | static struct omap_hwmod_ocp_if omap44xx_l4_per__hdq1w = { | 2902 | static struct omap_hwmod_ocp_if omap44xx_l4_per__hdq1w = { |
3041 | .master = &omap44xx_l4_per_hwmod, | 2903 | .master = &omap44xx_l4_per_hwmod, |
@@ -3396,30 +3258,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = { | |||
3396 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3258 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3397 | }; | 3259 | }; |
3398 | 3260 | ||
3399 | /* l4_wkup -> wd_timer2 */ | ||
3400 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__wd_timer2 = { | ||
3401 | .master = &omap44xx_l4_wkup_hwmod, | ||
3402 | .slave = &omap44xx_wd_timer2_hwmod, | ||
3403 | .clk = "l4_wkup_clk_mux_ck", | ||
3404 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3405 | }; | ||
3406 | |||
3407 | /* l4_abe -> wd_timer3 */ | ||
3408 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3 = { | ||
3409 | .master = &omap44xx_l4_abe_hwmod, | ||
3410 | .slave = &omap44xx_wd_timer3_hwmod, | ||
3411 | .clk = "ocp_abe_iclk", | ||
3412 | .user = OCP_USER_MPU, | ||
3413 | }; | ||
3414 | |||
3415 | /* l4_abe -> wd_timer3 (dma) */ | ||
3416 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3_dma = { | ||
3417 | .master = &omap44xx_l4_abe_hwmod, | ||
3418 | .slave = &omap44xx_wd_timer3_hwmod, | ||
3419 | .clk = "ocp_abe_iclk", | ||
3420 | .user = OCP_USER_SDMA, | ||
3421 | }; | ||
3422 | |||
3423 | /* mpu -> emif1 */ | 3261 | /* mpu -> emif1 */ |
3424 | static struct omap_hwmod_ocp_if omap44xx_mpu__emif1 = { | 3262 | static struct omap_hwmod_ocp_if omap44xx_mpu__emif1 = { |
3425 | .master = &omap44xx_mpu_hwmod, | 3263 | .master = &omap44xx_mpu_hwmod, |
@@ -3450,7 +3288,6 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
3450 | &omap44xx_debugss__l3_main_2, | 3288 | &omap44xx_debugss__l3_main_2, |
3451 | &omap44xx_dma_system__l3_main_2, | 3289 | &omap44xx_dma_system__l3_main_2, |
3452 | &omap44xx_fdif__l3_main_2, | 3290 | &omap44xx_fdif__l3_main_2, |
3453 | &omap44xx_gpu__l3_main_2, | ||
3454 | &omap44xx_hsi__l3_main_2, | 3291 | &omap44xx_hsi__l3_main_2, |
3455 | &omap44xx_ipu__l3_main_2, | 3292 | &omap44xx_ipu__l3_main_2, |
3456 | &omap44xx_iss__l3_main_2, | 3293 | &omap44xx_iss__l3_main_2, |
@@ -3474,7 +3311,6 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
3474 | &omap44xx_l4_cfg__ocp_wp_noc, | 3311 | &omap44xx_l4_cfg__ocp_wp_noc, |
3475 | &omap44xx_l4_abe__aess, | 3312 | &omap44xx_l4_abe__aess, |
3476 | &omap44xx_l4_abe__aess_dma, | 3313 | &omap44xx_l4_abe__aess_dma, |
3477 | &omap44xx_l3_main_2__c2c, | ||
3478 | &omap44xx_l4_wkup__counter_32k, | 3314 | &omap44xx_l4_wkup__counter_32k, |
3479 | &omap44xx_l4_cfg__ctrl_module_core, | 3315 | &omap44xx_l4_cfg__ctrl_module_core, |
3480 | &omap44xx_l4_cfg__ctrl_module_pad_core, | 3316 | &omap44xx_l4_cfg__ctrl_module_pad_core, |
@@ -3503,7 +3339,6 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
3503 | &omap44xx_l4_per__elm, | 3339 | &omap44xx_l4_per__elm, |
3504 | &omap44xx_l4_cfg__fdif, | 3340 | &omap44xx_l4_cfg__fdif, |
3505 | &omap44xx_l3_main_2__gpmc, | 3341 | &omap44xx_l3_main_2__gpmc, |
3506 | &omap44xx_l3_main_2__gpu, | ||
3507 | &omap44xx_l4_per__hdq1w, | 3342 | &omap44xx_l4_per__hdq1w, |
3508 | &omap44xx_l4_cfg__hsi, | 3343 | &omap44xx_l4_cfg__hsi, |
3509 | &omap44xx_l3_main_2__ipu, | 3344 | &omap44xx_l3_main_2__ipu, |
@@ -3551,9 +3386,6 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
3551 | &omap44xx_l4_cfg__usb_host_hs, | 3386 | &omap44xx_l4_cfg__usb_host_hs, |
3552 | &omap44xx_l4_cfg__usb_otg_hs, | 3387 | &omap44xx_l4_cfg__usb_otg_hs, |
3553 | &omap44xx_l4_cfg__usb_tll_hs, | 3388 | &omap44xx_l4_cfg__usb_tll_hs, |
3554 | &omap44xx_l4_wkup__wd_timer2, | ||
3555 | &omap44xx_l4_abe__wd_timer3, | ||
3556 | &omap44xx_l4_abe__wd_timer3_dma, | ||
3557 | &omap44xx_mpu__emif1, | 3389 | &omap44xx_mpu__emif1, |
3558 | &omap44xx_mpu__emif2, | 3390 | &omap44xx_mpu__emif2, |
3559 | &omap44xx_l3_main_2__aes1, | 3391 | &omap44xx_l3_main_2__aes1, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c index 1ec21e9ba1e9..e5bd549d2a5e 100644 --- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c | |||
@@ -285,56 +285,6 @@ static struct omap_hwmod dra7xx_ctrl_module_wkup_hwmod = { | |||
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 | * 'dcan' class | 288 | * 'dcan' class |
339 | * | 289 | * |
340 | */ | 290 | */ |
@@ -1047,281 +997,6 @@ static struct omap_hwmod dra7xx_mailbox13_hwmod = { | |||
1047 | }; | 997 | }; |
1048 | 998 | ||
1049 | /* | 999 | /* |
1050 | * 'mcspi' class | ||
1051 | * | ||
1052 | */ | ||
1053 | |||
1054 | static struct omap_hwmod_class_sysconfig dra7xx_mcspi_sysc = { | ||
1055 | .rev_offs = 0x0000, | ||
1056 | .sysc_offs = 0x0010, | ||
1057 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS | | ||
1058 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
1059 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1060 | SIDLE_SMART_WKUP), | ||
1061 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
1062 | }; | ||
1063 | |||
1064 | static struct omap_hwmod_class dra7xx_mcspi_hwmod_class = { | ||
1065 | .name = "mcspi", | ||
1066 | .sysc = &dra7xx_mcspi_sysc, | ||
1067 | }; | ||
1068 | |||
1069 | /* mcspi1 */ | ||
1070 | static struct omap_hwmod dra7xx_mcspi1_hwmod = { | ||
1071 | .name = "mcspi1", | ||
1072 | .class = &dra7xx_mcspi_hwmod_class, | ||
1073 | .clkdm_name = "l4per_clkdm", | ||
1074 | .main_clk = "func_48m_fclk", | ||
1075 | .prcm = { | ||
1076 | .omap4 = { | ||
1077 | .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI1_CLKCTRL_OFFSET, | ||
1078 | .context_offs = DRA7XX_RM_L4PER_MCSPI1_CONTEXT_OFFSET, | ||
1079 | .modulemode = MODULEMODE_SWCTRL, | ||
1080 | }, | ||
1081 | }, | ||
1082 | }; | ||
1083 | |||
1084 | /* mcspi2 */ | ||
1085 | static struct omap_hwmod dra7xx_mcspi2_hwmod = { | ||
1086 | .name = "mcspi2", | ||
1087 | .class = &dra7xx_mcspi_hwmod_class, | ||
1088 | .clkdm_name = "l4per_clkdm", | ||
1089 | .main_clk = "func_48m_fclk", | ||
1090 | .prcm = { | ||
1091 | .omap4 = { | ||
1092 | .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI2_CLKCTRL_OFFSET, | ||
1093 | .context_offs = DRA7XX_RM_L4PER_MCSPI2_CONTEXT_OFFSET, | ||
1094 | .modulemode = MODULEMODE_SWCTRL, | ||
1095 | }, | ||
1096 | }, | ||
1097 | }; | ||
1098 | |||
1099 | /* mcspi3 */ | ||
1100 | static struct omap_hwmod dra7xx_mcspi3_hwmod = { | ||
1101 | .name = "mcspi3", | ||
1102 | .class = &dra7xx_mcspi_hwmod_class, | ||
1103 | .clkdm_name = "l4per_clkdm", | ||
1104 | .main_clk = "func_48m_fclk", | ||
1105 | .prcm = { | ||
1106 | .omap4 = { | ||
1107 | .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI3_CLKCTRL_OFFSET, | ||
1108 | .context_offs = DRA7XX_RM_L4PER_MCSPI3_CONTEXT_OFFSET, | ||
1109 | .modulemode = MODULEMODE_SWCTRL, | ||
1110 | }, | ||
1111 | }, | ||
1112 | }; | ||
1113 | |||
1114 | /* mcspi4 */ | ||
1115 | static struct omap_hwmod dra7xx_mcspi4_hwmod = { | ||
1116 | .name = "mcspi4", | ||
1117 | .class = &dra7xx_mcspi_hwmod_class, | ||
1118 | .clkdm_name = "l4per_clkdm", | ||
1119 | .main_clk = "func_48m_fclk", | ||
1120 | .prcm = { | ||
1121 | .omap4 = { | ||
1122 | .clkctrl_offs = DRA7XX_CM_L4PER_MCSPI4_CLKCTRL_OFFSET, | ||
1123 | .context_offs = DRA7XX_RM_L4PER_MCSPI4_CONTEXT_OFFSET, | ||
1124 | .modulemode = MODULEMODE_SWCTRL, | ||
1125 | }, | ||
1126 | }, | ||
1127 | }; | ||
1128 | |||
1129 | /* | ||
1130 | * 'mcasp' class | ||
1131 | * | ||
1132 | */ | ||
1133 | static struct omap_hwmod_class_sysconfig dra7xx_mcasp_sysc = { | ||
1134 | .rev_offs = 0, | ||
1135 | .sysc_offs = 0x0004, | ||
1136 | .sysc_flags = SYSC_HAS_SIDLEMODE, | ||
1137 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), | ||
1138 | .sysc_fields = &omap_hwmod_sysc_type3, | ||
1139 | }; | ||
1140 | |||
1141 | static struct omap_hwmod_class dra7xx_mcasp_hwmod_class = { | ||
1142 | .name = "mcasp", | ||
1143 | .sysc = &dra7xx_mcasp_sysc, | ||
1144 | }; | ||
1145 | |||
1146 | /* mcasp1 */ | ||
1147 | static struct omap_hwmod_opt_clk mcasp1_opt_clks[] = { | ||
1148 | { .role = "ahclkx", .clk = "mcasp1_ahclkx_mux" }, | ||
1149 | { .role = "ahclkr", .clk = "mcasp1_ahclkr_mux" }, | ||
1150 | }; | ||
1151 | |||
1152 | static struct omap_hwmod dra7xx_mcasp1_hwmod = { | ||
1153 | .name = "mcasp1", | ||
1154 | .class = &dra7xx_mcasp_hwmod_class, | ||
1155 | .clkdm_name = "ipu_clkdm", | ||
1156 | .main_clk = "mcasp1_aux_gfclk_mux", | ||
1157 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1158 | .prcm = { | ||
1159 | .omap4 = { | ||
1160 | .clkctrl_offs = DRA7XX_CM_IPU_MCASP1_CLKCTRL_OFFSET, | ||
1161 | .context_offs = DRA7XX_RM_IPU_MCASP1_CONTEXT_OFFSET, | ||
1162 | .modulemode = MODULEMODE_SWCTRL, | ||
1163 | }, | ||
1164 | }, | ||
1165 | .opt_clks = mcasp1_opt_clks, | ||
1166 | .opt_clks_cnt = ARRAY_SIZE(mcasp1_opt_clks), | ||
1167 | }; | ||
1168 | |||
1169 | /* mcasp2 */ | ||
1170 | static struct omap_hwmod_opt_clk mcasp2_opt_clks[] = { | ||
1171 | { .role = "ahclkx", .clk = "mcasp2_ahclkx_mux" }, | ||
1172 | { .role = "ahclkr", .clk = "mcasp2_ahclkr_mux" }, | ||
1173 | }; | ||
1174 | |||
1175 | static struct omap_hwmod dra7xx_mcasp2_hwmod = { | ||
1176 | .name = "mcasp2", | ||
1177 | .class = &dra7xx_mcasp_hwmod_class, | ||
1178 | .clkdm_name = "l4per2_clkdm", | ||
1179 | .main_clk = "mcasp2_aux_gfclk_mux", | ||
1180 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1181 | .prcm = { | ||
1182 | .omap4 = { | ||
1183 | .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP2_CLKCTRL_OFFSET, | ||
1184 | .context_offs = DRA7XX_RM_L4PER2_MCASP2_CONTEXT_OFFSET, | ||
1185 | .modulemode = MODULEMODE_SWCTRL, | ||
1186 | }, | ||
1187 | }, | ||
1188 | .opt_clks = mcasp2_opt_clks, | ||
1189 | .opt_clks_cnt = ARRAY_SIZE(mcasp2_opt_clks), | ||
1190 | }; | ||
1191 | |||
1192 | /* mcasp3 */ | ||
1193 | static struct omap_hwmod_opt_clk mcasp3_opt_clks[] = { | ||
1194 | { .role = "ahclkx", .clk = "mcasp3_ahclkx_mux" }, | ||
1195 | }; | ||
1196 | |||
1197 | static struct omap_hwmod dra7xx_mcasp3_hwmod = { | ||
1198 | .name = "mcasp3", | ||
1199 | .class = &dra7xx_mcasp_hwmod_class, | ||
1200 | .clkdm_name = "l4per2_clkdm", | ||
1201 | .main_clk = "mcasp3_aux_gfclk_mux", | ||
1202 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1203 | .prcm = { | ||
1204 | .omap4 = { | ||
1205 | .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP3_CLKCTRL_OFFSET, | ||
1206 | .context_offs = DRA7XX_RM_L4PER2_MCASP3_CONTEXT_OFFSET, | ||
1207 | .modulemode = MODULEMODE_SWCTRL, | ||
1208 | }, | ||
1209 | }, | ||
1210 | .opt_clks = mcasp3_opt_clks, | ||
1211 | .opt_clks_cnt = ARRAY_SIZE(mcasp3_opt_clks), | ||
1212 | }; | ||
1213 | |||
1214 | /* mcasp4 */ | ||
1215 | static struct omap_hwmod_opt_clk mcasp4_opt_clks[] = { | ||
1216 | { .role = "ahclkx", .clk = "mcasp4_ahclkx_mux" }, | ||
1217 | }; | ||
1218 | |||
1219 | static struct omap_hwmod dra7xx_mcasp4_hwmod = { | ||
1220 | .name = "mcasp4", | ||
1221 | .class = &dra7xx_mcasp_hwmod_class, | ||
1222 | .clkdm_name = "l4per2_clkdm", | ||
1223 | .main_clk = "mcasp4_aux_gfclk_mux", | ||
1224 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1225 | .prcm = { | ||
1226 | .omap4 = { | ||
1227 | .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP4_CLKCTRL_OFFSET, | ||
1228 | .context_offs = DRA7XX_RM_L4PER2_MCASP4_CONTEXT_OFFSET, | ||
1229 | .modulemode = MODULEMODE_SWCTRL, | ||
1230 | }, | ||
1231 | }, | ||
1232 | .opt_clks = mcasp4_opt_clks, | ||
1233 | .opt_clks_cnt = ARRAY_SIZE(mcasp4_opt_clks), | ||
1234 | }; | ||
1235 | |||
1236 | /* mcasp5 */ | ||
1237 | static struct omap_hwmod_opt_clk mcasp5_opt_clks[] = { | ||
1238 | { .role = "ahclkx", .clk = "mcasp5_ahclkx_mux" }, | ||
1239 | }; | ||
1240 | |||
1241 | static struct omap_hwmod dra7xx_mcasp5_hwmod = { | ||
1242 | .name = "mcasp5", | ||
1243 | .class = &dra7xx_mcasp_hwmod_class, | ||
1244 | .clkdm_name = "l4per2_clkdm", | ||
1245 | .main_clk = "mcasp5_aux_gfclk_mux", | ||
1246 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1247 | .prcm = { | ||
1248 | .omap4 = { | ||
1249 | .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP5_CLKCTRL_OFFSET, | ||
1250 | .context_offs = DRA7XX_RM_L4PER2_MCASP5_CONTEXT_OFFSET, | ||
1251 | .modulemode = MODULEMODE_SWCTRL, | ||
1252 | }, | ||
1253 | }, | ||
1254 | .opt_clks = mcasp5_opt_clks, | ||
1255 | .opt_clks_cnt = ARRAY_SIZE(mcasp5_opt_clks), | ||
1256 | }; | ||
1257 | |||
1258 | /* mcasp6 */ | ||
1259 | static struct omap_hwmod_opt_clk mcasp6_opt_clks[] = { | ||
1260 | { .role = "ahclkx", .clk = "mcasp6_ahclkx_mux" }, | ||
1261 | }; | ||
1262 | |||
1263 | static struct omap_hwmod dra7xx_mcasp6_hwmod = { | ||
1264 | .name = "mcasp6", | ||
1265 | .class = &dra7xx_mcasp_hwmod_class, | ||
1266 | .clkdm_name = "l4per2_clkdm", | ||
1267 | .main_clk = "mcasp6_aux_gfclk_mux", | ||
1268 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1269 | .prcm = { | ||
1270 | .omap4 = { | ||
1271 | .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP6_CLKCTRL_OFFSET, | ||
1272 | .context_offs = DRA7XX_RM_L4PER2_MCASP6_CONTEXT_OFFSET, | ||
1273 | .modulemode = MODULEMODE_SWCTRL, | ||
1274 | }, | ||
1275 | }, | ||
1276 | .opt_clks = mcasp6_opt_clks, | ||
1277 | .opt_clks_cnt = ARRAY_SIZE(mcasp6_opt_clks), | ||
1278 | }; | ||
1279 | |||
1280 | /* mcasp7 */ | ||
1281 | static struct omap_hwmod_opt_clk mcasp7_opt_clks[] = { | ||
1282 | { .role = "ahclkx", .clk = "mcasp7_ahclkx_mux" }, | ||
1283 | }; | ||
1284 | |||
1285 | static struct omap_hwmod dra7xx_mcasp7_hwmod = { | ||
1286 | .name = "mcasp7", | ||
1287 | .class = &dra7xx_mcasp_hwmod_class, | ||
1288 | .clkdm_name = "l4per2_clkdm", | ||
1289 | .main_clk = "mcasp7_aux_gfclk_mux", | ||
1290 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1291 | .prcm = { | ||
1292 | .omap4 = { | ||
1293 | .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP7_CLKCTRL_OFFSET, | ||
1294 | .context_offs = DRA7XX_RM_L4PER2_MCASP7_CONTEXT_OFFSET, | ||
1295 | .modulemode = MODULEMODE_SWCTRL, | ||
1296 | }, | ||
1297 | }, | ||
1298 | .opt_clks = mcasp7_opt_clks, | ||
1299 | .opt_clks_cnt = ARRAY_SIZE(mcasp7_opt_clks), | ||
1300 | }; | ||
1301 | |||
1302 | /* mcasp8 */ | ||
1303 | static struct omap_hwmod_opt_clk mcasp8_opt_clks[] = { | ||
1304 | { .role = "ahclkx", .clk = "mcasp8_ahclkx_mux" }, | ||
1305 | }; | ||
1306 | |||
1307 | static struct omap_hwmod dra7xx_mcasp8_hwmod = { | ||
1308 | .name = "mcasp8", | ||
1309 | .class = &dra7xx_mcasp_hwmod_class, | ||
1310 | .clkdm_name = "l4per2_clkdm", | ||
1311 | .main_clk = "mcasp8_aux_gfclk_mux", | ||
1312 | .flags = HWMOD_OPT_CLKS_NEEDED, | ||
1313 | .prcm = { | ||
1314 | .omap4 = { | ||
1315 | .clkctrl_offs = DRA7XX_CM_L4PER2_MCASP8_CLKCTRL_OFFSET, | ||
1316 | .context_offs = DRA7XX_RM_L4PER2_MCASP8_CONTEXT_OFFSET, | ||
1317 | .modulemode = MODULEMODE_SWCTRL, | ||
1318 | }, | ||
1319 | }, | ||
1320 | .opt_clks = mcasp8_opt_clks, | ||
1321 | .opt_clks_cnt = ARRAY_SIZE(mcasp8_opt_clks), | ||
1322 | }; | ||
1323 | |||
1324 | /* | ||
1325 | * 'mpu' class | 1000 | * 'mpu' class |
1326 | * | 1001 | * |
1327 | */ | 1002 | */ |
@@ -2303,19 +1978,6 @@ static struct omap_hwmod_ocp_if dra7xx_l4_wkup__ctrl_module_wkup = { | |||
2303 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1978 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2304 | }; | 1979 | }; |
2305 | 1980 | ||
2306 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__cpgmac0 = { | ||
2307 | .master = &dra7xx_l4_per2_hwmod, | ||
2308 | .slave = &dra7xx_gmac_hwmod, | ||
2309 | .clk = "dpll_gmac_ck", | ||
2310 | .user = OCP_USER_MPU, | ||
2311 | }; | ||
2312 | |||
2313 | static struct omap_hwmod_ocp_if dra7xx_gmac__mdio = { | ||
2314 | .master = &dra7xx_gmac_hwmod, | ||
2315 | .slave = &dra7xx_mdio_hwmod, | ||
2316 | .user = OCP_USER_MPU, | ||
2317 | }; | ||
2318 | |||
2319 | /* l4_wkup -> dcan1 */ | 1981 | /* l4_wkup -> dcan1 */ |
2320 | static struct omap_hwmod_ocp_if dra7xx_l4_wkup__dcan1 = { | 1982 | static struct omap_hwmod_ocp_if dra7xx_l4_wkup__dcan1 = { |
2321 | .master = &dra7xx_l4_wkup_hwmod, | 1983 | .master = &dra7xx_l4_wkup_hwmod, |
@@ -2412,94 +2074,6 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__sha0 = { | |||
2412 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 2074 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2413 | }; | 2075 | }; |
2414 | 2076 | ||
2415 | /* l4_per2 -> mcasp1 */ | ||
2416 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp1 = { | ||
2417 | .master = &dra7xx_l4_per2_hwmod, | ||
2418 | .slave = &dra7xx_mcasp1_hwmod, | ||
2419 | .clk = "l4_root_clk_div", | ||
2420 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2421 | }; | ||
2422 | |||
2423 | /* l3_main_1 -> mcasp1 */ | ||
2424 | static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp1 = { | ||
2425 | .master = &dra7xx_l3_main_1_hwmod, | ||
2426 | .slave = &dra7xx_mcasp1_hwmod, | ||
2427 | .clk = "l3_iclk_div", | ||
2428 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2429 | }; | ||
2430 | |||
2431 | /* l4_per2 -> mcasp2 */ | ||
2432 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp2 = { | ||
2433 | .master = &dra7xx_l4_per2_hwmod, | ||
2434 | .slave = &dra7xx_mcasp2_hwmod, | ||
2435 | .clk = "l4_root_clk_div", | ||
2436 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2437 | }; | ||
2438 | |||
2439 | /* l3_main_1 -> mcasp2 */ | ||
2440 | static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp2 = { | ||
2441 | .master = &dra7xx_l3_main_1_hwmod, | ||
2442 | .slave = &dra7xx_mcasp2_hwmod, | ||
2443 | .clk = "l3_iclk_div", | ||
2444 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2445 | }; | ||
2446 | |||
2447 | /* l4_per2 -> mcasp3 */ | ||
2448 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp3 = { | ||
2449 | .master = &dra7xx_l4_per2_hwmod, | ||
2450 | .slave = &dra7xx_mcasp3_hwmod, | ||
2451 | .clk = "l4_root_clk_div", | ||
2452 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2453 | }; | ||
2454 | |||
2455 | /* l3_main_1 -> mcasp3 */ | ||
2456 | static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp3 = { | ||
2457 | .master = &dra7xx_l3_main_1_hwmod, | ||
2458 | .slave = &dra7xx_mcasp3_hwmod, | ||
2459 | .clk = "l3_iclk_div", | ||
2460 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2461 | }; | ||
2462 | |||
2463 | /* l4_per2 -> mcasp4 */ | ||
2464 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp4 = { | ||
2465 | .master = &dra7xx_l4_per2_hwmod, | ||
2466 | .slave = &dra7xx_mcasp4_hwmod, | ||
2467 | .clk = "l4_root_clk_div", | ||
2468 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2469 | }; | ||
2470 | |||
2471 | /* l4_per2 -> mcasp5 */ | ||
2472 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp5 = { | ||
2473 | .master = &dra7xx_l4_per2_hwmod, | ||
2474 | .slave = &dra7xx_mcasp5_hwmod, | ||
2475 | .clk = "l4_root_clk_div", | ||
2476 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2477 | }; | ||
2478 | |||
2479 | /* l4_per2 -> mcasp6 */ | ||
2480 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp6 = { | ||
2481 | .master = &dra7xx_l4_per2_hwmod, | ||
2482 | .slave = &dra7xx_mcasp6_hwmod, | ||
2483 | .clk = "l4_root_clk_div", | ||
2484 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2485 | }; | ||
2486 | |||
2487 | /* l4_per2 -> mcasp7 */ | ||
2488 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp7 = { | ||
2489 | .master = &dra7xx_l4_per2_hwmod, | ||
2490 | .slave = &dra7xx_mcasp7_hwmod, | ||
2491 | .clk = "l4_root_clk_div", | ||
2492 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2493 | }; | ||
2494 | |||
2495 | /* l4_per2 -> mcasp8 */ | ||
2496 | static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp8 = { | ||
2497 | .master = &dra7xx_l4_per2_hwmod, | ||
2498 | .slave = &dra7xx_mcasp8_hwmod, | ||
2499 | .clk = "l4_root_clk_div", | ||
2500 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2501 | }; | ||
2502 | |||
2503 | /* l4_per1 -> elm */ | 2077 | /* l4_per1 -> elm */ |
2504 | static struct omap_hwmod_ocp_if dra7xx_l4_per1__elm = { | 2078 | static struct omap_hwmod_ocp_if dra7xx_l4_per1__elm = { |
2505 | .master = &dra7xx_l4_per1_hwmod, | 2079 | .master = &dra7xx_l4_per1_hwmod, |
@@ -2628,38 +2202,6 @@ static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox13 = { | |||
2628 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 2202 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2629 | }; | 2203 | }; |
2630 | 2204 | ||
2631 | /* l4_per1 -> mcspi1 */ | ||
2632 | static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi1 = { | ||
2633 | .master = &dra7xx_l4_per1_hwmod, | ||
2634 | .slave = &dra7xx_mcspi1_hwmod, | ||
2635 | .clk = "l3_iclk_div", | ||
2636 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2637 | }; | ||
2638 | |||
2639 | /* l4_per1 -> mcspi2 */ | ||
2640 | static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi2 = { | ||
2641 | .master = &dra7xx_l4_per1_hwmod, | ||
2642 | .slave = &dra7xx_mcspi2_hwmod, | ||
2643 | .clk = "l3_iclk_div", | ||
2644 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2645 | }; | ||
2646 | |||
2647 | /* l4_per1 -> mcspi3 */ | ||
2648 | static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi3 = { | ||
2649 | .master = &dra7xx_l4_per1_hwmod, | ||
2650 | .slave = &dra7xx_mcspi3_hwmod, | ||
2651 | .clk = "l3_iclk_div", | ||
2652 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2653 | }; | ||
2654 | |||
2655 | /* l4_per1 -> mcspi4 */ | ||
2656 | static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi4 = { | ||
2657 | .master = &dra7xx_l4_per1_hwmod, | ||
2658 | .slave = &dra7xx_mcspi4_hwmod, | ||
2659 | .clk = "l3_iclk_div", | ||
2660 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2661 | }; | ||
2662 | |||
2663 | /* l4_cfg -> mpu */ | 2205 | /* l4_cfg -> mpu */ |
2664 | static struct omap_hwmod_ocp_if dra7xx_l4_cfg__mpu = { | 2206 | static struct omap_hwmod_ocp_if dra7xx_l4_cfg__mpu = { |
2665 | .master = &dra7xx_l4_cfg_hwmod, | 2207 | .master = &dra7xx_l4_cfg_hwmod, |
@@ -3021,19 +2563,6 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = { | |||
3021 | &dra7xx_l4_wkup__ctrl_module_wkup, | 2563 | &dra7xx_l4_wkup__ctrl_module_wkup, |
3022 | &dra7xx_l4_wkup__dcan1, | 2564 | &dra7xx_l4_wkup__dcan1, |
3023 | &dra7xx_l4_per2__dcan2, | 2565 | &dra7xx_l4_per2__dcan2, |
3024 | &dra7xx_l4_per2__cpgmac0, | ||
3025 | &dra7xx_l4_per2__mcasp1, | ||
3026 | &dra7xx_l3_main_1__mcasp1, | ||
3027 | &dra7xx_l4_per2__mcasp2, | ||
3028 | &dra7xx_l3_main_1__mcasp2, | ||
3029 | &dra7xx_l4_per2__mcasp3, | ||
3030 | &dra7xx_l3_main_1__mcasp3, | ||
3031 | &dra7xx_l4_per2__mcasp4, | ||
3032 | &dra7xx_l4_per2__mcasp5, | ||
3033 | &dra7xx_l4_per2__mcasp6, | ||
3034 | &dra7xx_l4_per2__mcasp7, | ||
3035 | &dra7xx_l4_per2__mcasp8, | ||
3036 | &dra7xx_gmac__mdio, | ||
3037 | &dra7xx_l4_cfg__dma_system, | 2566 | &dra7xx_l4_cfg__dma_system, |
3038 | &dra7xx_l3_main_1__tpcc, | 2567 | &dra7xx_l3_main_1__tpcc, |
3039 | &dra7xx_l3_main_1__tptc0, | 2568 | &dra7xx_l3_main_1__tptc0, |
@@ -3060,10 +2589,6 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = { | |||
3060 | &dra7xx_l4_per3__mailbox11, | 2589 | &dra7xx_l4_per3__mailbox11, |
3061 | &dra7xx_l4_per3__mailbox12, | 2590 | &dra7xx_l4_per3__mailbox12, |
3062 | &dra7xx_l4_per3__mailbox13, | 2591 | &dra7xx_l4_per3__mailbox13, |
3063 | &dra7xx_l4_per1__mcspi1, | ||
3064 | &dra7xx_l4_per1__mcspi2, | ||
3065 | &dra7xx_l4_per1__mcspi3, | ||
3066 | &dra7xx_l4_per1__mcspi4, | ||
3067 | &dra7xx_l4_cfg__mpu, | 2592 | &dra7xx_l4_cfg__mpu, |
3068 | &dra7xx_l4_cfg__ocp2scp1, | 2593 | &dra7xx_l4_cfg__ocp2scp1, |
3069 | &dra7xx_l4_cfg__ocp2scp3, | 2594 | &dra7xx_l4_cfg__ocp2scp3, |
diff --git a/arch/arm/plat-samsung/watchdog-reset.c b/arch/arm/plat-samsung/watchdog-reset.c index ce42cc640a61..71d85ff323f7 100644 --- a/arch/arm/plat-samsung/watchdog-reset.c +++ b/arch/arm/plat-samsung/watchdog-reset.c | |||
@@ -62,6 +62,7 @@ void samsung_wdt_reset(void) | |||
62 | #ifdef CONFIG_OF | 62 | #ifdef CONFIG_OF |
63 | static const struct of_device_id s3c2410_wdt_match[] = { | 63 | static const struct of_device_id s3c2410_wdt_match[] = { |
64 | { .compatible = "samsung,s3c2410-wdt" }, | 64 | { .compatible = "samsung,s3c2410-wdt" }, |
65 | { .compatible = "samsung,s3c6410-wdt" }, | ||
65 | {}, | 66 | {}, |
66 | }; | 67 | }; |
67 | 68 | ||
diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile index caed4334f27d..243338c914a4 100644 --- a/arch/arm64/boot/dts/marvell/Makefile +++ b/arch/arm64/boot/dts/marvell/Makefile | |||
@@ -2,6 +2,7 @@ | |||
2 | # Mvebu SoC Family | 2 | # Mvebu SoC Family |
3 | dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb | 3 | dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb |
4 | dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb | 4 | dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb |
5 | dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-turris-mox.dtb | ||
5 | dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-uDPU.dtb | 6 | dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-uDPU.dtb |
6 | dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb | 7 | dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb |
7 | dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-clearfog-gt-8k.dtb | 8 | dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-clearfog-gt-8k.dtb |
diff --git a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts new file mode 100644 index 000000000000..d105986c6be1 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts | |||
@@ -0,0 +1,840 @@ | |||
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 = ð1; | ||
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 | ð0 { | ||
149 | pinctrl-names = "default"; | ||
150 | pinctrl-0 = <&rgmii_pins>; | ||
151 | phy-mode = "rgmii-id"; | ||
152 | phy = <&phy1>; | ||
153 | status = "okay"; | ||
154 | }; | ||
155 | |||
156 | ð1 { | ||
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 = <ð1>; | ||
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 = <ð1>; | ||
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 | }; | ||
diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi index 7f69e3dfcb13..000c135e39b7 100644 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi | |||
@@ -215,6 +215,11 @@ | |||
215 | function = "spi"; | 215 | function = "spi"; |
216 | }; | 216 | }; |
217 | 217 | ||
218 | spi_cs1_pins: spi-cs1-pins { | ||
219 | groups = "spi_cs1"; | ||
220 | function = "spi"; | ||
221 | }; | ||
222 | |||
218 | i2c1_pins: i2c1-pins { | 223 | i2c1_pins: i2c1-pins { |
219 | groups = "i2c1"; | 224 | groups = "i2c1"; |
220 | function = "i2c"; | 225 | function = "i2c"; |
diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi index ca70ff73f171..799c75fa7981 100644 --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi | |||
@@ -42,7 +42,7 @@ | |||
42 | */ | 42 | */ |
43 | interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; | 43 | interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; |
44 | 44 | ||
45 | gic_its: gic-its@18200000 { | 45 | gic_its: gic-its@1820000 { |
46 | compatible = "arm,gic-v3-its"; | 46 | compatible = "arm,gic-v3-its"; |
47 | reg = <0x00 0x01820000 0x00 0x10000>; | 47 | reg = <0x00 0x01820000 0x00 0x10000>; |
48 | socionext,synquacer-pre-its = <0x1000000 0x400000>; | 48 | socionext,synquacer-pre-its = <0x1000000 0x400000>; |
@@ -67,7 +67,7 @@ | |||
67 | reg = <0x0 0x900000 0x0 0x2000>; | 67 | reg = <0x0 0x900000 0x0 0x2000>; |
68 | reg-names = "serdes"; | 68 | reg-names = "serdes"; |
69 | #phy-cells = <2>; | 69 | #phy-cells = <2>; |
70 | power-domains = <&k3_pds 153>; | 70 | power-domains = <&k3_pds 153 TI_SCI_PD_EXCLUSIVE>; |
71 | clocks = <&k3_clks 153 4>, <&k3_clks 153 1>, <&serdes1 AM654_SERDES_LO_REFCLK>; | 71 | clocks = <&k3_clks 153 4>, <&k3_clks 153 1>, <&serdes1 AM654_SERDES_LO_REFCLK>; |
72 | clock-output-names = "serdes0_cmu_refclk", "serdes0_lo_refclk", "serdes0_ro_refclk"; | 72 | clock-output-names = "serdes0_cmu_refclk", "serdes0_lo_refclk", "serdes0_ro_refclk"; |
73 | assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>; | 73 | assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>; |
@@ -82,7 +82,7 @@ | |||
82 | reg = <0x0 0x910000 0x0 0x2000>; | 82 | reg = <0x0 0x910000 0x0 0x2000>; |
83 | reg-names = "serdes"; | 83 | reg-names = "serdes"; |
84 | #phy-cells = <2>; | 84 | #phy-cells = <2>; |
85 | power-domains = <&k3_pds 154>; | 85 | power-domains = <&k3_pds 154 TI_SCI_PD_EXCLUSIVE>; |
86 | clocks = <&serdes0 AM654_SERDES_RO_REFCLK>, <&k3_clks 154 1>, <&k3_clks 154 5>; | 86 | clocks = <&serdes0 AM654_SERDES_RO_REFCLK>, <&k3_clks 154 1>, <&k3_clks 154 5>; |
87 | clock-output-names = "serdes1_cmu_refclk", "serdes1_lo_refclk", "serdes1_ro_refclk"; | 87 | clock-output-names = "serdes1_cmu_refclk", "serdes1_lo_refclk", "serdes1_ro_refclk"; |
88 | assigned-clocks = <&k3_clks 154 5>, <&serdes1 AM654_SERDES_CMU_REFCLK>; | 88 | assigned-clocks = <&k3_clks 154 5>, <&serdes1 AM654_SERDES_CMU_REFCLK>; |
@@ -100,7 +100,7 @@ | |||
100 | interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; | 100 | interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; |
101 | clock-frequency = <48000000>; | 101 | clock-frequency = <48000000>; |
102 | current-speed = <115200>; | 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 | main_uart1: serial@2810000 { | 106 | main_uart1: serial@2810000 { |
@@ -110,7 +110,7 @@ | |||
110 | reg-io-width = <4>; | 110 | reg-io-width = <4>; |
111 | interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; | 111 | interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; |
112 | clock-frequency = <48000000>; | 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 | main_uart2: serial@2820000 { | 116 | main_uart2: serial@2820000 { |
@@ -120,7 +120,7 @@ | |||
120 | reg-io-width = <4>; | 120 | reg-io-width = <4>; |
121 | interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; | 121 | interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; |
122 | clock-frequency = <48000000>; | 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 | main_pmx0: pinmux@11c000 { | 126 | main_pmx0: pinmux@11c000 { |
@@ -147,7 +147,7 @@ | |||
147 | #size-cells = <0>; | 147 | #size-cells = <0>; |
148 | clock-names = "fck"; | 148 | clock-names = "fck"; |
149 | clocks = <&k3_clks 110 1>; | 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 | main_i2c1: i2c@2010000 { | 153 | main_i2c1: i2c@2010000 { |
@@ -158,7 +158,7 @@ | |||
158 | #size-cells = <0>; | 158 | #size-cells = <0>; |
159 | clock-names = "fck"; | 159 | clock-names = "fck"; |
160 | clocks = <&k3_clks 111 1>; | 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 | main_i2c2: i2c@2020000 { | 164 | main_i2c2: i2c@2020000 { |
@@ -169,7 +169,7 @@ | |||
169 | #size-cells = <0>; | 169 | #size-cells = <0>; |
170 | clock-names = "fck"; | 170 | clock-names = "fck"; |
171 | clocks = <&k3_clks 112 1>; | 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 | main_i2c3: i2c@2030000 { | 175 | main_i2c3: i2c@2030000 { |
@@ -180,14 +180,14 @@ | |||
180 | #size-cells = <0>; | 180 | #size-cells = <0>; |
181 | clock-names = "fck"; | 181 | clock-names = "fck"; |
182 | clocks = <&k3_clks 113 1>; | 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 | ecap0: pwm@3100000 { | 186 | ecap0: pwm@3100000 { |
187 | compatible = "ti,am654-ecap", "ti,am3352-ecap"; | 187 | compatible = "ti,am654-ecap", "ti,am3352-ecap"; |
188 | #pwm-cells = <3>; | 188 | #pwm-cells = <3>; |
189 | reg = <0x0 0x03100000 0x0 0x60>; | 189 | reg = <0x0 0x03100000 0x0 0x60>; |
190 | power-domains = <&k3_pds 39>; | 190 | power-domains = <&k3_pds 39 TI_SCI_PD_EXCLUSIVE>; |
191 | clocks = <&k3_clks 39 0>; | 191 | clocks = <&k3_clks 39 0>; |
192 | clock-names = "fck"; | 192 | clock-names = "fck"; |
193 | }; | 193 | }; |
@@ -197,7 +197,7 @@ | |||
197 | reg = <0x0 0x2100000 0x0 0x400>; | 197 | reg = <0x0 0x2100000 0x0 0x400>; |
198 | interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; | 198 | interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; |
199 | clocks = <&k3_clks 137 1>; | 199 | clocks = <&k3_clks 137 1>; |
200 | power-domains = <&k3_pds 137>; | 200 | power-domains = <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>; |
201 | #address-cells = <1>; | 201 | #address-cells = <1>; |
202 | #size-cells = <0>; | 202 | #size-cells = <0>; |
203 | }; | 203 | }; |
@@ -207,7 +207,7 @@ | |||
207 | reg = <0x0 0x2110000 0x0 0x400>; | 207 | reg = <0x0 0x2110000 0x0 0x400>; |
208 | interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; | 208 | interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; |
209 | clocks = <&k3_clks 138 1>; | 209 | clocks = <&k3_clks 138 1>; |
210 | power-domains = <&k3_pds 138>; | 210 | power-domains = <&k3_pds 138 TI_SCI_PD_EXCLUSIVE>; |
211 | #address-cells = <1>; | 211 | #address-cells = <1>; |
212 | #size-cells = <0>; | 212 | #size-cells = <0>; |
213 | assigned-clocks = <&k3_clks 137 1>; | 213 | assigned-clocks = <&k3_clks 137 1>; |
@@ -219,7 +219,7 @@ | |||
219 | reg = <0x0 0x2120000 0x0 0x400>; | 219 | reg = <0x0 0x2120000 0x0 0x400>; |
220 | interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; | 220 | interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; |
221 | clocks = <&k3_clks 139 1>; | 221 | clocks = <&k3_clks 139 1>; |
222 | power-domains = <&k3_pds 139>; | 222 | power-domains = <&k3_pds 139 TI_SCI_PD_EXCLUSIVE>; |
223 | #address-cells = <1>; | 223 | #address-cells = <1>; |
224 | #size-cells = <0>; | 224 | #size-cells = <0>; |
225 | }; | 225 | }; |
@@ -229,7 +229,7 @@ | |||
229 | reg = <0x0 0x2130000 0x0 0x400>; | 229 | reg = <0x0 0x2130000 0x0 0x400>; |
230 | interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; | 230 | interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; |
231 | clocks = <&k3_clks 140 1>; | 231 | clocks = <&k3_clks 140 1>; |
232 | power-domains = <&k3_pds 140>; | 232 | power-domains = <&k3_pds 140 TI_SCI_PD_EXCLUSIVE>; |
233 | #address-cells = <1>; | 233 | #address-cells = <1>; |
234 | #size-cells = <0>; | 234 | #size-cells = <0>; |
235 | }; | 235 | }; |
@@ -239,7 +239,7 @@ | |||
239 | reg = <0x0 0x2140000 0x0 0x400>; | 239 | reg = <0x0 0x2140000 0x0 0x400>; |
240 | interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; | 240 | interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; |
241 | clocks = <&k3_clks 141 1>; | 241 | clocks = <&k3_clks 141 1>; |
242 | power-domains = <&k3_pds 141>; | 242 | power-domains = <&k3_pds 141 TI_SCI_PD_EXCLUSIVE>; |
243 | #address-cells = <1>; | 243 | #address-cells = <1>; |
244 | #size-cells = <0>; | 244 | #size-cells = <0>; |
245 | }; | 245 | }; |
@@ -247,7 +247,7 @@ | |||
247 | sdhci0: sdhci@4f80000 { | 247 | sdhci0: sdhci@4f80000 { |
248 | compatible = "ti,am654-sdhci-5.1"; | 248 | compatible = "ti,am654-sdhci-5.1"; |
249 | reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>; | 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 | clocks = <&k3_clks 47 0>, <&k3_clks 47 1>; | 251 | clocks = <&k3_clks 47 0>, <&k3_clks 47 1>; |
252 | clock-names = "clk_ahb", "clk_xin"; | 252 | clock-names = "clk_ahb", "clk_xin"; |
253 | interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; | 253 | interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; |
@@ -306,7 +306,7 @@ | |||
306 | ranges = <0x0 0x0 0x4000000 0x20000>; | 306 | ranges = <0x0 0x0 0x4000000 0x20000>; |
307 | interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; | 307 | interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; |
308 | dma-coherent; | 308 | dma-coherent; |
309 | power-domains = <&k3_pds 151>; | 309 | power-domains = <&k3_pds 151 TI_SCI_PD_EXCLUSIVE>; |
310 | assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>; | 310 | assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>; |
311 | assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ | 311 | assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ |
312 | <&k3_clks 151 9>; /* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */ | 312 | <&k3_clks 151 9>; /* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */ |
@@ -345,7 +345,7 @@ | |||
345 | ranges = <0x0 0x0 0x4020000 0x20000>; | 345 | ranges = <0x0 0x0 0x4020000 0x20000>; |
346 | interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; | 346 | interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; |
347 | dma-coherent; | 347 | dma-coherent; |
348 | power-domains = <&k3_pds 152>; | 348 | power-domains = <&k3_pds 152 TI_SCI_PD_EXCLUSIVE>; |
349 | assigned-clocks = <&k3_clks 152 2>; | 349 | assigned-clocks = <&k3_clks 152 2>; |
350 | assigned-clock-parents = <&k3_clks 152 4>; /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ | 350 | assigned-clock-parents = <&k3_clks 152 4>; /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ |
351 | 351 | ||
@@ -413,6 +413,12 @@ | |||
413 | ti,sci-rm-range-vint = <0x0>; | 413 | ti,sci-rm-range-vint = <0x0>; |
414 | ti,sci-rm-range-global-event = <0x1>; | 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 | main_gpio0: main_gpio0@600000 { | 424 | main_gpio0: main_gpio0@600000 { |
@@ -451,7 +457,7 @@ | |||
451 | compatible = "ti,am654-pcie-rc"; | 457 | compatible = "ti,am654-pcie-rc"; |
452 | reg = <0x0 0x5500000 0x0 0x1000>, <0x0 0x5501000 0x0 0x1000>, <0x0 0x10000000 0x0 0x2000>, <0x0 0x5506000 0x0 0x1000>; | 458 | reg = <0x0 0x5500000 0x0 0x1000>, <0x0 0x5501000 0x0 0x1000>, <0x0 0x10000000 0x0 0x2000>, <0x0 0x5506000 0x0 0x1000>; |
453 | reg-names = "app", "dbics", "config", "atu"; | 459 | reg-names = "app", "dbics", "config", "atu"; |
454 | power-domains = <&k3_pds 120>; | 460 | power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>; |
455 | #address-cells = <3>; | 461 | #address-cells = <3>; |
456 | #size-cells = <2>; | 462 | #size-cells = <2>; |
457 | ranges = <0x81000000 0 0 0x0 0x10020000 0 0x00010000 | 463 | ranges = <0x81000000 0 0 0x0 0x10020000 0 0x00010000 |
@@ -470,7 +476,7 @@ | |||
470 | compatible = "ti,am654-pcie-ep"; | 476 | compatible = "ti,am654-pcie-ep"; |
471 | reg = <0x0 0x5500000 0x0 0x1000>, <0x0 0x5501000 0x0 0x1000>, <0x0 0x10000000 0x0 0x8000000>, <0x0 0x5506000 0x0 0x1000>; | 477 | reg = <0x0 0x5500000 0x0 0x1000>, <0x0 0x5501000 0x0 0x1000>, <0x0 0x10000000 0x0 0x8000000>, <0x0 0x5506000 0x0 0x1000>; |
472 | reg-names = "app", "dbics", "addr_space", "atu"; | 478 | reg-names = "app", "dbics", "addr_space", "atu"; |
473 | power-domains = <&k3_pds 120>; | 479 | power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>; |
474 | ti,syscon-pcie-mode = <&pcie0_mode>; | 480 | ti,syscon-pcie-mode = <&pcie0_mode>; |
475 | num-ib-windows = <16>; | 481 | num-ib-windows = <16>; |
476 | num-ob-windows = <16>; | 482 | num-ob-windows = <16>; |
@@ -483,7 +489,7 @@ | |||
483 | compatible = "ti,am654-pcie-rc"; | 489 | compatible = "ti,am654-pcie-rc"; |
484 | reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x2000>, <0x0 0x5606000 0x0 0x1000>; | 490 | reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x2000>, <0x0 0x5606000 0x0 0x1000>; |
485 | reg-names = "app", "dbics", "config", "atu"; | 491 | reg-names = "app", "dbics", "config", "atu"; |
486 | power-domains = <&k3_pds 121>; | 492 | power-domains = <&k3_pds 121 TI_SCI_PD_EXCLUSIVE>; |
487 | #address-cells = <3>; | 493 | #address-cells = <3>; |
488 | #size-cells = <2>; | 494 | #size-cells = <2>; |
489 | ranges = <0x81000000 0 0 0x0 0x18020000 0 0x00010000 | 495 | ranges = <0x81000000 0 0 0x0 0x18020000 0 0x00010000 |
@@ -502,7 +508,7 @@ | |||
502 | compatible = "ti,am654-pcie-ep"; | 508 | compatible = "ti,am654-pcie-ep"; |
503 | reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x4000000>, <0x0 0x5606000 0x0 0x1000>; | 509 | reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x4000000>, <0x0 0x5606000 0x0 0x1000>; |
504 | reg-names = "app", "dbics", "addr_space", "atu"; | 510 | reg-names = "app", "dbics", "addr_space", "atu"; |
505 | power-domains = <&k3_pds 121>; | 511 | power-domains = <&k3_pds 121 TI_SCI_PD_EXCLUSIVE>; |
506 | ti,syscon-pcie-mode = <&pcie1_mode>; | 512 | ti,syscon-pcie-mode = <&pcie1_mode>; |
507 | num-ib-windows = <16>; | 513 | num-ib-windows = <16>; |
508 | num-ob-windows = <16>; | 514 | num-ob-windows = <16>; |
diff --git a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi index afc29eaa2638..7bdf5342f58f 100644 --- a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | |||
@@ -14,7 +14,7 @@ | |||
14 | interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>; | 14 | interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>; |
15 | clock-frequency = <96000000>; | 15 | clock-frequency = <96000000>; |
16 | current-speed = <115200>; | 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 | mcu_ram: sram@41c00000 { | 20 | mcu_ram: sram@41c00000 { |
@@ -33,7 +33,7 @@ | |||
33 | #size-cells = <0>; | 33 | #size-cells = <0>; |
34 | clock-names = "fck"; | 34 | clock-names = "fck"; |
35 | clocks = <&k3_clks 114 1>; | 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 | mcu_spi0: spi@40300000 { | 39 | mcu_spi0: spi@40300000 { |
@@ -41,7 +41,7 @@ | |||
41 | reg = <0x0 0x40300000 0x0 0x400>; | 41 | reg = <0x0 0x40300000 0x0 0x400>; |
42 | interrupts = <GIC_SPI 560 IRQ_TYPE_LEVEL_HIGH>; | 42 | interrupts = <GIC_SPI 560 IRQ_TYPE_LEVEL_HIGH>; |
43 | clocks = <&k3_clks 142 1>; | 43 | clocks = <&k3_clks 142 1>; |
44 | power-domains = <&k3_pds 142>; | 44 | power-domains = <&k3_pds 142 TI_SCI_PD_EXCLUSIVE>; |
45 | #address-cells = <1>; | 45 | #address-cells = <1>; |
46 | #size-cells = <0>; | 46 | #size-cells = <0>; |
47 | }; | 47 | }; |
@@ -51,7 +51,7 @@ | |||
51 | reg = <0x0 0x40310000 0x0 0x400>; | 51 | reg = <0x0 0x40310000 0x0 0x400>; |
52 | interrupts = <GIC_SPI 561 IRQ_TYPE_LEVEL_HIGH>; | 52 | interrupts = <GIC_SPI 561 IRQ_TYPE_LEVEL_HIGH>; |
53 | clocks = <&k3_clks 143 1>; | 53 | clocks = <&k3_clks 143 1>; |
54 | power-domains = <&k3_pds 143>; | 54 | power-domains = <&k3_pds 143 TI_SCI_PD_EXCLUSIVE>; |
55 | #address-cells = <1>; | 55 | #address-cells = <1>; |
56 | #size-cells = <0>; | 56 | #size-cells = <0>; |
57 | }; | 57 | }; |
@@ -61,7 +61,7 @@ | |||
61 | reg = <0x0 0x40320000 0x0 0x400>; | 61 | reg = <0x0 0x40320000 0x0 0x400>; |
62 | interrupts = <GIC_SPI 562 IRQ_TYPE_LEVEL_HIGH>; | 62 | interrupts = <GIC_SPI 562 IRQ_TYPE_LEVEL_HIGH>; |
63 | clocks = <&k3_clks 144 1>; | 63 | clocks = <&k3_clks 144 1>; |
64 | power-domains = <&k3_pds 144>; | 64 | power-domains = <&k3_pds 144 TI_SCI_PD_EXCLUSIVE>; |
65 | #address-cells = <1>; | 65 | #address-cells = <1>; |
66 | #size-cells = <0>; | 66 | #size-cells = <0>; |
67 | }; | 67 | }; |
diff --git a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi index 9cf2c0849a24..f4227e2743f2 100644 --- a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi | |||
@@ -20,7 +20,7 @@ | |||
20 | 20 | ||
21 | k3_pds: power-controller { | 21 | k3_pds: power-controller { |
22 | compatible = "ti,sci-pm-domain"; | 22 | compatible = "ti,sci-pm-domain"; |
23 | #power-domain-cells = <1>; | 23 | #power-domain-cells = <2>; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | k3_clks: clocks { | 26 | k3_clks: clocks { |
@@ -50,7 +50,7 @@ | |||
50 | interrupts = <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>; | 50 | interrupts = <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>; |
51 | clock-frequency = <48000000>; | 51 | clock-frequency = <48000000>; |
52 | current-speed = <115200>; | 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 | wkup_i2c0: i2c@42120000 { | 56 | wkup_i2c0: i2c@42120000 { |
@@ -61,7 +61,7 @@ | |||
61 | #size-cells = <0>; | 61 | #size-cells = <0>; |
62 | clock-names = "fck"; | 62 | clock-names = "fck"; |
63 | clocks = <&k3_clks 115 1>; | 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 | intr_wkup_gpio: interrupt-controller2 { | 67 | intr_wkup_gpio: interrupt-controller2 { |
diff --git a/arch/arm64/boot/dts/ti/k3-am65.dtsi b/arch/arm64/boot/dts/ti/k3-am65.dtsi index 82edf10b2378..6dfccd5d56c8 100644 --- a/arch/arm64/boot/dts/ti/k3-am65.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am65.dtsi | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <dt-bindings/interrupt-controller/irq.h> | 9 | #include <dt-bindings/interrupt-controller/irq.h> |
10 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 10 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
11 | #include <dt-bindings/pinctrl/k3.h> | 11 | #include <dt-bindings/pinctrl/k3.h> |
12 | #include <dt-bindings/soc/ti,sci_pm_domain.h> | ||
12 | 13 | ||
13 | / { | 14 | / { |
14 | model = "Texas Instruments K3 AM654 SoC"; | 15 | model = "Texas Instruments K3 AM654 SoC"; |
diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts index 52c245d36db9..1102b84f853d 100644 --- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts | |||
@@ -151,6 +151,7 @@ | |||
151 | &main_uart0 { | 151 | &main_uart0 { |
152 | pinctrl-names = "default"; | 152 | pinctrl-names = "default"; |
153 | pinctrl-0 = <&main_uart0_pins_default>; | 153 | pinctrl-0 = <&main_uart0_pins_default>; |
154 | power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>; | ||
154 | }; | 155 | }; |
155 | 156 | ||
156 | &wkup_i2c0 { | 157 | &wkup_i2c0 { |
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts index c680123f067c..d2894d55fbbe 100644 --- a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts +++ b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts | |||
@@ -6,12 +6,49 @@ | |||
6 | /dts-v1/; | 6 | /dts-v1/; |
7 | 7 | ||
8 | #include "k3-j721e-som-p0.dtsi" | 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 | chosen { | 13 | chosen { |
12 | stdout-path = "serial2:115200n8"; | 14 | stdout-path = "serial2:115200n8"; |
13 | bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000"; | 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 | &wkup_uart0 { | 54 | &wkup_uart0 { |
@@ -19,6 +56,10 @@ | |||
19 | status = "disabled"; | 56 | status = "disabled"; |
20 | }; | 57 | }; |
21 | 58 | ||
59 | &main_uart0 { | ||
60 | power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>; | ||
61 | }; | ||
62 | |||
22 | &main_uart3 { | 63 | &main_uart3 { |
23 | /* UART not brought out */ | 64 | /* UART not brought out */ |
24 | status = "disabled"; | 65 | status = "disabled"; |
@@ -48,3 +89,31 @@ | |||
48 | /* UART not brought out */ | 89 | /* UART not brought out */ |
49 | status = "disabled"; | 90 | status = "disabled"; |
50 | }; | 91 | }; |
92 | |||
93 | &main_gpio2 { | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | &main_gpio3 { | ||
98 | status = "disabled"; | ||
99 | }; | ||
100 | |||
101 | &main_gpio4 { | ||
102 | status = "disabled"; | ||
103 | }; | ||
104 | |||
105 | &main_gpio5 { | ||
106 | status = "disabled"; | ||
107 | }; | ||
108 | |||
109 | &main_gpio6 { | ||
110 | status = "disabled"; | ||
111 | }; | ||
112 | |||
113 | &main_gpio7 { | ||
114 | status = "disabled"; | ||
115 | }; | ||
116 | |||
117 | &wkup_gpio1 { | ||
118 | status = "disabled"; | ||
119 | }; | ||
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi index a01308142f77..698ef9a1d5b7 100644 --- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | |||
@@ -31,7 +31,7 @@ | |||
31 | /* vcpumntirq: virtual CPU interface maintenance interrupt */ | 31 | /* vcpumntirq: virtual CPU interface maintenance interrupt */ |
32 | interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; | 32 | interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; |
33 | 33 | ||
34 | gic_its: gic-its@18200000 { | 34 | gic_its: gic-its@1820000 { |
35 | compatible = "arm,gic-v3-its"; | 35 | compatible = "arm,gic-v3-its"; |
36 | reg = <0x00 0x01820000 0x00 0x10000>; | 36 | reg = <0x00 0x01820000 0x00 0x10000>; |
37 | socionext,synquacer-pre-its = <0x1000000 0x400000>; | 37 | socionext,synquacer-pre-its = <0x1000000 0x400000>; |
@@ -89,6 +89,12 @@ | |||
89 | ti,sci-rm-range-vint = <0xa>; | 89 | ti,sci-rm-range-vint = <0xa>; |
90 | ti,sci-rm-range-global-event = <0xd>; | 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 | secure_proxy_main: mailbox@32c00000 { | 100 | secure_proxy_main: mailbox@32c00000 { |
@@ -119,7 +125,7 @@ | |||
119 | interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; | 125 | interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; |
120 | clock-frequency = <48000000>; | 126 | clock-frequency = <48000000>; |
121 | current-speed = <115200>; | 127 | current-speed = <115200>; |
122 | power-domains = <&k3_pds 146>; | 128 | power-domains = <&k3_pds 146 TI_SCI_PD_EXCLUSIVE>; |
123 | clocks = <&k3_clks 146 0>; | 129 | clocks = <&k3_clks 146 0>; |
124 | clock-names = "fclk"; | 130 | clock-names = "fclk"; |
125 | }; | 131 | }; |
@@ -132,7 +138,7 @@ | |||
132 | interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; | 138 | interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; |
133 | clock-frequency = <48000000>; | 139 | clock-frequency = <48000000>; |
134 | current-speed = <115200>; | 140 | current-speed = <115200>; |
135 | power-domains = <&k3_pds 278>; | 141 | power-domains = <&k3_pds 278 TI_SCI_PD_EXCLUSIVE>; |
136 | clocks = <&k3_clks 278 0>; | 142 | clocks = <&k3_clks 278 0>; |
137 | clock-names = "fclk"; | 143 | clock-names = "fclk"; |
138 | }; | 144 | }; |
@@ -145,7 +151,7 @@ | |||
145 | interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; | 151 | interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; |
146 | clock-frequency = <48000000>; | 152 | clock-frequency = <48000000>; |
147 | current-speed = <115200>; | 153 | current-speed = <115200>; |
148 | power-domains = <&k3_pds 279>; | 154 | power-domains = <&k3_pds 279 TI_SCI_PD_EXCLUSIVE>; |
149 | clocks = <&k3_clks 279 0>; | 155 | clocks = <&k3_clks 279 0>; |
150 | clock-names = "fclk"; | 156 | clock-names = "fclk"; |
151 | }; | 157 | }; |
@@ -158,7 +164,7 @@ | |||
158 | interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; | 164 | interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; |
159 | clock-frequency = <48000000>; | 165 | clock-frequency = <48000000>; |
160 | current-speed = <115200>; | 166 | current-speed = <115200>; |
161 | power-domains = <&k3_pds 280>; | 167 | power-domains = <&k3_pds 280 TI_SCI_PD_EXCLUSIVE>; |
162 | clocks = <&k3_clks 280 0>; | 168 | clocks = <&k3_clks 280 0>; |
163 | clock-names = "fclk"; | 169 | clock-names = "fclk"; |
164 | }; | 170 | }; |
@@ -171,7 +177,7 @@ | |||
171 | interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; | 177 | interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; |
172 | clock-frequency = <48000000>; | 178 | clock-frequency = <48000000>; |
173 | current-speed = <115200>; | 179 | current-speed = <115200>; |
174 | power-domains = <&k3_pds 281>; | 180 | power-domains = <&k3_pds 281 TI_SCI_PD_EXCLUSIVE>; |
175 | clocks = <&k3_clks 281 0>; | 181 | clocks = <&k3_clks 281 0>; |
176 | clock-names = "fclk"; | 182 | clock-names = "fclk"; |
177 | }; | 183 | }; |
@@ -184,7 +190,7 @@ | |||
184 | interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; | 190 | interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; |
185 | clock-frequency = <48000000>; | 191 | clock-frequency = <48000000>; |
186 | current-speed = <115200>; | 192 | current-speed = <115200>; |
187 | power-domains = <&k3_pds 282>; | 193 | power-domains = <&k3_pds 282 TI_SCI_PD_EXCLUSIVE>; |
188 | clocks = <&k3_clks 282 0>; | 194 | clocks = <&k3_clks 282 0>; |
189 | clock-names = "fclk"; | 195 | clock-names = "fclk"; |
190 | }; | 196 | }; |
@@ -197,7 +203,7 @@ | |||
197 | interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; | 203 | interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; |
198 | clock-frequency = <48000000>; | 204 | clock-frequency = <48000000>; |
199 | current-speed = <115200>; | 205 | current-speed = <115200>; |
200 | power-domains = <&k3_pds 283>; | 206 | power-domains = <&k3_pds 283 TI_SCI_PD_EXCLUSIVE>; |
201 | clocks = <&k3_clks 283 0>; | 207 | clocks = <&k3_clks 283 0>; |
202 | clock-names = "fclk"; | 208 | clock-names = "fclk"; |
203 | }; | 209 | }; |
@@ -210,7 +216,7 @@ | |||
210 | interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; | 216 | interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; |
211 | clock-frequency = <48000000>; | 217 | clock-frequency = <48000000>; |
212 | current-speed = <115200>; | 218 | current-speed = <115200>; |
213 | power-domains = <&k3_pds 284>; | 219 | power-domains = <&k3_pds 284 TI_SCI_PD_EXCLUSIVE>; |
214 | clocks = <&k3_clks 284 0>; | 220 | clocks = <&k3_clks 284 0>; |
215 | clock-names = "fclk"; | 221 | clock-names = "fclk"; |
216 | }; | 222 | }; |
@@ -223,7 +229,7 @@ | |||
223 | interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; | 229 | interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; |
224 | clock-frequency = <48000000>; | 230 | clock-frequency = <48000000>; |
225 | current-speed = <115200>; | 231 | current-speed = <115200>; |
226 | power-domains = <&k3_pds 285>; | 232 | power-domains = <&k3_pds 285 TI_SCI_PD_EXCLUSIVE>; |
227 | clocks = <&k3_clks 285 0>; | 233 | clocks = <&k3_clks 285 0>; |
228 | clock-names = "fclk"; | 234 | clock-names = "fclk"; |
229 | }; | 235 | }; |
@@ -236,8 +242,140 @@ | |||
236 | interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>; | 242 | interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>; |
237 | clock-frequency = <48000000>; | 243 | clock-frequency = <48000000>; |
238 | current-speed = <115200>; | 244 | current-speed = <115200>; |
239 | power-domains = <&k3_pds 286>; | 245 | power-domains = <&k3_pds 286 TI_SCI_PD_EXCLUSIVE>; |
240 | clocks = <&k3_clks 286 0>; | 246 | clocks = <&k3_clks 286 0>; |
241 | clock-names = "fclk"; | 247 | clock-names = "fclk"; |
242 | }; | 248 | }; |
249 | |||
250 | main_gpio0: gpio@600000 { | ||
251 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
252 | reg = <0x0 0x00600000 0x0 0x100>; | ||
253 | gpio-controller; | ||
254 | #gpio-cells = <2>; | ||
255 | interrupt-parent = <&main_gpio_intr>; | ||
256 | interrupts = <105 0>, <105 1>, <105 2>, <105 3>, | ||
257 | <105 4>, <105 5>, <105 6>, <105 7>; | ||
258 | interrupt-controller; | ||
259 | #interrupt-cells = <2>; | ||
260 | ti,ngpio = <128>; | ||
261 | ti,davinci-gpio-unbanked = <0>; | ||
262 | power-domains = <&k3_pds 105 TI_SCI_PD_EXCLUSIVE>; | ||
263 | clocks = <&k3_clks 105 0>; | ||
264 | clock-names = "gpio"; | ||
265 | }; | ||
266 | |||
267 | main_gpio1: gpio@601000 { | ||
268 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
269 | reg = <0x0 0x00601000 0x0 0x100>; | ||
270 | gpio-controller; | ||
271 | #gpio-cells = <2>; | ||
272 | interrupt-parent = <&main_gpio_intr>; | ||
273 | interrupts = <106 0>, <106 1>, <106 2>; | ||
274 | interrupt-controller; | ||
275 | #interrupt-cells = <2>; | ||
276 | ti,ngpio = <36>; | ||
277 | ti,davinci-gpio-unbanked = <0>; | ||
278 | power-domains = <&k3_pds 106 TI_SCI_PD_EXCLUSIVE>; | ||
279 | clocks = <&k3_clks 106 0>; | ||
280 | clock-names = "gpio"; | ||
281 | }; | ||
282 | |||
283 | main_gpio2: gpio@610000 { | ||
284 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
285 | reg = <0x0 0x00610000 0x0 0x100>; | ||
286 | gpio-controller; | ||
287 | #gpio-cells = <2>; | ||
288 | interrupt-parent = <&main_gpio_intr>; | ||
289 | interrupts = <107 0>, <107 1>, <107 2>, <107 3>, | ||
290 | <107 4>, <107 5>, <107 6>, <107 7>; | ||
291 | interrupt-controller; | ||
292 | #interrupt-cells = <2>; | ||
293 | ti,ngpio = <128>; | ||
294 | ti,davinci-gpio-unbanked = <0>; | ||
295 | power-domains = <&k3_pds 107 TI_SCI_PD_EXCLUSIVE>; | ||
296 | clocks = <&k3_clks 107 0>; | ||
297 | clock-names = "gpio"; | ||
298 | }; | ||
299 | |||
300 | main_gpio3: gpio@611000 { | ||
301 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
302 | reg = <0x0 0x00611000 0x0 0x100>; | ||
303 | gpio-controller; | ||
304 | #gpio-cells = <2>; | ||
305 | interrupt-parent = <&main_gpio_intr>; | ||
306 | interrupts = <108 0>, <108 1>, <108 2>; | ||
307 | interrupt-controller; | ||
308 | #interrupt-cells = <2>; | ||
309 | ti,ngpio = <36>; | ||
310 | ti,davinci-gpio-unbanked = <0>; | ||
311 | power-domains = <&k3_pds 108 TI_SCI_PD_EXCLUSIVE>; | ||
312 | clocks = <&k3_clks 108 0>; | ||
313 | clock-names = "gpio"; | ||
314 | }; | ||
315 | |||
316 | main_gpio4: gpio@620000 { | ||
317 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
318 | reg = <0x0 0x00620000 0x0 0x100>; | ||
319 | gpio-controller; | ||
320 | #gpio-cells = <2>; | ||
321 | interrupt-parent = <&main_gpio_intr>; | ||
322 | interrupts = <109 0>, <109 1>, <109 2>, <109 3>, | ||
323 | <109 4>, <109 5>, <109 6>, <109 7>; | ||
324 | interrupt-controller; | ||
325 | #interrupt-cells = <2>; | ||
326 | ti,ngpio = <128>; | ||
327 | ti,davinci-gpio-unbanked = <0>; | ||
328 | power-domains = <&k3_pds 109 TI_SCI_PD_EXCLUSIVE>; | ||
329 | clocks = <&k3_clks 109 0>; | ||
330 | clock-names = "gpio"; | ||
331 | }; | ||
332 | |||
333 | main_gpio5: gpio@621000 { | ||
334 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
335 | reg = <0x0 0x00621000 0x0 0x100>; | ||
336 | gpio-controller; | ||
337 | #gpio-cells = <2>; | ||
338 | interrupt-parent = <&main_gpio_intr>; | ||
339 | interrupts = <110 0>, <110 1>, <110 2>; | ||
340 | interrupt-controller; | ||
341 | #interrupt-cells = <2>; | ||
342 | ti,ngpio = <36>; | ||
343 | ti,davinci-gpio-unbanked = <0>; | ||
344 | power-domains = <&k3_pds 110 TI_SCI_PD_EXCLUSIVE>; | ||
345 | clocks = <&k3_clks 110 0>; | ||
346 | clock-names = "gpio"; | ||
347 | }; | ||
348 | |||
349 | main_gpio6: gpio@630000 { | ||
350 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
351 | reg = <0x0 0x00630000 0x0 0x100>; | ||
352 | gpio-controller; | ||
353 | #gpio-cells = <2>; | ||
354 | interrupt-parent = <&main_gpio_intr>; | ||
355 | interrupts = <111 0>, <111 1>, <111 2>, <111 3>, | ||
356 | <111 4>, <111 5>, <111 6>, <111 7>; | ||
357 | interrupt-controller; | ||
358 | #interrupt-cells = <2>; | ||
359 | ti,ngpio = <128>; | ||
360 | ti,davinci-gpio-unbanked = <0>; | ||
361 | power-domains = <&k3_pds 111 TI_SCI_PD_EXCLUSIVE>; | ||
362 | clocks = <&k3_clks 111 0>; | ||
363 | clock-names = "gpio"; | ||
364 | }; | ||
365 | |||
366 | main_gpio7: gpio@631000 { | ||
367 | compatible = "ti,j721e-gpio", "ti,keystone-gpio"; | ||
368 | reg = <0x0 0x00631000 0x0 0x100>; | ||
369 | gpio-controller; | ||
370 | #gpio-cells = <2>; | ||
371 | interrupt-parent = <&main_gpio_intr>; | ||
372 | interrupts = <112 0>, <112 1>, <112 2>; | ||
373 | interrupt-controller; | ||
374 | #interrupt-cells = <2>; | ||
375 | ti,ngpio = <36>; | ||
376 | ti,davinci-gpio-unbanked = <0>; | ||
377 | power-domains = <&k3_pds 112 TI_SCI_PD_EXCLUSIVE>; | ||
378 | clocks = <&k3_clks 112 0>; | ||
379 | clock-names = "gpio"; | ||
380 | }; | ||
243 | }; | 381 | }; |
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi index 07b58eeebceb..555dc7b7aedc 100644 --- a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | |||
@@ -20,7 +20,7 @@ | |||
20 | 20 | ||
21 | k3_pds: power-controller { | 21 | k3_pds: power-controller { |
22 | compatible = "ti,sci-pm-domain"; | 22 | compatible = "ti,sci-pm-domain"; |
23 | #power-domain-cells = <1>; | 23 | #power-domain-cells = <2>; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | k3_clks: clocks { | 26 | k3_clks: clocks { |
@@ -59,7 +59,7 @@ | |||
59 | interrupts = <GIC_SPI 897 IRQ_TYPE_LEVEL_HIGH>; | 59 | interrupts = <GIC_SPI 897 IRQ_TYPE_LEVEL_HIGH>; |
60 | clock-frequency = <48000000>; | 60 | clock-frequency = <48000000>; |
61 | current-speed = <115200>; | 61 | current-speed = <115200>; |
62 | power-domains = <&k3_pds 287>; | 62 | power-domains = <&k3_pds 287 TI_SCI_PD_EXCLUSIVE>; |
63 | clocks = <&k3_clks 287 0>; | 63 | clocks = <&k3_clks 287 0>; |
64 | clock-names = "fclk"; | 64 | clock-names = "fclk"; |
65 | }; | 65 | }; |
@@ -72,7 +72,7 @@ | |||
72 | interrupts = <GIC_SPI 846 IRQ_TYPE_LEVEL_HIGH>; | 72 | interrupts = <GIC_SPI 846 IRQ_TYPE_LEVEL_HIGH>; |
73 | clock-frequency = <96000000>; | 73 | clock-frequency = <96000000>; |
74 | current-speed = <115200>; | 74 | current-speed = <115200>; |
75 | power-domains = <&k3_pds 149>; | 75 | power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>; |
76 | clocks = <&k3_clks 149 0>; | 76 | clocks = <&k3_clks 149 0>; |
77 | clock-names = "fclk"; | 77 | clock-names = "fclk"; |
78 | }; | 78 | }; |
@@ -87,4 +87,38 @@ | |||
87 | ti,sci-dst-id = <14>; | 87 | ti,sci-dst-id = <14>; |
88 | ti,sci-rm-range-girq = <0x5>; | 88 | ti,sci-rm-range-girq = <0x5>; |
89 | }; | 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"; | ||
123 | }; | ||
90 | }; | 124 | }; |
diff --git a/arch/arm64/boot/dts/ti/k3-j721e.dtsi b/arch/arm64/boot/dts/ti/k3-j721e.dtsi index f8dd74b17bfb..43ea1ba97922 100644 --- a/arch/arm64/boot/dts/ti/k3-j721e.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j721e.dtsi | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <dt-bindings/interrupt-controller/irq.h> | 8 | #include <dt-bindings/interrupt-controller/irq.h> |
9 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 9 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
10 | #include <dt-bindings/pinctrl/k3.h> | 10 | #include <dt-bindings/pinctrl/k3.h> |
11 | #include <dt-bindings/soc/ti,sci_pm_domain.h> | ||
11 | 12 | ||
12 | / { | 13 | / { |
13 | model = "Texas Instruments K3 J721E SoC"; | 14 | model = "Texas Instruments K3 J721E SoC"; |
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index 2db474ab4c6b..9207ac291341 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c | |||
@@ -1,14 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0 | ||
1 | /* | 2 | /* |
2 | * ti-sysc.c - Texas Instruments sysc interconnect target driver | 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 | #include <linux/io.h> | 6 | #include <linux/io.h> |
@@ -62,18 +54,26 @@ static const char * const clock_names[SYSC_MAX_CLOCKS] = { | |||
62 | * @module_size: size of the interconnect target module | 54 | * @module_size: size of the interconnect target module |
63 | * @module_va: virtual address of the interconnect target module | 55 | * @module_va: virtual address of the interconnect target module |
64 | * @offsets: register offsets from module base | 56 | * @offsets: register offsets from module base |
57 | * @mdata: ti-sysc to hwmod translation data for a module | ||
65 | * @clocks: clocks used by the interconnect target module | 58 | * @clocks: clocks used by the interconnect target module |
66 | * @clock_roles: clock role names for the found clocks | 59 | * @clock_roles: clock role names for the found clocks |
67 | * @nr_clocks: number of clocks used by the interconnect target module | 60 | * @nr_clocks: number of clocks used by the interconnect target module |
61 | * @rsts: resets used by the interconnect target module | ||
68 | * @legacy_mode: configured for legacy mode if set | 62 | * @legacy_mode: configured for legacy mode if set |
69 | * @cap: interconnect target module capabilities | 63 | * @cap: interconnect target module capabilities |
70 | * @cfg: interconnect target module configuration | 64 | * @cfg: interconnect target module configuration |
65 | * @cookie: data used by legacy platform callbacks | ||
71 | * @name: name if available | 66 | * @name: name if available |
72 | * @revision: interconnect target module revision | 67 | * @revision: interconnect target module revision |
68 | * @enabled: sysc runtime enabled status | ||
73 | * @needs_resume: runtime resume needed on resume from suspend | 69 | * @needs_resume: runtime resume needed on resume from suspend |
70 | * @child_needs_resume: runtime resume needed for child on resume from suspend | ||
71 | * @disable_on_idle: status flag used for disabling modules with resets | ||
72 | * @idle_work: work structure used to perform delayed idle on a module | ||
74 | * @clk_enable_quirk: module specific clock enable quirk | 73 | * @clk_enable_quirk: module specific clock enable quirk |
75 | * @clk_disable_quirk: module specific clock disable quirk | 74 | * @clk_disable_quirk: module specific clock disable quirk |
76 | * @reset_done_quirk: module specific reset done quirk | 75 | * @reset_done_quirk: module specific reset done quirk |
76 | * @module_enable_quirk: module specific enable quirk | ||
77 | */ | 77 | */ |
78 | struct sysc { | 78 | struct sysc { |
79 | struct device *dev; | 79 | struct device *dev; |
@@ -95,11 +95,11 @@ struct sysc { | |||
95 | unsigned int enabled:1; | 95 | unsigned int enabled:1; |
96 | unsigned int needs_resume:1; | 96 | unsigned int needs_resume:1; |
97 | unsigned int child_needs_resume:1; | 97 | unsigned int child_needs_resume:1; |
98 | unsigned int disable_on_idle:1; | ||
99 | struct delayed_work idle_work; | 98 | struct delayed_work idle_work; |
100 | void (*clk_enable_quirk)(struct sysc *sysc); | 99 | void (*clk_enable_quirk)(struct sysc *sysc); |
101 | void (*clk_disable_quirk)(struct sysc *sysc); | 100 | void (*clk_disable_quirk)(struct sysc *sysc); |
102 | void (*reset_done_quirk)(struct sysc *sysc); | 101 | void (*reset_done_quirk)(struct sysc *sysc); |
102 | void (*module_enable_quirk)(struct sysc *sysc); | ||
103 | }; | 103 | }; |
104 | 104 | ||
105 | static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, | 105 | static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, |
@@ -503,7 +503,7 @@ static void sysc_clkdm_allow_idle(struct sysc *ddata) | |||
503 | static int sysc_init_resets(struct sysc *ddata) | 503 | static int sysc_init_resets(struct sysc *ddata) |
504 | { | 504 | { |
505 | ddata->rsts = | 505 | ddata->rsts = |
506 | devm_reset_control_get_optional(ddata->dev, "rstctrl"); | 506 | devm_reset_control_get_optional_shared(ddata->dev, "rstctrl"); |
507 | if (IS_ERR(ddata->rsts)) | 507 | if (IS_ERR(ddata->rsts)) |
508 | return PTR_ERR(ddata->rsts); | 508 | return PTR_ERR(ddata->rsts); |
509 | 509 | ||
@@ -615,8 +615,8 @@ static void sysc_check_quirk_stdout(struct sysc *ddata, | |||
615 | * node but children have "ti,hwmods". These belong to the interconnect | 615 | * node but children have "ti,hwmods". These belong to the interconnect |
616 | * target node and are managed by this driver. | 616 | * target node and are managed by this driver. |
617 | */ | 617 | */ |
618 | static int sysc_check_one_child(struct sysc *ddata, | 618 | static void sysc_check_one_child(struct sysc *ddata, |
619 | struct device_node *np) | 619 | struct device_node *np) |
620 | { | 620 | { |
621 | const char *name; | 621 | const char *name; |
622 | 622 | ||
@@ -626,22 +626,14 @@ static int sysc_check_one_child(struct sysc *ddata, | |||
626 | 626 | ||
627 | sysc_check_quirk_stdout(ddata, np); | 627 | sysc_check_quirk_stdout(ddata, np); |
628 | sysc_parse_dts_quirks(ddata, np, true); | 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 | struct device_node *child; | 633 | struct device_node *child; |
636 | int error; | ||
637 | |||
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 | 634 | ||
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 | /* |
@@ -794,9 +786,7 @@ static int sysc_map_and_check_registers(struct sysc *ddata) | |||
794 | if (error) | 786 | if (error) |
795 | return error; | 787 | return error; |
796 | 788 | ||
797 | error = sysc_check_children(ddata); | 789 | sysc_check_children(ddata); |
798 | if (error) | ||
799 | return error; | ||
800 | 790 | ||
801 | error = sysc_parse_registers(ddata); | 791 | error = sysc_parse_registers(ddata); |
802 | if (error) | 792 | if (error) |
@@ -940,6 +930,9 @@ set_autoidle: | |||
940 | sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); | 930 | sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); |
941 | } | 931 | } |
942 | 932 | ||
933 | if (ddata->module_enable_quirk) | ||
934 | ddata->module_enable_quirk(ddata); | ||
935 | |||
943 | return 0; | 936 | return 0; |
944 | } | 937 | } |
945 | 938 | ||
@@ -1031,8 +1024,7 @@ static int __maybe_unused sysc_runtime_suspend_legacy(struct device *dev, | |||
1031 | dev_err(dev, "%s: could not idle: %i\n", | 1024 | dev_err(dev, "%s: could not idle: %i\n", |
1032 | __func__, error); | 1025 | __func__, error); |
1033 | 1026 | ||
1034 | if (ddata->disable_on_idle) | 1027 | reset_control_assert(ddata->rsts); |
1035 | reset_control_assert(ddata->rsts); | ||
1036 | 1028 | ||
1037 | return 0; | 1029 | return 0; |
1038 | } | 1030 | } |
@@ -1043,8 +1035,7 @@ static int __maybe_unused sysc_runtime_resume_legacy(struct device *dev, | |||
1043 | struct ti_sysc_platform_data *pdata; | 1035 | struct ti_sysc_platform_data *pdata; |
1044 | int error; | 1036 | int error; |
1045 | 1037 | ||
1046 | if (ddata->disable_on_idle) | 1038 | reset_control_deassert(ddata->rsts); |
1047 | reset_control_deassert(ddata->rsts); | ||
1048 | 1039 | ||
1049 | pdata = dev_get_platdata(ddata->dev); | 1040 | pdata = dev_get_platdata(ddata->dev); |
1050 | if (!pdata) | 1041 | if (!pdata) |
@@ -1091,10 +1082,9 @@ static int __maybe_unused sysc_runtime_suspend(struct device *dev) | |||
1091 | ddata->enabled = false; | 1082 | ddata->enabled = false; |
1092 | 1083 | ||
1093 | err_allow_idle: | 1084 | err_allow_idle: |
1094 | sysc_clkdm_allow_idle(ddata); | 1085 | reset_control_assert(ddata->rsts); |
1095 | 1086 | ||
1096 | if (ddata->disable_on_idle) | 1087 | sysc_clkdm_allow_idle(ddata); |
1097 | reset_control_assert(ddata->rsts); | ||
1098 | 1088 | ||
1099 | return error; | 1089 | return error; |
1100 | } | 1090 | } |
@@ -1109,11 +1099,11 @@ static int __maybe_unused sysc_runtime_resume(struct device *dev) | |||
1109 | if (ddata->enabled) | 1099 | if (ddata->enabled) |
1110 | return 0; | 1100 | return 0; |
1111 | 1101 | ||
1112 | if (ddata->disable_on_idle) | ||
1113 | reset_control_deassert(ddata->rsts); | ||
1114 | 1102 | ||
1115 | sysc_clkdm_deny_idle(ddata); | 1103 | sysc_clkdm_deny_idle(ddata); |
1116 | 1104 | ||
1105 | reset_control_deassert(ddata->rsts); | ||
1106 | |||
1117 | if (sysc_opt_clks_needed(ddata)) { | 1107 | if (sysc_opt_clks_needed(ddata)) { |
1118 | error = sysc_enable_opt_clocks(ddata); | 1108 | error = sysc_enable_opt_clocks(ddata); |
1119 | if (error) | 1109 | if (error) |
@@ -1256,6 +1246,9 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = { | |||
1256 | SYSC_MODULE_QUIRK_I2C), | 1246 | SYSC_MODULE_QUIRK_I2C), |
1257 | SYSC_QUIRK("i2c", 0, 0, 0x10, 0x90, 0x5040000a, 0xfffff0f0, | 1247 | SYSC_QUIRK("i2c", 0, 0, 0x10, 0x90, 0x5040000a, 0xfffff0f0, |
1258 | SYSC_MODULE_QUIRK_I2C), | 1248 | SYSC_MODULE_QUIRK_I2C), |
1249 | SYSC_QUIRK("gpu", 0x50000000, 0x14, -1, -1, 0x00010201, 0xffffffff, 0), | ||
1250 | SYSC_QUIRK("gpu", 0x50000000, 0xfe00, 0xfe10, -1, 0x40000000 , 0xffffffff, | ||
1251 | SYSC_MODULE_QUIRK_SGX), | ||
1259 | SYSC_QUIRK("wdt", 0, 0, 0x10, 0x14, 0x502a0500, 0xfffff0f0, | 1252 | SYSC_QUIRK("wdt", 0, 0, 0x10, 0x14, 0x502a0500, 0xfffff0f0, |
1260 | SYSC_MODULE_QUIRK_WDT), | 1253 | SYSC_MODULE_QUIRK_WDT), |
1261 | 1254 | ||
@@ -1271,8 +1264,11 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = { | |||
1271 | SYSC_QUIRK("dcan", 0, 0x20, -1, -1, 0x4edb1902, 0xffffffff, 0), | 1264 | SYSC_QUIRK("dcan", 0, 0x20, -1, -1, 0x4edb1902, 0xffffffff, 0), |
1272 | SYSC_QUIRK("dmic", 0, 0, 0x10, -1, 0x50010000, 0xffffffff, 0), | 1265 | SYSC_QUIRK("dmic", 0, 0, 0x10, -1, 0x50010000, 0xffffffff, 0), |
1273 | SYSC_QUIRK("dwc3", 0, 0, 0x10, -1, 0x500a0200, 0xffffffff, 0), | 1266 | SYSC_QUIRK("dwc3", 0, 0, 0x10, -1, 0x500a0200, 0xffffffff, 0), |
1267 | SYSC_QUIRK("d2d", 0x4a0b6000, 0, 0x10, 0x14, 0x00000010, 0xffffffff, 0), | ||
1268 | SYSC_QUIRK("d2d", 0x4a0cd000, 0, 0x10, 0x14, 0x00000010, 0xffffffff, 0), | ||
1274 | SYSC_QUIRK("epwmss", 0, 0, 0x4, -1, 0x47400001, 0xffffffff, 0), | 1269 | SYSC_QUIRK("epwmss", 0, 0, 0x4, -1, 0x47400001, 0xffffffff, 0), |
1275 | SYSC_QUIRK("gpu", 0, 0x1fc00, 0x1fc10, -1, 0, 0, 0), | 1270 | SYSC_QUIRK("gpu", 0, 0x1fc00, 0x1fc10, -1, 0, 0, 0), |
1271 | SYSC_QUIRK("gpu", 0, 0xfe00, 0xfe10, -1, 0x40000000 , 0xffffffff, 0), | ||
1276 | SYSC_QUIRK("hsi", 0, 0, 0x10, 0x14, 0x50043101, 0xffffffff, 0), | 1272 | SYSC_QUIRK("hsi", 0, 0, 0x10, 0x14, 0x50043101, 0xffffffff, 0), |
1277 | SYSC_QUIRK("iss", 0, 0, 0x10, -1, 0x40000101, 0xffffffff, 0), | 1273 | SYSC_QUIRK("iss", 0, 0, 0x10, -1, 0x40000101, 0xffffffff, 0), |
1278 | SYSC_QUIRK("lcdc", 0, 0, 0x54, -1, 0x4f201000, 0xffffffff, 0), | 1274 | SYSC_QUIRK("lcdc", 0, 0, 0x54, -1, 0x4f201000, 0xffffffff, 0), |
@@ -1424,6 +1420,15 @@ static void sysc_clk_disable_quirk_i2c(struct sysc *ddata) | |||
1424 | sysc_clk_quirk_i2c(ddata, false); | 1420 | sysc_clk_quirk_i2c(ddata, false); |
1425 | } | 1421 | } |
1426 | 1422 | ||
1423 | /* 36xx SGX needs a quirk for to bypass OCP IPG interrupt logic */ | ||
1424 | static void sysc_module_enable_quirk_sgx(struct sysc *ddata) | ||
1425 | { | ||
1426 | int offset = 0xff08; /* OCP_DEBUG_CONFIG */ | ||
1427 | u32 val = BIT(31); /* THALIA_INT_BYPASS */ | ||
1428 | |||
1429 | sysc_write(ddata, offset, val); | ||
1430 | } | ||
1431 | |||
1427 | /* Watchdog timer needs a disable sequence after reset */ | 1432 | /* Watchdog timer needs a disable sequence after reset */ |
1428 | static void sysc_reset_done_quirk_wdt(struct sysc *ddata) | 1433 | static void sysc_reset_done_quirk_wdt(struct sysc *ddata) |
1429 | { | 1434 | { |
@@ -1466,6 +1471,9 @@ static void sysc_init_module_quirks(struct sysc *ddata) | |||
1466 | return; | 1471 | return; |
1467 | } | 1472 | } |
1468 | 1473 | ||
1474 | if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_SGX) | ||
1475 | ddata->module_enable_quirk = sysc_module_enable_quirk_sgx; | ||
1476 | |||
1469 | if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_WDT) | 1477 | if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_WDT) |
1470 | ddata->reset_done_quirk = sysc_reset_done_quirk_wdt; | 1478 | ddata->reset_done_quirk = sysc_reset_done_quirk_wdt; |
1471 | } | 1479 | } |
@@ -1532,7 +1540,7 @@ static int sysc_legacy_init(struct sysc *ddata) | |||
1532 | */ | 1540 | */ |
1533 | static int sysc_rstctrl_reset_deassert(struct sysc *ddata, bool reset) | 1541 | static int sysc_rstctrl_reset_deassert(struct sysc *ddata, bool reset) |
1534 | { | 1542 | { |
1535 | int error, val; | 1543 | int error; |
1536 | 1544 | ||
1537 | if (!ddata->rsts) | 1545 | if (!ddata->rsts) |
1538 | return 0; | 1546 | return 0; |
@@ -1543,14 +1551,9 @@ static int sysc_rstctrl_reset_deassert(struct sysc *ddata, bool reset) | |||
1543 | return error; | 1551 | return error; |
1544 | } | 1552 | } |
1545 | 1553 | ||
1546 | error = reset_control_deassert(ddata->rsts); | 1554 | reset_control_deassert(ddata->rsts); |
1547 | if (error == -EEXIST) | ||
1548 | return 0; | ||
1549 | 1555 | ||
1550 | error = readx_poll_timeout(reset_control_status, ddata->rsts, val, | 1556 | return 0; |
1551 | val == 0, 100, MAX_MODULE_SOFTRESET_WAIT); | ||
1552 | |||
1553 | return error; | ||
1554 | } | 1557 | } |
1555 | 1558 | ||
1556 | /* | 1559 | /* |
@@ -1559,12 +1562,11 @@ static int sysc_rstctrl_reset_deassert(struct sysc *ddata, bool reset) | |||
1559 | */ | 1562 | */ |
1560 | static int sysc_reset(struct sysc *ddata) | 1563 | static int sysc_reset(struct sysc *ddata) |
1561 | { | 1564 | { |
1562 | int sysc_offset, syss_offset, sysc_val, rstval, quirks, error = 0; | 1565 | int sysc_offset, syss_offset, sysc_val, rstval, error = 0; |
1563 | u32 sysc_mask, syss_done; | 1566 | u32 sysc_mask, syss_done; |
1564 | 1567 | ||
1565 | sysc_offset = ddata->offsets[SYSC_SYSCONFIG]; | 1568 | sysc_offset = ddata->offsets[SYSC_SYSCONFIG]; |
1566 | syss_offset = ddata->offsets[SYSC_SYSSTATUS]; | 1569 | syss_offset = ddata->offsets[SYSC_SYSSTATUS]; |
1567 | quirks = ddata->cfg.quirks; | ||
1568 | 1570 | ||
1569 | if (ddata->legacy_mode || sysc_offset < 0 || | 1571 | if (ddata->legacy_mode || sysc_offset < 0 || |
1570 | ddata->cap->regbits->srst_shift < 0 || | 1572 | ddata->cap->regbits->srst_shift < 0 || |
@@ -2427,6 +2429,10 @@ static int sysc_probe(struct platform_device *pdev) | |||
2427 | goto unprepare; | 2429 | goto unprepare; |
2428 | } | 2430 | } |
2429 | 2431 | ||
2432 | /* Balance reset counts */ | ||
2433 | if (ddata->rsts) | ||
2434 | reset_control_assert(ddata->rsts); | ||
2435 | |||
2430 | sysc_show_registers(ddata); | 2436 | sysc_show_registers(ddata); |
2431 | 2437 | ||
2432 | ddata->dev->type = &sysc_device_type; | 2438 | ddata->dev->type = &sysc_device_type; |
@@ -2446,9 +2452,6 @@ static int sysc_probe(struct platform_device *pdev) | |||
2446 | pm_runtime_put(&pdev->dev); | 2452 | pm_runtime_put(&pdev->dev); |
2447 | } | 2453 | } |
2448 | 2454 | ||
2449 | if (!of_get_available_child_count(ddata->dev->of_node)) | ||
2450 | ddata->disable_on_idle = true; | ||
2451 | |||
2452 | return 0; | 2455 | return 0; |
2453 | 2456 | ||
2454 | err: | 2457 | err: |
diff --git a/drivers/clk/ti/clk-54xx.c b/drivers/clk/ti/clk-54xx.c index dafef7e70ba8..e675e27f1203 100644 --- a/drivers/clk/ti/clk-54xx.c +++ b/drivers/clk/ti/clk-54xx.c | |||
@@ -314,6 +314,39 @@ static const struct omap_clkctrl_reg_data omap5_dss_clkctrl_regs[] __initconst = | |||
314 | { 0 }, | 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 | static const char * const omap5_mmc1_fclk_mux_parents[] __initconst = { | 350 | static const char * const omap5_mmc1_fclk_mux_parents[] __initconst = { |
318 | "func_128m_clk", | 351 | "func_128m_clk", |
319 | "dpll_per_m2x2_ck", | 352 | "dpll_per_m2x2_ck", |
@@ -470,6 +503,7 @@ const struct omap_clkctrl_data omap5_clkctrl_data[] __initconst = { | |||
470 | { 0x4a008e20, omap5_l3instr_clkctrl_regs }, | 503 | { 0x4a008e20, omap5_l3instr_clkctrl_regs }, |
471 | { 0x4a009020, omap5_l4per_clkctrl_regs }, | 504 | { 0x4a009020, omap5_l4per_clkctrl_regs }, |
472 | { 0x4a009420, omap5_dss_clkctrl_regs }, | 505 | { 0x4a009420, omap5_dss_clkctrl_regs }, |
506 | { 0x4a009520, omap5_gpu_clkctrl_regs }, | ||
473 | { 0x4a009620, omap5_l3init_clkctrl_regs }, | 507 | { 0x4a009620, omap5_l3init_clkctrl_regs }, |
474 | { 0x4ae07920, omap5_wkupaon_clkctrl_regs }, | 508 | { 0x4ae07920, omap5_wkupaon_clkctrl_regs }, |
475 | { 0 }, | 509 | { 0 }, |
diff --git a/include/dt-bindings/bus/ti-sysc.h b/include/dt-bindings/bus/ti-sysc.h index 7138384e2ef9..babd08a1d226 100644 --- a/include/dt-bindings/bus/ti-sysc.h +++ b/include/dt-bindings/bus/ti-sysc.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
1 | /* TI sysc interconnect target module defines */ | 2 | /* TI sysc interconnect target module defines */ |
2 | 3 | ||
3 | /* Generic sysc found on omap2 and later, also known as type1 */ | 4 | /* Generic sysc found on omap2 and later, also known as type1 */ |
diff --git a/include/dt-bindings/clock/omap5.h b/include/dt-bindings/clock/omap5.h index f3283957f48d..e5411938983c 100644 --- a/include/dt-bindings/clock/omap5.h +++ b/include/dt-bindings/clock/omap5.h | |||
@@ -89,6 +89,9 @@ | |||
89 | /* dss clocks */ | 89 | /* dss clocks */ |
90 | #define OMAP5_DSS_CORE_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | 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 | /* l3init clocks */ | 95 | /* l3init clocks */ |
93 | #define OMAP5_MMC1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x28) | 96 | #define OMAP5_MMC1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x28) |
94 | #define OMAP5_MMC2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) | 97 | #define OMAP5_MMC2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) |
diff --git a/include/dt-bindings/pinctrl/k3.h b/include/dt-bindings/pinctrl/k3.h index 45e11b6170ca..499de6216581 100644 --- a/include/dt-bindings/pinctrl/k3.h +++ b/include/dt-bindings/pinctrl/k3.h | |||
@@ -32,4 +32,7 @@ | |||
32 | #define AM65X_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) | 32 | #define AM65X_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) |
33 | #define AM65X_WKUP_IOPAD(pa, val, muxmode) (((pa) & 0x1fff)) ((val) | (muxmode)) | 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 | #endif | 38 | #endif |
diff --git a/include/linux/platform_data/ti-sysc.h b/include/linux/platform_data/ti-sysc.h index 0c587d4fc718..b5b7a3423ca8 100644 --- a/include/linux/platform_data/ti-sysc.h +++ b/include/linux/platform_data/ti-sysc.h | |||
@@ -1,3 +1,5 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | |||
1 | #ifndef __TI_SYSC_DATA_H__ | 3 | #ifndef __TI_SYSC_DATA_H__ |
2 | #define __TI_SYSC_DATA_H__ | 4 | #define __TI_SYSC_DATA_H__ |
3 | 5 | ||
@@ -47,6 +49,7 @@ struct sysc_regbits { | |||
47 | s8 emufree_shift; | 49 | s8 emufree_shift; |
48 | }; | 50 | }; |
49 | 51 | ||
52 | #define SYSC_MODULE_QUIRK_SGX BIT(18) | ||
50 | #define SYSC_MODULE_QUIRK_HDQ1W BIT(17) | 53 | #define SYSC_MODULE_QUIRK_HDQ1W BIT(17) |
51 | #define SYSC_MODULE_QUIRK_I2C BIT(16) | 54 | #define SYSC_MODULE_QUIRK_I2C BIT(16) |
52 | #define SYSC_MODULE_QUIRK_WDT BIT(15) | 55 | #define SYSC_MODULE_QUIRK_WDT BIT(15) |
@@ -70,7 +73,7 @@ struct sysc_regbits { | |||
70 | 73 | ||
71 | /** | 74 | /** |
72 | * struct sysc_capabilities - capabilities for an interconnect target module | 75 | * struct sysc_capabilities - capabilities for an interconnect target module |
73 | * | 76 | * @type: sysc type identifier for the module |
74 | * @sysc_mask: bitmask of supported SYSCONFIG register bits | 77 | * @sysc_mask: bitmask of supported SYSCONFIG register bits |
75 | * @regbits: bitmask of SYSCONFIG register bits | 78 | * @regbits: bitmask of SYSCONFIG register bits |
76 | * @mod_quirks: bitmask of module specific quirks | 79 | * @mod_quirks: bitmask of module specific quirks |
@@ -85,8 +88,9 @@ struct sysc_capabilities { | |||
85 | /** | 88 | /** |
86 | * struct sysc_config - configuration for an interconnect target module | 89 | * struct sysc_config - configuration for an interconnect target module |
87 | * @sysc_val: configured value for sysc register | 90 | * @sysc_val: configured value for sysc register |
91 | * @syss_mask: configured mask value for SYSSTATUS register | ||
88 | * @midlemodes: bitmask of supported master idle modes | 92 | * @midlemodes: bitmask of supported master idle modes |
89 | * @sidlemodes: bitmask of supported master idle modes | 93 | * @sidlemodes: bitmask of supported slave idle modes |
90 | * @srst_udelay: optional delay needed after OCP soft reset | 94 | * @srst_udelay: optional delay needed after OCP soft reset |
91 | * @quirks: bitmask of enabled quirks | 95 | * @quirks: bitmask of enabled quirks |
92 | */ | 96 | */ |