diff options
author | Olof Johansson <olof@lixom.net> | 2014-07-19 15:12:57 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2014-07-19 15:12:57 -0400 |
commit | 1409f3fd5bdb548b0e11a109baa1087680b60c5a (patch) | |
tree | 6f02880dba9f40de619e076a9370f31b181f662b | |
parent | f097748f39411a5c41b5c6de664995b37334bf55 (diff) | |
parent | 69603fbbc4798e8d02cb822edf5dce3f8a625427 (diff) |
Merge tag 'imx-dt-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt
Merge "ARM: imx: device tree updates for 3.17" from Shawn Guo:
The i.MX device tree updates for 3.17:
- Add device tree sources and pin function header for i.MX6SX SoC
- Initial imx6sx-sdb board support with FEC, MMC, USB, PMIC, Audio
and GPIO key enabled
- New board support: mbimxsd25 and mbimxsd27 from Eukrea, aristainetos
imx6dl boards, Rex Pro and Basic, Ka-Ro TX6
- Restructure imx6qdl-wandboard.dtsi for new rev C1 board
- Split M28EVK and M53EVK into SoM and EVK parts
- A few correction around SDMA, SSI and SATA device nodes
- Add eSATA support for Cubox-i board
- Updates on edmqmx6 to enable PCIe, I2C and CAN
- Use DT macro for clock ID for imx27 and imx6qdl
- Add FlexCAN support for VF610 SoC
* tag 'imx-dt-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (125 commits)
ARM: dts: vf610: add FlexCAN node
ARM: dts: add initial Rex Basic board support
ARM: dts: add initial Rex Pro board support
ARM: dts: mx5: Split M53EVK into SoM and EVK parts
ARM: dts: imx6: RIoTboard explicitly define pad settings
ARM: dts: vf610: fix length of eshdc1 register property
ARM: dts: Restructure imx6qdl-wandboard.dtsi for new rev C1 board.
ARM: dts: imx53: correct clock-names of SATA node
ARM: imx6: Align ssi nodes between mx6 variants
ARM: i.MX27 clk: dts: Use clock defines in DTS files
ARM: dts: imx: correct sdma compatbile for imx6sl and imx6sx
ARM: dts: imx6sx-sdb: Add audio support
ARM: dts: imx6sx: Pass the fsl,fifo-depth property
ARM: dts: imx6sx: Fix sdma node
ARM: dts: imx6: edmqmx6: Add can bus
ARM: dts: imx6: edmqmx6: Add two other i2c buses
ARM: dts: imx6: edmqmx6: Add PCIe support
ARM: dts: imx25-pdk: Add USB OTG support
ARM: dts: i.MX53: add aipstz nodes
ARM: dts: mxs: Split M28EVK into SoM and EVK parts
...
Signed-off-by: Olof Johansson <olof@lixom.net>
189 files changed, 9498 insertions, 5052 deletions
diff --git a/Documentation/devicetree/bindings/clock/imx1-clock.txt b/Documentation/devicetree/bindings/clock/imx1-clock.txt new file mode 100644 index 000000000000..b7adf4e3ea98 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx1-clock.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | * Clock bindings for Freescale i.MX1 CPUs | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx1-ccm". | ||
5 | - reg: Address and length of the register set. | ||
6 | - #clock-cells: Should be <1>. | ||
7 | |||
8 | The clock consumer should specify the desired clock by having the clock | ||
9 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx1-clock.h | ||
10 | for the full list of i.MX1 clock IDs. | ||
11 | |||
12 | Examples: | ||
13 | clks: ccm@0021b000 { | ||
14 | #clock-cells = <1>; | ||
15 | compatible = "fsl,imx1-ccm"; | ||
16 | reg = <0x0021b000 0x1000>; | ||
17 | }; | ||
18 | |||
19 | pwm: pwm@00208000 { | ||
20 | #pwm-cells = <2>; | ||
21 | compatible = "fsl,imx1-pwm"; | ||
22 | reg = <0x00208000 0x1000>; | ||
23 | interrupts = <34>; | ||
24 | clocks = <&clks IMX1_CLK_DUMMY>, <&clks IMX1_CLK_PER1>; | ||
25 | clock-names = "ipg", "per"; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx21-clock.txt b/Documentation/devicetree/bindings/clock/imx21-clock.txt new file mode 100644 index 000000000000..c3b0db437c48 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx21-clock.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | * Clock bindings for Freescale i.MX21 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "fsl,imx21-ccm". | ||
5 | - reg : Address and length of the register set. | ||
6 | - interrupts : Should contain CCM interrupt. | ||
7 | - #clock-cells: Should be <1>. | ||
8 | |||
9 | The clock consumer should specify the desired clock by having the clock | ||
10 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx21-clock.h | ||
11 | for the full list of i.MX21 clock IDs. | ||
12 | |||
13 | Examples: | ||
14 | clks: ccm@10027000{ | ||
15 | compatible = "fsl,imx21-ccm"; | ||
16 | reg = <0x10027000 0x800>; | ||
17 | #clock-cells = <1>; | ||
18 | }; | ||
19 | |||
20 | uart1: serial@1000a000 { | ||
21 | compatible = "fsl,imx21-uart"; | ||
22 | reg = <0x1000a000 0x1000>; | ||
23 | interrupts = <20>; | ||
24 | clocks = <&clks IMX21_CLK_UART1_IPG_GATE>, | ||
25 | <&clks IMX21_CLK_PER1>; | ||
26 | clock-names = "ipg", "per"; | ||
27 | status = "disabled"; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx27-clock.txt b/Documentation/devicetree/bindings/clock/imx27-clock.txt index 6bc9fd2c6631..cc05de9ec393 100644 --- a/Documentation/devicetree/bindings/clock/imx27-clock.txt +++ b/Documentation/devicetree/bindings/clock/imx27-clock.txt | |||
@@ -7,117 +7,22 @@ Required properties: | |||
7 | - #clock-cells: Should be <1> | 7 | - #clock-cells: Should be <1> |
8 | 8 | ||
9 | The clock consumer should specify the desired clock by having the clock | 9 | The clock consumer should specify the desired clock by having the clock |
10 | ID in its "clocks" phandle cell. The following is a full list of i.MX27 | 10 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx27-clock.h |
11 | clocks and IDs. | 11 | for the full list of i.MX27 clock IDs. |
12 | |||
13 | Clock ID | ||
14 | ----------------------- | ||
15 | dummy 0 | ||
16 | ckih 1 | ||
17 | ckil 2 | ||
18 | mpll 3 | ||
19 | spll 4 | ||
20 | mpll_main2 5 | ||
21 | ahb 6 | ||
22 | ipg 7 | ||
23 | nfc_div 8 | ||
24 | per1_div 9 | ||
25 | per2_div 10 | ||
26 | per3_div 11 | ||
27 | per4_div 12 | ||
28 | vpu_sel 13 | ||
29 | vpu_div 14 | ||
30 | usb_div 15 | ||
31 | cpu_sel 16 | ||
32 | clko_sel 17 | ||
33 | cpu_div 18 | ||
34 | clko_div 19 | ||
35 | ssi1_sel 20 | ||
36 | ssi2_sel 21 | ||
37 | ssi1_div 22 | ||
38 | ssi2_div 23 | ||
39 | clko_en 24 | ||
40 | ssi2_ipg_gate 25 | ||
41 | ssi1_ipg_gate 26 | ||
42 | slcdc_ipg_gate 27 | ||
43 | sdhc3_ipg_gate 28 | ||
44 | sdhc2_ipg_gate 29 | ||
45 | sdhc1_ipg_gate 30 | ||
46 | scc_ipg_gate 31 | ||
47 | sahara_ipg_gate 32 | ||
48 | rtc_ipg_gate 33 | ||
49 | pwm_ipg_gate 34 | ||
50 | owire_ipg_gate 35 | ||
51 | lcdc_ipg_gate 36 | ||
52 | kpp_ipg_gate 37 | ||
53 | iim_ipg_gate 38 | ||
54 | i2c2_ipg_gate 39 | ||
55 | i2c1_ipg_gate 40 | ||
56 | gpt6_ipg_gate 41 | ||
57 | gpt5_ipg_gate 42 | ||
58 | gpt4_ipg_gate 43 | ||
59 | gpt3_ipg_gate 44 | ||
60 | gpt2_ipg_gate 45 | ||
61 | gpt1_ipg_gate 46 | ||
62 | gpio_ipg_gate 47 | ||
63 | fec_ipg_gate 48 | ||
64 | emma_ipg_gate 49 | ||
65 | dma_ipg_gate 50 | ||
66 | cspi3_ipg_gate 51 | ||
67 | cspi2_ipg_gate 52 | ||
68 | cspi1_ipg_gate 53 | ||
69 | nfc_baud_gate 54 | ||
70 | ssi2_baud_gate 55 | ||
71 | ssi1_baud_gate 56 | ||
72 | vpu_baud_gate 57 | ||
73 | per4_gate 58 | ||
74 | per3_gate 59 | ||
75 | per2_gate 60 | ||
76 | per1_gate 61 | ||
77 | usb_ahb_gate 62 | ||
78 | slcdc_ahb_gate 63 | ||
79 | sahara_ahb_gate 64 | ||
80 | lcdc_ahb_gate 65 | ||
81 | vpu_ahb_gate 66 | ||
82 | fec_ahb_gate 67 | ||
83 | emma_ahb_gate 68 | ||
84 | emi_ahb_gate 69 | ||
85 | dma_ahb_gate 70 | ||
86 | csi_ahb_gate 71 | ||
87 | brom_ahb_gate 72 | ||
88 | ata_ahb_gate 73 | ||
89 | wdog_ipg_gate 74 | ||
90 | usb_ipg_gate 75 | ||
91 | uart6_ipg_gate 76 | ||
92 | uart5_ipg_gate 77 | ||
93 | uart4_ipg_gate 78 | ||
94 | uart3_ipg_gate 79 | ||
95 | uart2_ipg_gate 80 | ||
96 | uart1_ipg_gate 81 | ||
97 | ckih_div1p5 82 | ||
98 | fpm 83 | ||
99 | mpll_osc_sel 84 | ||
100 | mpll_sel 85 | ||
101 | spll_gate 86 | ||
102 | mshc_div 87 | ||
103 | rtic_ipg_gate 88 | ||
104 | mshc_ipg_gate 89 | ||
105 | rtic_ahb_gate 90 | ||
106 | mshc_baud_gate 91 | ||
107 | 12 | ||
108 | Examples: | 13 | Examples: |
14 | clks: ccm@10027000{ | ||
15 | compatible = "fsl,imx27-ccm"; | ||
16 | reg = <0x10027000 0x1000>; | ||
17 | #clock-cells = <1>; | ||
18 | }; | ||
109 | 19 | ||
110 | clks: ccm@10027000{ | 20 | uart1: serial@1000a000 { |
111 | compatible = "fsl,imx27-ccm"; | 21 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; |
112 | reg = <0x10027000 0x1000>; | 22 | reg = <0x1000a000 0x1000>; |
113 | #clock-cells = <1>; | 23 | interrupts = <20>; |
114 | }; | 24 | clocks = <&clks IMX27_CLK_UART1_IPG_GATE>, |
115 | 25 | <&clks IMX27_CLK_PER1_GATE>; | |
116 | uart1: serial@1000a000 { | 26 | clock-names = "ipg", "per"; |
117 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; | 27 | status = "disabled"; |
118 | reg = <0x1000a000 0x1000>; | 28 | }; |
119 | interrupts = <20>; | ||
120 | clocks = <&clks 81>, <&clks 61>; | ||
121 | clock-names = "ipg", "per"; | ||
122 | status = "disabled"; | ||
123 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt index 90ec91fe5ce0..9252912a5b0e 100644 --- a/Documentation/devicetree/bindings/clock/imx6q-clock.txt +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.txt | |||
@@ -7,223 +7,13 @@ Required properties: | |||
7 | - #clock-cells: Should be <1> | 7 | - #clock-cells: Should be <1> |
8 | 8 | ||
9 | The clock consumer should specify the desired clock by having the clock | 9 | The clock consumer should specify the desired clock by having the clock |
10 | ID in its "clocks" phandle cell. The following is a full list of i.MX6Q | 10 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx6qdl-clock.h |
11 | clocks and IDs. | 11 | for the full list of i.MX6 Quad and DualLite clock IDs. |
12 | |||
13 | Clock ID | ||
14 | --------------------------- | ||
15 | dummy 0 | ||
16 | ckil 1 | ||
17 | ckih 2 | ||
18 | osc 3 | ||
19 | pll2_pfd0_352m 4 | ||
20 | pll2_pfd1_594m 5 | ||
21 | pll2_pfd2_396m 6 | ||
22 | pll3_pfd0_720m 7 | ||
23 | pll3_pfd1_540m 8 | ||
24 | pll3_pfd2_508m 9 | ||
25 | pll3_pfd3_454m 10 | ||
26 | pll2_198m 11 | ||
27 | pll3_120m 12 | ||
28 | pll3_80m 13 | ||
29 | pll3_60m 14 | ||
30 | twd 15 | ||
31 | step 16 | ||
32 | pll1_sw 17 | ||
33 | periph_pre 18 | ||
34 | periph2_pre 19 | ||
35 | periph_clk2_sel 20 | ||
36 | periph2_clk2_sel 21 | ||
37 | axi_sel 22 | ||
38 | esai_sel 23 | ||
39 | asrc_sel 24 | ||
40 | spdif_sel 25 | ||
41 | gpu2d_axi 26 | ||
42 | gpu3d_axi 27 | ||
43 | gpu2d_core_sel 28 | ||
44 | gpu3d_core_sel 29 | ||
45 | gpu3d_shader_sel 30 | ||
46 | ipu1_sel 31 | ||
47 | ipu2_sel 32 | ||
48 | ldb_di0_sel 33 | ||
49 | ldb_di1_sel 34 | ||
50 | ipu1_di0_pre_sel 35 | ||
51 | ipu1_di1_pre_sel 36 | ||
52 | ipu2_di0_pre_sel 37 | ||
53 | ipu2_di1_pre_sel 38 | ||
54 | ipu1_di0_sel 39 | ||
55 | ipu1_di1_sel 40 | ||
56 | ipu2_di0_sel 41 | ||
57 | ipu2_di1_sel 42 | ||
58 | hsi_tx_sel 43 | ||
59 | pcie_axi_sel 44 | ||
60 | ssi1_sel 45 | ||
61 | ssi2_sel 46 | ||
62 | ssi3_sel 47 | ||
63 | usdhc1_sel 48 | ||
64 | usdhc2_sel 49 | ||
65 | usdhc3_sel 50 | ||
66 | usdhc4_sel 51 | ||
67 | enfc_sel 52 | ||
68 | emi_sel 53 | ||
69 | emi_slow_sel 54 | ||
70 | vdo_axi_sel 55 | ||
71 | vpu_axi_sel 56 | ||
72 | cko1_sel 57 | ||
73 | periph 58 | ||
74 | periph2 59 | ||
75 | periph_clk2 60 | ||
76 | periph2_clk2 61 | ||
77 | ipg 62 | ||
78 | ipg_per 63 | ||
79 | esai_pred 64 | ||
80 | esai_podf 65 | ||
81 | asrc_pred 66 | ||
82 | asrc_podf 67 | ||
83 | spdif_pred 68 | ||
84 | spdif_podf 69 | ||
85 | can_root 70 | ||
86 | ecspi_root 71 | ||
87 | gpu2d_core_podf 72 | ||
88 | gpu3d_core_podf 73 | ||
89 | gpu3d_shader 74 | ||
90 | ipu1_podf 75 | ||
91 | ipu2_podf 76 | ||
92 | ldb_di0_podf 77 | ||
93 | ldb_di1_podf 78 | ||
94 | ipu1_di0_pre 79 | ||
95 | ipu1_di1_pre 80 | ||
96 | ipu2_di0_pre 81 | ||
97 | ipu2_di1_pre 82 | ||
98 | hsi_tx_podf 83 | ||
99 | ssi1_pred 84 | ||
100 | ssi1_podf 85 | ||
101 | ssi2_pred 86 | ||
102 | ssi2_podf 87 | ||
103 | ssi3_pred 88 | ||
104 | ssi3_podf 89 | ||
105 | uart_serial_podf 90 | ||
106 | usdhc1_podf 91 | ||
107 | usdhc2_podf 92 | ||
108 | usdhc3_podf 93 | ||
109 | usdhc4_podf 94 | ||
110 | enfc_pred 95 | ||
111 | enfc_podf 96 | ||
112 | emi_podf 97 | ||
113 | emi_slow_podf 98 | ||
114 | vpu_axi_podf 99 | ||
115 | cko1_podf 100 | ||
116 | axi 101 | ||
117 | mmdc_ch0_axi_podf 102 | ||
118 | mmdc_ch1_axi_podf 103 | ||
119 | arm 104 | ||
120 | ahb 105 | ||
121 | apbh_dma 106 | ||
122 | asrc 107 | ||
123 | can1_ipg 108 | ||
124 | can1_serial 109 | ||
125 | can2_ipg 110 | ||
126 | can2_serial 111 | ||
127 | ecspi1 112 | ||
128 | ecspi2 113 | ||
129 | ecspi3 114 | ||
130 | ecspi4 115 | ||
131 | ecspi5 116 | ||
132 | enet 117 | ||
133 | esai 118 | ||
134 | gpt_ipg 119 | ||
135 | gpt_ipg_per 120 | ||
136 | gpu2d_core 121 | ||
137 | gpu3d_core 122 | ||
138 | hdmi_iahb 123 | ||
139 | hdmi_isfr 124 | ||
140 | i2c1 125 | ||
141 | i2c2 126 | ||
142 | i2c3 127 | ||
143 | iim 128 | ||
144 | enfc 129 | ||
145 | ipu1 130 | ||
146 | ipu1_di0 131 | ||
147 | ipu1_di1 132 | ||
148 | ipu2 133 | ||
149 | ipu2_di0 134 | ||
150 | ldb_di0 135 | ||
151 | ldb_di1 136 | ||
152 | ipu2_di1 137 | ||
153 | hsi_tx 138 | ||
154 | mlb 139 | ||
155 | mmdc_ch0_axi 140 | ||
156 | mmdc_ch1_axi 141 | ||
157 | ocram 142 | ||
158 | openvg_axi 143 | ||
159 | pcie_axi 144 | ||
160 | pwm1 145 | ||
161 | pwm2 146 | ||
162 | pwm3 147 | ||
163 | pwm4 148 | ||
164 | per1_bch 149 | ||
165 | gpmi_bch_apb 150 | ||
166 | gpmi_bch 151 | ||
167 | gpmi_io 152 | ||
168 | gpmi_apb 153 | ||
169 | sata 154 | ||
170 | sdma 155 | ||
171 | spba 156 | ||
172 | ssi1 157 | ||
173 | ssi2 158 | ||
174 | ssi3 159 | ||
175 | uart_ipg 160 | ||
176 | uart_serial 161 | ||
177 | usboh3 162 | ||
178 | usdhc1 163 | ||
179 | usdhc2 164 | ||
180 | usdhc3 165 | ||
181 | usdhc4 166 | ||
182 | vdo_axi 167 | ||
183 | vpu_axi 168 | ||
184 | cko1 169 | ||
185 | pll1_sys 170 | ||
186 | pll2_bus 171 | ||
187 | pll3_usb_otg 172 | ||
188 | pll4_audio 173 | ||
189 | pll5_video 174 | ||
190 | pll8_mlb 175 | ||
191 | pll7_usb_host 176 | ||
192 | pll6_enet 177 | ||
193 | ssi1_ipg 178 | ||
194 | ssi2_ipg 179 | ||
195 | ssi3_ipg 180 | ||
196 | rom 181 | ||
197 | usbphy1 182 | ||
198 | usbphy2 183 | ||
199 | ldb_di0_div_3_5 184 | ||
200 | ldb_di1_div_3_5 185 | ||
201 | sata_ref 186 | ||
202 | sata_ref_100m 187 | ||
203 | pcie_ref 188 | ||
204 | pcie_ref_125m 189 | ||
205 | enet_ref 190 | ||
206 | usbphy1_gate 191 | ||
207 | usbphy2_gate 192 | ||
208 | pll4_post_div 193 | ||
209 | pll5_post_div 194 | ||
210 | pll5_video_div 195 | ||
211 | eim_slow 196 | ||
212 | spdif 197 | ||
213 | cko2_sel 198 | ||
214 | cko2_podf 199 | ||
215 | cko2 200 | ||
216 | cko 201 | ||
217 | vdoa 202 | ||
218 | pll4_audio_div 203 | ||
219 | lvds1_sel 204 | ||
220 | lvds2_sel 205 | ||
221 | lvds1_gate 206 | ||
222 | lvds2_gate 207 | ||
223 | esai_ahb 208 | ||
224 | 12 | ||
225 | Examples: | 13 | Examples: |
226 | 14 | ||
15 | #include <dt-bindings/clock/imx6qdl-clock.h> | ||
16 | |||
227 | clks: ccm@020c4000 { | 17 | clks: ccm@020c4000 { |
228 | compatible = "fsl,imx6q-ccm"; | 18 | compatible = "fsl,imx6q-ccm"; |
229 | reg = <0x020c4000 0x4000>; | 19 | reg = <0x020c4000 0x4000>; |
@@ -235,7 +25,7 @@ uart1: serial@02020000 { | |||
235 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | 25 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; |
236 | reg = <0x02020000 0x4000>; | 26 | reg = <0x02020000 0x4000>; |
237 | interrupts = <0 26 0x04>; | 27 | interrupts = <0 26 0x04>; |
238 | clocks = <&clks 160>, <&clks 161>; | 28 | clocks = <&clks IMX6QDL_CLK_UART_IPG>, <&clks IMX6QDL_CLK_UART_SERIAL>; |
239 | clock-names = "ipg", "per"; | 29 | clock-names = "ipg", "per"; |
240 | status = "disabled"; | 30 | status = "disabled"; |
241 | }; | 31 | }; |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index df4c195f3d4e..fc7f75a323cf 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -157,10 +157,14 @@ dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb | |||
157 | dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb | 157 | dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb |
158 | dtb-$(CONFIG_ARCH_MXC) += \ | 158 | dtb-$(CONFIG_ARCH_MXC) += \ |
159 | imx25-eukrea-mbimxsd25-baseboard.dtb \ | 159 | imx25-eukrea-mbimxsd25-baseboard.dtb \ |
160 | imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dtb \ | ||
161 | imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dtb \ | ||
162 | imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dtb \ | ||
160 | imx25-karo-tx25.dtb \ | 163 | imx25-karo-tx25.dtb \ |
161 | imx25-pdk.dtb \ | 164 | imx25-pdk.dtb \ |
162 | imx27-apf27.dtb \ | 165 | imx27-apf27.dtb \ |
163 | imx27-apf27dev.dtb \ | 166 | imx27-apf27dev.dtb \ |
167 | imx27-eukrea-mbimxsd27-baseboard.dtb \ | ||
164 | imx27-pdk.dtb \ | 168 | imx27-pdk.dtb \ |
165 | imx27-phytec-phycore-rdk.dtb \ | 169 | imx27-phytec-phycore-rdk.dtb \ |
166 | imx27-phytec-phycard-s-rdk.dtb \ | 170 | imx27-phytec-phycard-s-rdk.dtb \ |
@@ -182,6 +186,8 @@ dtb-$(CONFIG_ARCH_MXC) += \ | |||
182 | imx53-tx53-x03x.dtb \ | 186 | imx53-tx53-x03x.dtb \ |
183 | imx53-tx53-x13x.dtb \ | 187 | imx53-tx53-x13x.dtb \ |
184 | imx53-voipac-bsb.dtb \ | 188 | imx53-voipac-bsb.dtb \ |
189 | imx6dl-aristainetos_4.dtb \ | ||
190 | imx6dl-aristainetos_7.dtb \ | ||
185 | imx6dl-cubox-i.dtb \ | 191 | imx6dl-cubox-i.dtb \ |
186 | imx6dl-dfi-fs700-m60.dtb \ | 192 | imx6dl-dfi-fs700-m60.dtb \ |
187 | imx6dl-gw51xx.dtb \ | 193 | imx6dl-gw51xx.dtb \ |
@@ -191,11 +197,16 @@ dtb-$(CONFIG_ARCH_MXC) += \ | |||
191 | imx6dl-hummingboard.dtb \ | 197 | imx6dl-hummingboard.dtb \ |
192 | imx6dl-nitrogen6x.dtb \ | 198 | imx6dl-nitrogen6x.dtb \ |
193 | imx6dl-phytec-pbab01.dtb \ | 199 | imx6dl-phytec-pbab01.dtb \ |
200 | imx6dl-rex-basic.dtb \ | ||
194 | imx6dl-riotboard.dtb \ | 201 | imx6dl-riotboard.dtb \ |
195 | imx6dl-sabreauto.dtb \ | 202 | imx6dl-sabreauto.dtb \ |
196 | imx6dl-sabrelite.dtb \ | 203 | imx6dl-sabrelite.dtb \ |
197 | imx6dl-sabresd.dtb \ | 204 | imx6dl-sabresd.dtb \ |
205 | imx6dl-tx6dl-comtft.dtb \ | ||
206 | imx6dl-tx6u-801x.dtb \ | ||
207 | imx6dl-tx6u-811x.dtb \ | ||
198 | imx6dl-wandboard.dtb \ | 208 | imx6dl-wandboard.dtb \ |
209 | imx6dl-wandboard-revb1.dtb \ | ||
199 | imx6q-arm2.dtb \ | 210 | imx6q-arm2.dtb \ |
200 | imx6q-cm-fx6.dtb \ | 211 | imx6q-cm-fx6.dtb \ |
201 | imx6q-cubox-i.dtb \ | 212 | imx6q-cubox-i.dtb \ |
@@ -209,13 +220,21 @@ dtb-$(CONFIG_ARCH_MXC) += \ | |||
209 | imx6q-gw54xx.dtb \ | 220 | imx6q-gw54xx.dtb \ |
210 | imx6q-nitrogen6x.dtb \ | 221 | imx6q-nitrogen6x.dtb \ |
211 | imx6q-phytec-pbab01.dtb \ | 222 | imx6q-phytec-pbab01.dtb \ |
223 | imx6q-rex-pro.dtb \ | ||
212 | imx6q-sabreauto.dtb \ | 224 | imx6q-sabreauto.dtb \ |
213 | imx6q-sabrelite.dtb \ | 225 | imx6q-sabrelite.dtb \ |
214 | imx6q-sabresd.dtb \ | 226 | imx6q-sabresd.dtb \ |
215 | imx6q-sbc6x.dtb \ | 227 | imx6q-sbc6x.dtb \ |
216 | imx6q-udoo.dtb \ | 228 | imx6q-udoo.dtb \ |
217 | imx6q-wandboard.dtb \ | 229 | imx6q-wandboard.dtb \ |
230 | imx6q-wandboard-revb1.dtb \ | ||
231 | imx6q-tx6q-1010.dtb \ | ||
232 | imx6q-tx6q-1010-comtft.dtb \ | ||
233 | imx6q-tx6q-1020.dtb \ | ||
234 | imx6q-tx6q-1020-comtft.dtb \ | ||
235 | imx6q-tx6q-1110.dtb \ | ||
218 | imx6sl-evk.dtb \ | 236 | imx6sl-evk.dtb \ |
237 | imx6sx-sdb.dtb \ | ||
219 | vf610-colibri.dtb \ | 238 | vf610-colibri.dtb \ |
220 | vf610-cosmic.dtb \ | 239 | vf610-cosmic.dtb \ |
221 | vf610-twr.dtb | 240 | vf610-twr.dtb |
diff --git a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts new file mode 100644 index 000000000000..68d0834a2d1e --- /dev/null +++ b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts | |||
@@ -0,0 +1,73 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Eukréa Electromatique <denis@eukrea.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | #include "imx25-eukrea-mbimxsd25-baseboard.dts" | ||
15 | |||
16 | / { | ||
17 | model = "Eukrea MBIMXSD25 with the CMO-QVGA Display"; | ||
18 | compatible = "eukrea,mbimxsd25-baseboard-cmo-qvga", "eukrea,mbimxsd25-baseboard", "eukrea,cpuimx25", "fsl,imx25"; | ||
19 | |||
20 | cmo_qvga: display { | ||
21 | model = "CMO-QVGA"; | ||
22 | bits-per-pixel = <16>; | ||
23 | fsl,pcr = <0xcad08b80>; | ||
24 | bus-width = <18>; | ||
25 | native-mode = <&qvga_timings>; | ||
26 | display-timings { | ||
27 | qvga_timings: 320x240 { | ||
28 | clock-frequency = <6500000>; | ||
29 | hactive = <320>; | ||
30 | vactive = <240>; | ||
31 | hback-porch = <30>; | ||
32 | hfront-porch = <38>; | ||
33 | vback-porch = <20>; | ||
34 | vfront-porch = <3>; | ||
35 | hsync-len = <15>; | ||
36 | vsync-len = <4>; | ||
37 | }; | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | regulators { | ||
42 | compatible = "simple-bus"; | ||
43 | #address-cells = <1>; | ||
44 | #size-cells = <0>; | ||
45 | |||
46 | reg_lcd_3v3: regulator@0 { | ||
47 | compatible = "regulator-fixed"; | ||
48 | reg = <0>; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_reg_lcd_3v3>; | ||
51 | regulator-name = "lcd-3v3"; | ||
52 | regulator-min-microvolt = <3300000>; | ||
53 | regulator-max-microvolt = <3300000>; | ||
54 | gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>; | ||
55 | enable-active-high; | ||
56 | }; | ||
57 | }; | ||
58 | }; | ||
59 | |||
60 | &iomuxc { | ||
61 | imx25-eukrea-mbimxsd25-baseboard-cmo-qvga { | ||
62 | pinctrl_reg_lcd_3v3: reg_lcd_3v3 { | ||
63 | fsl,pins = <MX25_PAD_PWM__GPIO_1_26 0x80000000>; | ||
64 | }; | ||
65 | }; | ||
66 | }; | ||
67 | |||
68 | &lcdc { | ||
69 | display = <&cmo_qvga>; | ||
70 | fsl,lpccr = <0x00a903ff>; | ||
71 | lcd-supply = <®_lcd_3v3>; | ||
72 | status = "okay"; | ||
73 | }; | ||
diff --git a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts new file mode 100644 index 000000000000..8eee2f65fe00 --- /dev/null +++ b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Eukréa Electromatique <denis@eukrea.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | #include "imx25-eukrea-mbimxsd25-baseboard.dts" | ||
15 | |||
16 | / { | ||
17 | model = "Eukrea MBIMXSD25 with the DVI-SVGA Display"; | ||
18 | compatible = "eukrea,mbimxsd25-baseboard-dvi-svga", "eukrea,mbimxsd25-baseboard", "eukrea,cpuimx25", "fsl,imx25"; | ||
19 | |||
20 | dvi_svga: display { | ||
21 | model = "DVI-SVGA"; | ||
22 | bits-per-pixel = <16>; | ||
23 | fsl,pcr = <0xfa208b80>; | ||
24 | bus-width = <18>; | ||
25 | native-mode = <&dvi_svga_timings>; | ||
26 | display-timings { | ||
27 | dvi_svga_timings: 800x600 { | ||
28 | clock-frequency = <40000000>; | ||
29 | hactive = <800>; | ||
30 | vactive = <600>; | ||
31 | hback-porch = <75>; | ||
32 | hfront-porch = <75>; | ||
33 | vback-porch = <7>; | ||
34 | vfront-porch = <75>; | ||
35 | hsync-len = <7>; | ||
36 | vsync-len = <7>; | ||
37 | }; | ||
38 | }; | ||
39 | }; | ||
40 | }; | ||
41 | |||
42 | &lcdc { | ||
43 | display = <&dvi_svga>; | ||
44 | status = "okay"; | ||
45 | }; | ||
diff --git a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts new file mode 100644 index 000000000000..447da6263169 --- /dev/null +++ b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Eukréa Electromatique <denis@eukrea.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | #include "imx25-eukrea-mbimxsd25-baseboard.dts" | ||
15 | |||
16 | / { | ||
17 | model = "Eukrea MBIMXSD25 with the DVI-VGA Display"; | ||
18 | compatible = "eukrea,mbimxsd25-baseboard-dvi-vga", "eukrea,mbimxsd25-baseboard", "eukrea,cpuimx25", "fsl,imx25"; | ||
19 | |||
20 | dvi_vga: display { | ||
21 | model = "DVI-VGA"; | ||
22 | bits-per-pixel = <16>; | ||
23 | fsl,pcr = <0xfa208b80>; | ||
24 | bus-width = <18>; | ||
25 | native-mode = <&dvi_vga_timings>; | ||
26 | display-timings { | ||
27 | dvi_vga_timings: 640x480 { | ||
28 | clock-frequency = <31250000>; | ||
29 | hactive = <640>; | ||
30 | vactive = <480>; | ||
31 | hback-porch = <100>; | ||
32 | hfront-porch = <100>; | ||
33 | vback-porch = <7>; | ||
34 | vfront-porch = <100>; | ||
35 | hsync-len = <7>; | ||
36 | vsync-len = <7>; | ||
37 | }; | ||
38 | }; | ||
39 | }; | ||
40 | }; | ||
41 | |||
42 | &lcdc { | ||
43 | display = <&dvi_vga>; | ||
44 | status = "okay"; | ||
45 | }; | ||
diff --git a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts index ad12da38fc92..ed1d0b4578ef 100644 --- a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts +++ b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts | |||
@@ -155,7 +155,6 @@ | |||
155 | 155 | ||
156 | &ssi1 { | 156 | &ssi1 { |
157 | codec-handle = <&tlv320aic23>; | 157 | codec-handle = <&tlv320aic23>; |
158 | fsl,mode = "i2s-slave"; | ||
159 | status = "okay"; | 158 | status = "okay"; |
160 | }; | 159 | }; |
161 | 160 | ||
diff --git a/arch/arm/boot/dts/imx25-pdk.dts b/arch/arm/boot/dts/imx25-pdk.dts index c608942b8a3b..9c21b1583762 100644 --- a/arch/arm/boot/dts/imx25-pdk.dts +++ b/arch/arm/boot/dts/imx25-pdk.dts | |||
@@ -233,7 +233,6 @@ | |||
233 | 233 | ||
234 | &ssi1 { | 234 | &ssi1 { |
235 | codec-handle = <&codec>; | 235 | codec-handle = <&codec>; |
236 | fsl,mode = "i2s-slave"; | ||
237 | status = "okay"; | 236 | status = "okay"; |
238 | }; | 237 | }; |
239 | 238 | ||
@@ -249,3 +248,10 @@ | |||
249 | dr_mode = "host"; | 248 | dr_mode = "host"; |
250 | status = "okay"; | 249 | status = "okay"; |
251 | }; | 250 | }; |
251 | |||
252 | &usbotg { | ||
253 | phy_type = "utmi"; | ||
254 | dr_mode = "otg"; | ||
255 | external-vbus-divider; | ||
256 | status = "okay"; | ||
257 | }; | ||
diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi index bb74d9582b7e..c1740396b2c9 100644 --- a/arch/arm/boot/dts/imx25.dtsi +++ b/arch/arm/boot/dts/imx25.dtsi | |||
@@ -312,7 +312,7 @@ | |||
312 | gpt4: timer@53f84000 { | 312 | gpt4: timer@53f84000 { |
313 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | 313 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; |
314 | reg = <0x53f84000 0x4000>; | 314 | reg = <0x53f84000 0x4000>; |
315 | clocks = <&clks 9>, <&clks 45>; | 315 | clocks = <&clks 95>, <&clks 47>; |
316 | clock-names = "ipg", "per"; | 316 | clock-names = "ipg", "per"; |
317 | interrupts = <1>; | 317 | interrupts = <1>; |
318 | }; | 318 | }; |
@@ -320,7 +320,7 @@ | |||
320 | gpt3: timer@53f88000 { | 320 | gpt3: timer@53f88000 { |
321 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | 321 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; |
322 | reg = <0x53f88000 0x4000>; | 322 | reg = <0x53f88000 0x4000>; |
323 | clocks = <&clks 9>, <&clks 47>; | 323 | clocks = <&clks 94>, <&clks 47>; |
324 | clock-names = "ipg", "per"; | 324 | clock-names = "ipg", "per"; |
325 | interrupts = <29>; | 325 | interrupts = <29>; |
326 | }; | 326 | }; |
@@ -328,7 +328,7 @@ | |||
328 | gpt2: timer@53f8c000 { | 328 | gpt2: timer@53f8c000 { |
329 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | 329 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; |
330 | reg = <0x53f8c000 0x4000>; | 330 | reg = <0x53f8c000 0x4000>; |
331 | clocks = <&clks 9>, <&clks 47>; | 331 | clocks = <&clks 93>, <&clks 47>; |
332 | clock-names = "ipg", "per"; | 332 | clock-names = "ipg", "per"; |
333 | interrupts = <53>; | 333 | interrupts = <53>; |
334 | }; | 334 | }; |
@@ -336,7 +336,7 @@ | |||
336 | gpt1: timer@53f90000 { | 336 | gpt1: timer@53f90000 { |
337 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | 337 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; |
338 | reg = <0x53f90000 0x4000>; | 338 | reg = <0x53f90000 0x4000>; |
339 | clocks = <&clks 9>, <&clks 47>; | 339 | clocks = <&clks 92>, <&clks 47>; |
340 | clock-names = "ipg", "per"; | 340 | clock-names = "ipg", "per"; |
341 | interrupts = <54>; | 341 | interrupts = <54>; |
342 | }; | 342 | }; |
diff --git a/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi b/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi new file mode 100644 index 000000000000..e2242638ea0b --- /dev/null +++ b/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi | |||
@@ -0,0 +1,296 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx27.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Eukrea CPUIMX27"; | ||
17 | compatible = "eukrea,cpuimx27", "fsl,imx27"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0xa0000000 0x04000000>; | ||
21 | }; | ||
22 | |||
23 | clocks { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | compatible = "simple-bus"; | ||
27 | |||
28 | clk14745600: clock@0 { | ||
29 | #clock-cells = <0>; | ||
30 | compatible = "fixed-clock"; | ||
31 | clock-frequency = <14745600>; | ||
32 | reg = <0>; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | |||
37 | &fec { | ||
38 | pinctrl-names = "default"; | ||
39 | pinctrl-0 = <&pinctrl_fec>; | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | |||
43 | &i2c1 { | ||
44 | pinctrl-names = "default"; | ||
45 | pinctrl-0 = <&pinctrl_i2c1>; | ||
46 | status = "okay"; | ||
47 | |||
48 | pcf8563@51 { | ||
49 | compatible = "nxp,pcf8563"; | ||
50 | reg = <0x51>; | ||
51 | }; | ||
52 | }; | ||
53 | |||
54 | &nfc { | ||
55 | pinctrl-names = "default"; | ||
56 | pinctrl-0 = <&pinctrl_nfc>; | ||
57 | nand-bus-width = <8>; | ||
58 | nand-ecc-mode = "hw"; | ||
59 | nand-on-flash-bbt; | ||
60 | status = "okay"; | ||
61 | }; | ||
62 | |||
63 | &owire { | ||
64 | pinctrl-names = "default"; | ||
65 | pinctrl-0 = <&pinctrl_owire>; | ||
66 | status = "okay"; | ||
67 | }; | ||
68 | |||
69 | &sdhci2 { | ||
70 | pinctrl-names = "default"; | ||
71 | pinctrl-0 = <&pinctrl_sdhc2>; | ||
72 | bus-width = <4>; | ||
73 | non-removable; | ||
74 | status = "okay"; | ||
75 | }; | ||
76 | |||
77 | &uart4 { | ||
78 | pinctrl-names = "default"; | ||
79 | pinctrl-0 = <&pinctrl_uart4>; | ||
80 | fsl,uart-has-rtscts; | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | |||
84 | &usbh2 { | ||
85 | pinctrl-names = "default"; | ||
86 | pinctrl-0 = <&pinctrl_usbh2>; | ||
87 | dr_mode = "host"; | ||
88 | phy_type = "ulpi"; | ||
89 | disable-over-current; | ||
90 | status = "okay"; | ||
91 | }; | ||
92 | |||
93 | &usbotg { | ||
94 | pinctrl-names = "default"; | ||
95 | pinctrl-0 = <&pinctrl_usbotg>; | ||
96 | dr_mode = "otg"; | ||
97 | phy_type = "ulpi"; | ||
98 | disable-over-current; | ||
99 | status = "okay"; | ||
100 | }; | ||
101 | |||
102 | &weim { | ||
103 | status = "okay"; | ||
104 | |||
105 | nor: nor@0,0 { | ||
106 | #address-cells = <1>; | ||
107 | #size-cells = <1>; | ||
108 | compatible = "cfi-flash"; | ||
109 | reg = <0 0x00000000 0x04000000>; | ||
110 | bank-width = <2>; | ||
111 | linux,mtd-name = "physmap-flash.0"; | ||
112 | fsl,weim-cs-timing = <0x00008f03 0xa0330d01 0x002208c0>; | ||
113 | }; | ||
114 | |||
115 | uart8250@3,200000 { | ||
116 | pinctrl-names = "default"; | ||
117 | pinctrl-0 = <&pinctrl_uart8250_1>; | ||
118 | compatible = "ns8250"; | ||
119 | clocks = <&clk14745600>; | ||
120 | fsl,weim-cs-timing = <0x0000d603 0x0d1d0d01 0x00d20000>; | ||
121 | interrupts = <&gpio2 23 IRQ_TYPE_LEVEL_LOW>; | ||
122 | reg = <3 0x200000 0x1000>; | ||
123 | reg-shift = <1>; | ||
124 | reg-io-width = <1>; | ||
125 | no-loopback-test; | ||
126 | }; | ||
127 | |||
128 | uart8250@3,400000 { | ||
129 | pinctrl-names = "default"; | ||
130 | pinctrl-0 = <&pinctrl_uart8250_2>; | ||
131 | compatible = "ns8250"; | ||
132 | clocks = <&clk14745600>; | ||
133 | fsl,weim-cs-timing = <0x0000d603 0x0d1d0d01 0x00d20000>; | ||
134 | interrupts = <&gpio2 22 IRQ_TYPE_LEVEL_LOW>; | ||
135 | reg = <3 0x400000 0x1000>; | ||
136 | reg-shift = <1>; | ||
137 | reg-io-width = <1>; | ||
138 | no-loopback-test; | ||
139 | }; | ||
140 | |||
141 | uart8250@3,800000 { | ||
142 | pinctrl-names = "default"; | ||
143 | pinctrl-0 = <&pinctrl_uart8250_3>; | ||
144 | compatible = "ns8250"; | ||
145 | clocks = <&clk14745600>; | ||
146 | fsl,weim-cs-timing = <0x0000d603 0x0d1d0d01 0x00d20000>; | ||
147 | interrupts = <&gpio2 27 IRQ_TYPE_LEVEL_LOW>; | ||
148 | reg = <3 0x800000 0x1000>; | ||
149 | reg-shift = <1>; | ||
150 | reg-io-width = <1>; | ||
151 | no-loopback-test; | ||
152 | }; | ||
153 | |||
154 | uart8250@3,1000000 { | ||
155 | pinctrl-names = "default"; | ||
156 | pinctrl-0 = <&pinctrl_uart8250_4>; | ||
157 | compatible = "ns8250"; | ||
158 | clocks = <&clk14745600>; | ||
159 | fsl,weim-cs-timing = <0x0000d603 0x0d1d0d01 0x00d20000>; | ||
160 | interrupts = <&gpio2 30 IRQ_TYPE_LEVEL_LOW>; | ||
161 | reg = <3 0x1000000 0x1000>; | ||
162 | reg-shift = <1>; | ||
163 | reg-io-width = <1>; | ||
164 | no-loopback-test; | ||
165 | }; | ||
166 | }; | ||
167 | |||
168 | &iomuxc { | ||
169 | imx27-eukrea-cpuimx27 { | ||
170 | pinctrl_fec: fecgrp { | ||
171 | fsl,pins = < | ||
172 | MX27_PAD_SD3_CMD__FEC_TXD0 0x0 | ||
173 | MX27_PAD_SD3_CLK__FEC_TXD1 0x0 | ||
174 | MX27_PAD_ATA_DATA0__FEC_TXD2 0x0 | ||
175 | MX27_PAD_ATA_DATA1__FEC_TXD3 0x0 | ||
176 | MX27_PAD_ATA_DATA2__FEC_RX_ER 0x0 | ||
177 | MX27_PAD_ATA_DATA3__FEC_RXD1 0x0 | ||
178 | MX27_PAD_ATA_DATA4__FEC_RXD2 0x0 | ||
179 | MX27_PAD_ATA_DATA5__FEC_RXD3 0x0 | ||
180 | MX27_PAD_ATA_DATA6__FEC_MDIO 0x0 | ||
181 | MX27_PAD_ATA_DATA7__FEC_MDC 0x0 | ||
182 | MX27_PAD_ATA_DATA8__FEC_CRS 0x0 | ||
183 | MX27_PAD_ATA_DATA9__FEC_TX_CLK 0x0 | ||
184 | MX27_PAD_ATA_DATA10__FEC_RXD0 0x0 | ||
185 | MX27_PAD_ATA_DATA11__FEC_RX_DV 0x0 | ||
186 | MX27_PAD_ATA_DATA12__FEC_RX_CLK 0x0 | ||
187 | MX27_PAD_ATA_DATA13__FEC_COL 0x0 | ||
188 | MX27_PAD_ATA_DATA14__FEC_TX_ER 0x0 | ||
189 | MX27_PAD_ATA_DATA15__FEC_TX_EN 0x0 | ||
190 | >; | ||
191 | }; | ||
192 | |||
193 | pinctrl_i2c1: i2c1grp { | ||
194 | fsl,pins = < | ||
195 | MX27_PAD_I2C_DATA__I2C_DATA 0x0 | ||
196 | MX27_PAD_I2C_CLK__I2C_CLK 0x0 | ||
197 | >; | ||
198 | }; | ||
199 | |||
200 | pinctrl_nfc: nfcgrp { | ||
201 | fsl,pins = < | ||
202 | MX27_PAD_NFRB__NFRB 0x0 | ||
203 | MX27_PAD_NFCLE__NFCLE 0x0 | ||
204 | MX27_PAD_NFWP_B__NFWP_B 0x0 | ||
205 | MX27_PAD_NFCE_B__NFCE_B 0x0 | ||
206 | MX27_PAD_NFALE__NFALE 0x0 | ||
207 | MX27_PAD_NFRE_B__NFRE_B 0x0 | ||
208 | MX27_PAD_NFWE_B__NFWE_B 0x0 | ||
209 | >; | ||
210 | }; | ||
211 | |||
212 | pinctrl_owire: owiregrp { | ||
213 | fsl,pins = < | ||
214 | MX27_PAD_RTCK__OWIRE 0x0 | ||
215 | >; | ||
216 | }; | ||
217 | |||
218 | pinctrl_sdhc2: sdhc2grp { | ||
219 | fsl,pins = < | ||
220 | MX27_PAD_SD2_CLK__SD2_CLK 0x0 | ||
221 | MX27_PAD_SD2_CMD__SD2_CMD 0x0 | ||
222 | MX27_PAD_SD2_D0__SD2_D0 0x0 | ||
223 | MX27_PAD_SD2_D1__SD2_D1 0x0 | ||
224 | MX27_PAD_SD2_D2__SD2_D2 0x0 | ||
225 | MX27_PAD_SD2_D3__SD2_D3 0x0 | ||
226 | >; | ||
227 | }; | ||
228 | |||
229 | pinctrl_uart4: uart4grp { | ||
230 | fsl,pins = < | ||
231 | MX27_PAD_USBH1_TXDM__UART4_TXD 0x0 | ||
232 | MX27_PAD_USBH1_RXDP__UART4_RXD 0x0 | ||
233 | MX27_PAD_USBH1_TXDP__UART4_CTS 0x0 | ||
234 | MX27_PAD_USBH1_FS__UART4_RTS 0x0 | ||
235 | >; | ||
236 | }; | ||
237 | |||
238 | pinctrl_uart8250_1: uart82501grp { | ||
239 | fsl,pins = < | ||
240 | MX27_PAD_USB_PWR__GPIO2_23 0x0 | ||
241 | >; | ||
242 | }; | ||
243 | |||
244 | pinctrl_uart8250_2: uart82502grp { | ||
245 | fsl,pins = < | ||
246 | MX27_PAD_USBH1_SUSP__GPIO2_22 0x0 | ||
247 | >; | ||
248 | }; | ||
249 | |||
250 | pinctrl_uart8250_3: uart82503grp { | ||
251 | fsl,pins = < | ||
252 | MX27_PAD_USBH1_OE_B__GPIO2_27 0x0 | ||
253 | >; | ||
254 | }; | ||
255 | |||
256 | pinctrl_uart8250_4: uart82504grp { | ||
257 | fsl,pins = < | ||
258 | MX27_PAD_USBH1_RXDM__GPIO2_30 0x0 | ||
259 | >; | ||
260 | }; | ||
261 | |||
262 | pinctrl_usbh2: usbh2grp { | ||
263 | fsl,pins = < | ||
264 | MX27_PAD_USBH2_CLK__USBH2_CLK 0x0 | ||
265 | MX27_PAD_USBH2_DIR__USBH2_DIR 0x0 | ||
266 | MX27_PAD_USBH2_NXT__USBH2_NXT 0x0 | ||
267 | MX27_PAD_USBH2_STP__USBH2_STP 0x0 | ||
268 | MX27_PAD_CSPI2_SCLK__USBH2_DATA0 0x0 | ||
269 | MX27_PAD_CSPI2_MOSI__USBH2_DATA1 0x0 | ||
270 | MX27_PAD_CSPI2_MISO__USBH2_DATA2 0x0 | ||
271 | MX27_PAD_CSPI2_SS1__USBH2_DATA3 0x0 | ||
272 | MX27_PAD_CSPI2_SS2__USBH2_DATA4 0x0 | ||
273 | MX27_PAD_CSPI1_SS2__USBH2_DATA5 0x0 | ||
274 | MX27_PAD_CSPI2_SS0__USBH2_DATA6 0x0 | ||
275 | MX27_PAD_USBH2_DATA7__USBH2_DATA7 0x0 | ||
276 | >; | ||
277 | }; | ||
278 | |||
279 | pinctrl_usbotg: usbotggrp { | ||
280 | fsl,pins = < | ||
281 | MX27_PAD_USBOTG_CLK__USBOTG_CLK 0x0 | ||
282 | MX27_PAD_USBOTG_DIR__USBOTG_DIR 0x0 | ||
283 | MX27_PAD_USBOTG_NXT__USBOTG_NXT 0x0 | ||
284 | MX27_PAD_USBOTG_STP__USBOTG_STP 0x0 | ||
285 | MX27_PAD_USBOTG_DATA0__USBOTG_DATA0 0x0 | ||
286 | MX27_PAD_USBOTG_DATA1__USBOTG_DATA1 0x0 | ||
287 | MX27_PAD_USBOTG_DATA2__USBOTG_DATA2 0x0 | ||
288 | MX27_PAD_USBOTG_DATA3__USBOTG_DATA3 0x0 | ||
289 | MX27_PAD_USBOTG_DATA4__USBOTG_DATA4 0x0 | ||
290 | MX27_PAD_USBOTG_DATA5__USBOTG_DATA5 0x0 | ||
291 | MX27_PAD_USBOTG_DATA6__USBOTG_DATA6 0x0 | ||
292 | MX27_PAD_USBOTG_DATA7__USBOTG_DATA7 0x0 | ||
293 | >; | ||
294 | }; | ||
295 | }; | ||
296 | }; | ||
diff --git a/arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts b/arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts new file mode 100644 index 000000000000..2ab65fc4c1e1 --- /dev/null +++ b/arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts | |||
@@ -0,0 +1,273 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | #include "imx27-eukrea-cpuimx27.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "Eukrea MBIMXSD27"; | ||
16 | compatible = "eukrea,mbimxsd27-baseboard", "eukrea,cpuimx27", "fsl,imx27"; | ||
17 | |||
18 | display0: CMO-QVGA { | ||
19 | model = "CMO-QVGA"; | ||
20 | native-mode = <&timing0>; | ||
21 | bits-per-pixel = <16>; | ||
22 | fsl,pcr = <0xfad08b80>; | ||
23 | |||
24 | display-timings { | ||
25 | timing0: 320x240 { | ||
26 | clock-frequency = <6500000>; | ||
27 | hactive = <320>; | ||
28 | vactive = <240>; | ||
29 | hback-porch = <20>; | ||
30 | hsync-len = <30>; | ||
31 | hfront-porch = <38>; | ||
32 | vback-porch = <4>; | ||
33 | vsync-len = <3>; | ||
34 | vfront-porch = <15>; | ||
35 | }; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | backlight { | ||
40 | compatible = "gpio-backlight"; | ||
41 | pinctrl-names = "default"; | ||
42 | pinctrl-0 = <&pinctrl_backlight>; | ||
43 | gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; | ||
44 | }; | ||
45 | |||
46 | leds { | ||
47 | compatible = "gpio-leds"; | ||
48 | pinctrl-names = "default"; | ||
49 | pinctrl-0 = <&pinctrl_gpioleds>; | ||
50 | |||
51 | led1 { | ||
52 | label = "system::live"; | ||
53 | gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; | ||
54 | linux,default-trigger = "heartbeat"; | ||
55 | }; | ||
56 | |||
57 | led2 { | ||
58 | label = "system::user"; | ||
59 | gpios = <&gpio6 19 GPIO_ACTIVE_LOW>; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | regulators { | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <0>; | ||
66 | compatible = "simple-bus"; | ||
67 | |||
68 | reg_lcd: regulator@0 { | ||
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&pinctrl_lcdreg>; | ||
71 | compatible = "regulator-fixed"; | ||
72 | reg = <0>; | ||
73 | regulator-name = "LCD"; | ||
74 | regulator-min-microvolt = <5000000>; | ||
75 | regulator-max-microvolt = <5000000>; | ||
76 | gpio = <&gpio1 25 GPIO_ACTIVE_HIGH>; | ||
77 | enable-active-high; | ||
78 | }; | ||
79 | }; | ||
80 | }; | ||
81 | |||
82 | &cspi1 { | ||
83 | pinctrl-0 = <&pinctrl_cspi1>; | ||
84 | fsl,spi-num-chipselects = <1>; | ||
85 | cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>; | ||
86 | status = "okay"; | ||
87 | |||
88 | ads7846 { | ||
89 | compatible = "ti,ads7846"; | ||
90 | pinctrl-names = "default"; | ||
91 | pinctrl-0 = <&pinctrl_touch>; | ||
92 | reg = <0>; | ||
93 | interrupts = <&gpio4 25 IRQ_TYPE_LEVEL_LOW>; | ||
94 | spi-cpol; | ||
95 | spi-max-frequency = <1500000>; | ||
96 | ti,keep-vref-on; | ||
97 | }; | ||
98 | }; | ||
99 | |||
100 | &fb { | ||
101 | pinctrl-names = "default"; | ||
102 | pinctrl-0 = <&pinctrl_imxfb>; | ||
103 | display = <&display0>; | ||
104 | lcd-supply = <®_lcd>; | ||
105 | fsl,dmacr = <0x00040060>; | ||
106 | fsl,lscr1 = <0x00120300>; | ||
107 | fsl,lpccr = <0x00a903ff>; | ||
108 | status = "okay"; | ||
109 | }; | ||
110 | |||
111 | &i2c1 { | ||
112 | codec: codec@1a { | ||
113 | compatible = "ti,tlv320aic23"; | ||
114 | reg = <0x1a>; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | &kpp { | ||
119 | linux,keymap = < | ||
120 | MATRIX_KEY(0, 0, KEY_UP) | ||
121 | MATRIX_KEY(0, 1, KEY_DOWN) | ||
122 | MATRIX_KEY(1, 0, KEY_RIGHT) | ||
123 | MATRIX_KEY(1, 1, KEY_LEFT) | ||
124 | >; | ||
125 | status = "okay"; | ||
126 | }; | ||
127 | |||
128 | &sdhci1 { | ||
129 | pinctrl-names = "default"; | ||
130 | pinctrl-0 = <&pinctrl_sdhc1>; | ||
131 | bus-width = <4>; | ||
132 | status = "okay"; | ||
133 | }; | ||
134 | |||
135 | &ssi1 { | ||
136 | pinctrl-names = "default"; | ||
137 | pinctrl-0 = <&pinctrl_ssi1>; | ||
138 | codec-handle = <&codec>; | ||
139 | status = "okay"; | ||
140 | }; | ||
141 | |||
142 | &uart1 { | ||
143 | fsl,uart-has-rtscts; | ||
144 | pinctrl-names = "default"; | ||
145 | pinctrl-0 = <&pinctrl_uart1>; | ||
146 | status = "okay"; | ||
147 | }; | ||
148 | |||
149 | &uart2 { | ||
150 | fsl,uart-has-rtscts; | ||
151 | pinctrl-names = "default"; | ||
152 | pinctrl-0 = <&pinctrl_uart2>; | ||
153 | status = "okay"; | ||
154 | }; | ||
155 | |||
156 | &uart3 { | ||
157 | fsl,uart-has-rtscts; | ||
158 | pinctrl-names = "default"; | ||
159 | pinctrl-0 = <&pinctrl_uart3>; | ||
160 | status = "okay"; | ||
161 | }; | ||
162 | |||
163 | &iomuxc { | ||
164 | imx27-eukrea-cpuimx27-baseboard { | ||
165 | pinctrl_cspi1: cspi1grp { | ||
166 | fsl,pins = < | ||
167 | MX27_PAD_CSPI1_MISO__CSPI1_MISO 0x0 | ||
168 | MX27_PAD_CSPI1_MOSI__CSPI1_MOSI 0x0 | ||
169 | MX27_PAD_CSPI1_SCLK__CSPI1_SCLK 0x0 | ||
170 | MX27_PAD_CSPI1_SS0__GPIO4_28 0x0 /* CS0 */ | ||
171 | >; | ||
172 | }; | ||
173 | |||
174 | pinctrl_backlight: backlightgrp { | ||
175 | fsl,pins = < | ||
176 | MX27_PAD_PWMO__GPIO5_5 0x0 | ||
177 | >; | ||
178 | }; | ||
179 | |||
180 | pinctrl_gpioleds: gpioledsgrp { | ||
181 | fsl,pins = < | ||
182 | MX27_PAD_PC_PWRON__GPIO6_16 0x0 | ||
183 | MX27_PAD_PC_CD2_B__GPIO6_19 0x0 | ||
184 | >; | ||
185 | }; | ||
186 | |||
187 | pinctrl_imxfb: imxfbgrp { | ||
188 | fsl,pins = < | ||
189 | MX27_PAD_LD0__LD0 0x0 | ||
190 | MX27_PAD_LD1__LD1 0x0 | ||
191 | MX27_PAD_LD2__LD2 0x0 | ||
192 | MX27_PAD_LD3__LD3 0x0 | ||
193 | MX27_PAD_LD4__LD4 0x0 | ||
194 | MX27_PAD_LD5__LD5 0x0 | ||
195 | MX27_PAD_LD6__LD6 0x0 | ||
196 | MX27_PAD_LD7__LD7 0x0 | ||
197 | MX27_PAD_LD8__LD8 0x0 | ||
198 | MX27_PAD_LD9__LD9 0x0 | ||
199 | MX27_PAD_LD10__LD10 0x0 | ||
200 | MX27_PAD_LD11__LD11 0x0 | ||
201 | MX27_PAD_LD12__LD12 0x0 | ||
202 | MX27_PAD_LD13__LD13 0x0 | ||
203 | MX27_PAD_LD14__LD14 0x0 | ||
204 | MX27_PAD_LD15__LD15 0x0 | ||
205 | MX27_PAD_LD16__LD16 0x0 | ||
206 | MX27_PAD_LD17__LD17 0x0 | ||
207 | MX27_PAD_CONTRAST__CONTRAST 0x0 | ||
208 | MX27_PAD_OE_ACD__OE_ACD 0x0 | ||
209 | MX27_PAD_HSYNC__HSYNC 0x0 | ||
210 | MX27_PAD_VSYNC__VSYNC 0x0 | ||
211 | >; | ||
212 | }; | ||
213 | |||
214 | pinctrl_lcdreg: lcdreggrp { | ||
215 | fsl,pins = < | ||
216 | MX27_PAD_CLS__GPIO1_25 0x0 | ||
217 | >; | ||
218 | }; | ||
219 | |||
220 | pinctrl_sdhc1: sdhc1grp { | ||
221 | fsl,pins = < | ||
222 | MX27_PAD_SD1_CLK__SD1_CLK 0x0 | ||
223 | MX27_PAD_SD1_CMD__SD1_CMD 0x0 | ||
224 | MX27_PAD_SD1_D0__SD1_D0 0x0 | ||
225 | MX27_PAD_SD1_D1__SD1_D1 0x0 | ||
226 | MX27_PAD_SD1_D2__SD1_D2 0x0 | ||
227 | MX27_PAD_SD1_D3__SD1_D3 0x0 | ||
228 | >; | ||
229 | }; | ||
230 | |||
231 | pinctrl_ssi1: ssi1grp { | ||
232 | fsl,pins = < | ||
233 | MX27_PAD_SSI4_CLK__SSI4_CLK 0x0 | ||
234 | MX27_PAD_SSI4_FS__SSI4_FS 0x0 | ||
235 | MX27_PAD_SSI4_RXDAT__SSI4_RXDAT 0x1 | ||
236 | MX27_PAD_SSI4_TXDAT__SSI4_TXDAT 0x1 | ||
237 | >; | ||
238 | }; | ||
239 | |||
240 | pinctrl_touch: touchgrp { | ||
241 | fsl,pins = < | ||
242 | MX27_PAD_CSPI1_RDY__GPIO4_25 0x0 /* IRQ */ | ||
243 | >; | ||
244 | }; | ||
245 | |||
246 | pinctrl_uart1: uart1grp { | ||
247 | fsl,pins = < | ||
248 | MX27_PAD_UART1_TXD__UART1_TXD 0x0 | ||
249 | MX27_PAD_UART1_RXD__UART1_RXD 0x0 | ||
250 | MX27_PAD_UART1_CTS__UART1_CTS 0x0 | ||
251 | MX27_PAD_UART1_RTS__UART1_RTS 0x0 | ||
252 | >; | ||
253 | }; | ||
254 | |||
255 | pinctrl_uart2: uart2grp { | ||
256 | fsl,pins = < | ||
257 | MX27_PAD_UART2_TXD__UART2_TXD 0x0 | ||
258 | MX27_PAD_UART2_RXD__UART2_RXD 0x0 | ||
259 | MX27_PAD_UART2_CTS__UART2_CTS 0x0 | ||
260 | MX27_PAD_UART2_RTS__UART2_RTS 0x0 | ||
261 | >; | ||
262 | }; | ||
263 | |||
264 | pinctrl_uart3: uart3grp { | ||
265 | fsl,pins = < | ||
266 | MX27_PAD_UART3_TXD__UART3_TXD 0x0 | ||
267 | MX27_PAD_UART3_RXD__UART3_RXD 0x0 | ||
268 | MX27_PAD_UART3_CTS__UART3_CTS 0x0 | ||
269 | MX27_PAD_UART3_RTS__UART3_RTS 0x0 | ||
270 | >; | ||
271 | }; | ||
272 | }; | ||
273 | }; | ||
diff --git a/arch/arm/boot/dts/imx27-pdk.dts b/arch/arm/boot/dts/imx27-pdk.dts index 4c317716b510..49450dbbcab8 100644 --- a/arch/arm/boot/dts/imx27-pdk.dts +++ b/arch/arm/boot/dts/imx27-pdk.dts | |||
@@ -28,7 +28,7 @@ | |||
28 | usbphy0: usbphy@0 { | 28 | usbphy0: usbphy@0 { |
29 | compatible = "usb-nop-xceiv"; | 29 | compatible = "usb-nop-xceiv"; |
30 | reg = <0>; | 30 | reg = <0>; |
31 | clocks = <&clks 0>; | 31 | clocks = <&clks IMX27_CLK_DUMMY>; |
32 | clock-names = "main_clk"; | 32 | clock-names = "main_clk"; |
33 | }; | 33 | }; |
34 | }; | 34 | }; |
diff --git a/arch/arm/boot/dts/imx27-phytec-phycore-rdk.dts b/arch/arm/boot/dts/imx27-phytec-phycore-rdk.dts index fe02bc7a24fd..538568b0de26 100644 --- a/arch/arm/boot/dts/imx27-phytec-phycore-rdk.dts +++ b/arch/arm/boot/dts/imx27-phytec-phycore-rdk.dts | |||
@@ -61,7 +61,7 @@ | |||
61 | compatible = "usb-nop-xceiv"; | 61 | compatible = "usb-nop-xceiv"; |
62 | reg = <2>; | 62 | reg = <2>; |
63 | vcc-supply = <®_5v0>; | 63 | vcc-supply = <®_5v0>; |
64 | clocks = <&clks 0>; | 64 | clocks = <&clks IMX27_CLK_DUMMY>; |
65 | clock-names = "main_clk"; | 65 | clock-names = "main_clk"; |
66 | }; | 66 | }; |
67 | }; | 67 | }; |
diff --git a/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi index 31e9f7049f73..b4e955e3be8d 100644 --- a/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi +++ b/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi | |||
@@ -51,7 +51,7 @@ | |||
51 | compatible = "usb-nop-xceiv"; | 51 | compatible = "usb-nop-xceiv"; |
52 | reg = <0>; | 52 | reg = <0>; |
53 | vcc-supply = <&sw3_reg>; | 53 | vcc-supply = <&sw3_reg>; |
54 | clocks = <&clks 0>; | 54 | clocks = <&clks IMX27_CLK_DUMMY>; |
55 | clock-names = "main_clk"; | 55 | clock-names = "main_clk"; |
56 | }; | 56 | }; |
57 | }; | 57 | }; |
@@ -310,7 +310,6 @@ | |||
310 | &ssi1 { | 310 | &ssi1 { |
311 | pinctrl-names = "default"; | 311 | pinctrl-names = "default"; |
312 | pinctrl-0 = <&pinctrl_ssi1>; | 312 | pinctrl-0 = <&pinctrl_ssi1>; |
313 | fsl,mode = "i2s-slave"; | ||
314 | status = "okay"; | 313 | status = "okay"; |
315 | }; | 314 | }; |
316 | 315 | ||
diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi index a75555c39533..107d713e1cbe 100644 --- a/arch/arm/boot/dts/imx27.dtsi +++ b/arch/arm/boot/dts/imx27.dtsi | |||
@@ -11,9 +11,11 @@ | |||
11 | 11 | ||
12 | #include "skeleton.dtsi" | 12 | #include "skeleton.dtsi" |
13 | #include "imx27-pinfunc.h" | 13 | #include "imx27-pinfunc.h" |
14 | |||
15 | #include <dt-bindings/clock/imx27-clock.h> | ||
16 | #include <dt-bindings/gpio/gpio.h> | ||
14 | #include <dt-bindings/input/input.h> | 17 | #include <dt-bindings/input/input.h> |
15 | #include <dt-bindings/interrupt-controller/irq.h> | 18 | #include <dt-bindings/interrupt-controller/irq.h> |
16 | #include <dt-bindings/gpio/gpio.h> | ||
17 | 19 | ||
18 | / { | 20 | / { |
19 | aliases { | 21 | aliases { |
@@ -68,7 +70,7 @@ | |||
68 | 399000 1450000 | 70 | 399000 1450000 |
69 | >; | 71 | >; |
70 | clock-latency = <62500>; | 72 | clock-latency = <62500>; |
71 | clocks = <&clks 18>; | 73 | clocks = <&clks IMX27_CLK_CPU_DIV>; |
72 | voltage-tolerance = <5>; | 74 | voltage-tolerance = <5>; |
73 | }; | 75 | }; |
74 | }; | 76 | }; |
@@ -91,7 +93,8 @@ | |||
91 | compatible = "fsl,imx27-dma"; | 93 | compatible = "fsl,imx27-dma"; |
92 | reg = <0x10001000 0x1000>; | 94 | reg = <0x10001000 0x1000>; |
93 | interrupts = <32>; | 95 | interrupts = <32>; |
94 | clocks = <&clks 50>, <&clks 70>; | 96 | clocks = <&clks IMX27_CLK_DMA_IPG_GATE>, |
97 | <&clks IMX27_CLK_DMA_AHB_GATE>; | ||
95 | clock-names = "ipg", "ahb"; | 98 | clock-names = "ipg", "ahb"; |
96 | #dma-cells = <1>; | 99 | #dma-cells = <1>; |
97 | #dma-channels = <16>; | 100 | #dma-channels = <16>; |
@@ -101,14 +104,15 @@ | |||
101 | compatible = "fsl,imx27-wdt", "fsl,imx21-wdt"; | 104 | compatible = "fsl,imx27-wdt", "fsl,imx21-wdt"; |
102 | reg = <0x10002000 0x1000>; | 105 | reg = <0x10002000 0x1000>; |
103 | interrupts = <27>; | 106 | interrupts = <27>; |
104 | clocks = <&clks 74>; | 107 | clocks = <&clks IMX27_CLK_WDOG_IPG_GATE>; |
105 | }; | 108 | }; |
106 | 109 | ||
107 | gpt1: timer@10003000 { | 110 | gpt1: timer@10003000 { |
108 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; | 111 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; |
109 | reg = <0x10003000 0x1000>; | 112 | reg = <0x10003000 0x1000>; |
110 | interrupts = <26>; | 113 | interrupts = <26>; |
111 | clocks = <&clks 46>, <&clks 61>; | 114 | clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>, |
115 | <&clks IMX27_CLK_PER1_GATE>; | ||
112 | clock-names = "ipg", "per"; | 116 | clock-names = "ipg", "per"; |
113 | }; | 117 | }; |
114 | 118 | ||
@@ -116,7 +120,8 @@ | |||
116 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; | 120 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; |
117 | reg = <0x10004000 0x1000>; | 121 | reg = <0x10004000 0x1000>; |
118 | interrupts = <25>; | 122 | interrupts = <25>; |
119 | clocks = <&clks 45>, <&clks 61>; | 123 | clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>, |
124 | <&clks IMX27_CLK_PER1_GATE>; | ||
120 | clock-names = "ipg", "per"; | 125 | clock-names = "ipg", "per"; |
121 | }; | 126 | }; |
122 | 127 | ||
@@ -124,7 +129,8 @@ | |||
124 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; | 129 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; |
125 | reg = <0x10005000 0x1000>; | 130 | reg = <0x10005000 0x1000>; |
126 | interrupts = <24>; | 131 | interrupts = <24>; |
127 | clocks = <&clks 44>, <&clks 61>; | 132 | clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>, |
133 | <&clks IMX27_CLK_PER1_GATE>; | ||
128 | clock-names = "ipg", "per"; | 134 | clock-names = "ipg", "per"; |
129 | }; | 135 | }; |
130 | 136 | ||
@@ -133,7 +139,8 @@ | |||
133 | compatible = "fsl,imx27-pwm"; | 139 | compatible = "fsl,imx27-pwm"; |
134 | reg = <0x10006000 0x1000>; | 140 | reg = <0x10006000 0x1000>; |
135 | interrupts = <23>; | 141 | interrupts = <23>; |
136 | clocks = <&clks 34>, <&clks 61>; | 142 | clocks = <&clks IMX27_CLK_PWM_IPG_GATE>, |
143 | <&clks IMX27_CLK_PER1_GATE>; | ||
137 | clock-names = "ipg", "per"; | 144 | clock-names = "ipg", "per"; |
138 | }; | 145 | }; |
139 | 146 | ||
@@ -141,14 +148,14 @@ | |||
141 | compatible = "fsl,imx27-kpp", "fsl,imx21-kpp"; | 148 | compatible = "fsl,imx27-kpp", "fsl,imx21-kpp"; |
142 | reg = <0x10008000 0x1000>; | 149 | reg = <0x10008000 0x1000>; |
143 | interrupts = <21>; | 150 | interrupts = <21>; |
144 | clocks = <&clks 37>; | 151 | clocks = <&clks IMX27_CLK_KPP_IPG_GATE>; |
145 | status = "disabled"; | 152 | status = "disabled"; |
146 | }; | 153 | }; |
147 | 154 | ||
148 | owire: owire@10009000 { | 155 | owire: owire@10009000 { |
149 | compatible = "fsl,imx27-owire", "fsl,imx21-owire"; | 156 | compatible = "fsl,imx27-owire", "fsl,imx21-owire"; |
150 | reg = <0x10009000 0x1000>; | 157 | reg = <0x10009000 0x1000>; |
151 | clocks = <&clks 35>; | 158 | clocks = <&clks IMX27_CLK_OWIRE_IPG_GATE>; |
152 | status = "disabled"; | 159 | status = "disabled"; |
153 | }; | 160 | }; |
154 | 161 | ||
@@ -156,7 +163,8 @@ | |||
156 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; | 163 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; |
157 | reg = <0x1000a000 0x1000>; | 164 | reg = <0x1000a000 0x1000>; |
158 | interrupts = <20>; | 165 | interrupts = <20>; |
159 | clocks = <&clks 81>, <&clks 61>; | 166 | clocks = <&clks IMX27_CLK_UART1_IPG_GATE>, |
167 | <&clks IMX27_CLK_PER1_GATE>; | ||
160 | clock-names = "ipg", "per"; | 168 | clock-names = "ipg", "per"; |
161 | status = "disabled"; | 169 | status = "disabled"; |
162 | }; | 170 | }; |
@@ -165,7 +173,8 @@ | |||
165 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; | 173 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; |
166 | reg = <0x1000b000 0x1000>; | 174 | reg = <0x1000b000 0x1000>; |
167 | interrupts = <19>; | 175 | interrupts = <19>; |
168 | clocks = <&clks 80>, <&clks 61>; | 176 | clocks = <&clks IMX27_CLK_UART2_IPG_GATE>, |
177 | <&clks IMX27_CLK_PER1_GATE>; | ||
169 | clock-names = "ipg", "per"; | 178 | clock-names = "ipg", "per"; |
170 | status = "disabled"; | 179 | status = "disabled"; |
171 | }; | 180 | }; |
@@ -174,7 +183,8 @@ | |||
174 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; | 183 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; |
175 | reg = <0x1000c000 0x1000>; | 184 | reg = <0x1000c000 0x1000>; |
176 | interrupts = <18>; | 185 | interrupts = <18>; |
177 | clocks = <&clks 79>, <&clks 61>; | 186 | clocks = <&clks IMX27_CLK_UART3_IPG_GATE>, |
187 | <&clks IMX27_CLK_PER1_GATE>; | ||
178 | clock-names = "ipg", "per"; | 188 | clock-names = "ipg", "per"; |
179 | status = "disabled"; | 189 | status = "disabled"; |
180 | }; | 190 | }; |
@@ -183,7 +193,8 @@ | |||
183 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; | 193 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; |
184 | reg = <0x1000d000 0x1000>; | 194 | reg = <0x1000d000 0x1000>; |
185 | interrupts = <17>; | 195 | interrupts = <17>; |
186 | clocks = <&clks 78>, <&clks 61>; | 196 | clocks = <&clks IMX27_CLK_UART4_IPG_GATE>, |
197 | <&clks IMX27_CLK_PER1_GATE>; | ||
187 | clock-names = "ipg", "per"; | 198 | clock-names = "ipg", "per"; |
188 | status = "disabled"; | 199 | status = "disabled"; |
189 | }; | 200 | }; |
@@ -194,7 +205,8 @@ | |||
194 | compatible = "fsl,imx27-cspi"; | 205 | compatible = "fsl,imx27-cspi"; |
195 | reg = <0x1000e000 0x1000>; | 206 | reg = <0x1000e000 0x1000>; |
196 | interrupts = <16>; | 207 | interrupts = <16>; |
197 | clocks = <&clks 53>, <&clks 60>; | 208 | clocks = <&clks IMX27_CLK_CSPI1_IPG_GATE>, |
209 | <&clks IMX27_CLK_PER2_GATE>; | ||
198 | clock-names = "ipg", "per"; | 210 | clock-names = "ipg", "per"; |
199 | status = "disabled"; | 211 | status = "disabled"; |
200 | }; | 212 | }; |
@@ -205,7 +217,8 @@ | |||
205 | compatible = "fsl,imx27-cspi"; | 217 | compatible = "fsl,imx27-cspi"; |
206 | reg = <0x1000f000 0x1000>; | 218 | reg = <0x1000f000 0x1000>; |
207 | interrupts = <15>; | 219 | interrupts = <15>; |
208 | clocks = <&clks 52>, <&clks 60>; | 220 | clocks = <&clks IMX27_CLK_CSPI2_IPG_GATE>, |
221 | <&clks IMX27_CLK_PER2_GATE>; | ||
209 | clock-names = "ipg", "per"; | 222 | clock-names = "ipg", "per"; |
210 | status = "disabled"; | 223 | status = "disabled"; |
211 | }; | 224 | }; |
@@ -215,7 +228,7 @@ | |||
215 | compatible = "fsl,imx27-ssi", "fsl,imx21-ssi"; | 228 | compatible = "fsl,imx27-ssi", "fsl,imx21-ssi"; |
216 | reg = <0x10010000 0x1000>; | 229 | reg = <0x10010000 0x1000>; |
217 | interrupts = <14>; | 230 | interrupts = <14>; |
218 | clocks = <&clks 26>; | 231 | clocks = <&clks IMX27_CLK_SSI1_IPG_GATE>; |
219 | dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>; | 232 | dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>; |
220 | dma-names = "rx0", "tx0", "rx1", "tx1"; | 233 | dma-names = "rx0", "tx0", "rx1", "tx1"; |
221 | fsl,fifo-depth = <8>; | 234 | fsl,fifo-depth = <8>; |
@@ -227,7 +240,7 @@ | |||
227 | compatible = "fsl,imx27-ssi", "fsl,imx21-ssi"; | 240 | compatible = "fsl,imx27-ssi", "fsl,imx21-ssi"; |
228 | reg = <0x10011000 0x1000>; | 241 | reg = <0x10011000 0x1000>; |
229 | interrupts = <13>; | 242 | interrupts = <13>; |
230 | clocks = <&clks 25>; | 243 | clocks = <&clks IMX27_CLK_SSI2_IPG_GATE>; |
231 | dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>; | 244 | dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>; |
232 | dma-names = "rx0", "tx0", "rx1", "tx1"; | 245 | dma-names = "rx0", "tx0", "rx1", "tx1"; |
233 | fsl,fifo-depth = <8>; | 246 | fsl,fifo-depth = <8>; |
@@ -240,7 +253,7 @@ | |||
240 | compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; | 253 | compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; |
241 | reg = <0x10012000 0x1000>; | 254 | reg = <0x10012000 0x1000>; |
242 | interrupts = <12>; | 255 | interrupts = <12>; |
243 | clocks = <&clks 40>; | 256 | clocks = <&clks IMX27_CLK_I2C1_IPG_GATE>; |
244 | status = "disabled"; | 257 | status = "disabled"; |
245 | }; | 258 | }; |
246 | 259 | ||
@@ -248,7 +261,8 @@ | |||
248 | compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; | 261 | compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; |
249 | reg = <0x10013000 0x1000>; | 262 | reg = <0x10013000 0x1000>; |
250 | interrupts = <11>; | 263 | interrupts = <11>; |
251 | clocks = <&clks 30>, <&clks 60>; | 264 | clocks = <&clks IMX27_CLK_SDHC1_IPG_GATE>, |
265 | <&clks IMX27_CLK_PER2_GATE>; | ||
252 | clock-names = "ipg", "per"; | 266 | clock-names = "ipg", "per"; |
253 | dmas = <&dma 7>; | 267 | dmas = <&dma 7>; |
254 | dma-names = "rx-tx"; | 268 | dma-names = "rx-tx"; |
@@ -259,7 +273,8 @@ | |||
259 | compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; | 273 | compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; |
260 | reg = <0x10014000 0x1000>; | 274 | reg = <0x10014000 0x1000>; |
261 | interrupts = <10>; | 275 | interrupts = <10>; |
262 | clocks = <&clks 29>, <&clks 60>; | 276 | clocks = <&clks IMX27_CLK_SDHC2_IPG_GATE>, |
277 | <&clks IMX27_CLK_PER2_GATE>; | ||
263 | clock-names = "ipg", "per"; | 278 | clock-names = "ipg", "per"; |
264 | dmas = <&dma 6>; | 279 | dmas = <&dma 6>; |
265 | dma-names = "rx-tx"; | 280 | dma-names = "rx-tx"; |
@@ -276,6 +291,7 @@ | |||
276 | gpio1: gpio@10015000 { | 291 | gpio1: gpio@10015000 { |
277 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; | 292 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; |
278 | reg = <0x10015000 0x100>; | 293 | reg = <0x10015000 0x100>; |
294 | clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; | ||
279 | interrupts = <8>; | 295 | interrupts = <8>; |
280 | gpio-controller; | 296 | gpio-controller; |
281 | #gpio-cells = <2>; | 297 | #gpio-cells = <2>; |
@@ -286,6 +302,7 @@ | |||
286 | gpio2: gpio@10015100 { | 302 | gpio2: gpio@10015100 { |
287 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; | 303 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; |
288 | reg = <0x10015100 0x100>; | 304 | reg = <0x10015100 0x100>; |
305 | clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; | ||
289 | interrupts = <8>; | 306 | interrupts = <8>; |
290 | gpio-controller; | 307 | gpio-controller; |
291 | #gpio-cells = <2>; | 308 | #gpio-cells = <2>; |
@@ -296,6 +313,7 @@ | |||
296 | gpio3: gpio@10015200 { | 313 | gpio3: gpio@10015200 { |
297 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; | 314 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; |
298 | reg = <0x10015200 0x100>; | 315 | reg = <0x10015200 0x100>; |
316 | clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; | ||
299 | interrupts = <8>; | 317 | interrupts = <8>; |
300 | gpio-controller; | 318 | gpio-controller; |
301 | #gpio-cells = <2>; | 319 | #gpio-cells = <2>; |
@@ -306,6 +324,7 @@ | |||
306 | gpio4: gpio@10015300 { | 324 | gpio4: gpio@10015300 { |
307 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; | 325 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; |
308 | reg = <0x10015300 0x100>; | 326 | reg = <0x10015300 0x100>; |
327 | clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; | ||
309 | interrupts = <8>; | 328 | interrupts = <8>; |
310 | gpio-controller; | 329 | gpio-controller; |
311 | #gpio-cells = <2>; | 330 | #gpio-cells = <2>; |
@@ -316,6 +335,7 @@ | |||
316 | gpio5: gpio@10015400 { | 335 | gpio5: gpio@10015400 { |
317 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; | 336 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; |
318 | reg = <0x10015400 0x100>; | 337 | reg = <0x10015400 0x100>; |
338 | clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; | ||
319 | interrupts = <8>; | 339 | interrupts = <8>; |
320 | gpio-controller; | 340 | gpio-controller; |
321 | #gpio-cells = <2>; | 341 | #gpio-cells = <2>; |
@@ -326,6 +346,7 @@ | |||
326 | gpio6: gpio@10015500 { | 346 | gpio6: gpio@10015500 { |
327 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; | 347 | compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; |
328 | reg = <0x10015500 0x100>; | 348 | reg = <0x10015500 0x100>; |
349 | clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; | ||
329 | interrupts = <8>; | 350 | interrupts = <8>; |
330 | gpio-controller; | 351 | gpio-controller; |
331 | #gpio-cells = <2>; | 352 | #gpio-cells = <2>; |
@@ -337,7 +358,7 @@ | |||
337 | audmux: audmux@10016000 { | 358 | audmux: audmux@10016000 { |
338 | compatible = "fsl,imx27-audmux", "fsl,imx21-audmux"; | 359 | compatible = "fsl,imx27-audmux", "fsl,imx21-audmux"; |
339 | reg = <0x10016000 0x1000>; | 360 | reg = <0x10016000 0x1000>; |
340 | clocks = <&clks 0>; | 361 | clocks = <&clks IMX27_CLK_DUMMY>; |
341 | clock-names = "audmux"; | 362 | clock-names = "audmux"; |
342 | status = "disabled"; | 363 | status = "disabled"; |
343 | }; | 364 | }; |
@@ -348,7 +369,8 @@ | |||
348 | compatible = "fsl,imx27-cspi"; | 369 | compatible = "fsl,imx27-cspi"; |
349 | reg = <0x10017000 0x1000>; | 370 | reg = <0x10017000 0x1000>; |
350 | interrupts = <6>; | 371 | interrupts = <6>; |
351 | clocks = <&clks 51>, <&clks 60>; | 372 | clocks = <&clks IMX27_CLK_CSPI3_IPG_GATE>, |
373 | <&clks IMX27_CLK_PER2_GATE>; | ||
352 | clock-names = "ipg", "per"; | 374 | clock-names = "ipg", "per"; |
353 | status = "disabled"; | 375 | status = "disabled"; |
354 | }; | 376 | }; |
@@ -357,7 +379,8 @@ | |||
357 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; | 379 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; |
358 | reg = <0x10019000 0x1000>; | 380 | reg = <0x10019000 0x1000>; |
359 | interrupts = <4>; | 381 | interrupts = <4>; |
360 | clocks = <&clks 43>, <&clks 61>; | 382 | clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>, |
383 | <&clks IMX27_CLK_PER1_GATE>; | ||
361 | clock-names = "ipg", "per"; | 384 | clock-names = "ipg", "per"; |
362 | }; | 385 | }; |
363 | 386 | ||
@@ -365,7 +388,8 @@ | |||
365 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; | 388 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; |
366 | reg = <0x1001a000 0x1000>; | 389 | reg = <0x1001a000 0x1000>; |
367 | interrupts = <3>; | 390 | interrupts = <3>; |
368 | clocks = <&clks 42>, <&clks 61>; | 391 | clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>, |
392 | <&clks IMX27_CLK_PER1_GATE>; | ||
369 | clock-names = "ipg", "per"; | 393 | clock-names = "ipg", "per"; |
370 | }; | 394 | }; |
371 | 395 | ||
@@ -373,7 +397,8 @@ | |||
373 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; | 397 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; |
374 | reg = <0x1001b000 0x1000>; | 398 | reg = <0x1001b000 0x1000>; |
375 | interrupts = <49>; | 399 | interrupts = <49>; |
376 | clocks = <&clks 77>, <&clks 61>; | 400 | clocks = <&clks IMX27_CLK_UART5_IPG_GATE>, |
401 | <&clks IMX27_CLK_PER1_GATE>; | ||
377 | clock-names = "ipg", "per"; | 402 | clock-names = "ipg", "per"; |
378 | status = "disabled"; | 403 | status = "disabled"; |
379 | }; | 404 | }; |
@@ -382,7 +407,8 @@ | |||
382 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; | 407 | compatible = "fsl,imx27-uart", "fsl,imx21-uart"; |
383 | reg = <0x1001c000 0x1000>; | 408 | reg = <0x1001c000 0x1000>; |
384 | interrupts = <48>; | 409 | interrupts = <48>; |
385 | clocks = <&clks 78>, <&clks 61>; | 410 | clocks = <&clks IMX27_CLK_UART6_IPG_GATE>, |
411 | <&clks IMX27_CLK_PER1_GATE>; | ||
386 | clock-names = "ipg", "per"; | 412 | clock-names = "ipg", "per"; |
387 | status = "disabled"; | 413 | status = "disabled"; |
388 | }; | 414 | }; |
@@ -393,7 +419,7 @@ | |||
393 | compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; | 419 | compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; |
394 | reg = <0x1001d000 0x1000>; | 420 | reg = <0x1001d000 0x1000>; |
395 | interrupts = <1>; | 421 | interrupts = <1>; |
396 | clocks = <&clks 39>; | 422 | clocks = <&clks IMX27_CLK_I2C2_IPG_GATE>; |
397 | status = "disabled"; | 423 | status = "disabled"; |
398 | }; | 424 | }; |
399 | 425 | ||
@@ -401,7 +427,8 @@ | |||
401 | compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; | 427 | compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; |
402 | reg = <0x1001e000 0x1000>; | 428 | reg = <0x1001e000 0x1000>; |
403 | interrupts = <9>; | 429 | interrupts = <9>; |
404 | clocks = <&clks 28>, <&clks 60>; | 430 | clocks = <&clks IMX27_CLK_SDHC3_IPG_GATE>, |
431 | <&clks IMX27_CLK_PER2_GATE>; | ||
405 | clock-names = "ipg", "per"; | 432 | clock-names = "ipg", "per"; |
406 | dmas = <&dma 36>; | 433 | dmas = <&dma 36>; |
407 | dma-names = "rx-tx"; | 434 | dma-names = "rx-tx"; |
@@ -412,7 +439,8 @@ | |||
412 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; | 439 | compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; |
413 | reg = <0x1001f000 0x1000>; | 440 | reg = <0x1001f000 0x1000>; |
414 | interrupts = <2>; | 441 | interrupts = <2>; |
415 | clocks = <&clks 41>, <&clks 61>; | 442 | clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>, |
443 | <&clks IMX27_CLK_PER1_GATE>; | ||
416 | clock-names = "ipg", "per"; | 444 | clock-names = "ipg", "per"; |
417 | }; | 445 | }; |
418 | }; | 446 | }; |
@@ -428,7 +456,9 @@ | |||
428 | compatible = "fsl,imx27-fb", "fsl,imx21-fb"; | 456 | compatible = "fsl,imx27-fb", "fsl,imx21-fb"; |
429 | interrupts = <61>; | 457 | interrupts = <61>; |
430 | reg = <0x10021000 0x1000>; | 458 | reg = <0x10021000 0x1000>; |
431 | clocks = <&clks 36>, <&clks 65>, <&clks 59>; | 459 | clocks = <&clks IMX27_CLK_LCDC_IPG_GATE>, |
460 | <&clks IMX27_CLK_LCDC_AHB_GATE>, | ||
461 | <&clks IMX27_CLK_PER3_GATE>; | ||
432 | clock-names = "ipg", "ahb", "per"; | 462 | clock-names = "ipg", "ahb", "per"; |
433 | status = "disabled"; | 463 | status = "disabled"; |
434 | }; | 464 | }; |
@@ -437,7 +467,8 @@ | |||
437 | compatible = "fsl,imx27-vpu"; | 467 | compatible = "fsl,imx27-vpu"; |
438 | reg = <0x10023000 0x0200>; | 468 | reg = <0x10023000 0x0200>; |
439 | interrupts = <53>; | 469 | interrupts = <53>; |
440 | clocks = <&clks 57>, <&clks 66>; | 470 | clocks = <&clks IMX27_CLK_VPU_BAUD_GATE>, |
471 | <&clks IMX27_CLK_VPU_AHB_GATE>; | ||
441 | clock-names = "per", "ahb"; | 472 | clock-names = "per", "ahb"; |
442 | iram = <&iram>; | 473 | iram = <&iram>; |
443 | }; | 474 | }; |
@@ -446,7 +477,7 @@ | |||
446 | compatible = "fsl,imx27-usb"; | 477 | compatible = "fsl,imx27-usb"; |
447 | reg = <0x10024000 0x200>; | 478 | reg = <0x10024000 0x200>; |
448 | interrupts = <56>; | 479 | interrupts = <56>; |
449 | clocks = <&clks 75>; | 480 | clocks = <&clks IMX27_CLK_USB_IPG_GATE>; |
450 | fsl,usbmisc = <&usbmisc 0>; | 481 | fsl,usbmisc = <&usbmisc 0>; |
451 | status = "disabled"; | 482 | status = "disabled"; |
452 | }; | 483 | }; |
@@ -455,7 +486,7 @@ | |||
455 | compatible = "fsl,imx27-usb"; | 486 | compatible = "fsl,imx27-usb"; |
456 | reg = <0x10024200 0x200>; | 487 | reg = <0x10024200 0x200>; |
457 | interrupts = <54>; | 488 | interrupts = <54>; |
458 | clocks = <&clks 75>; | 489 | clocks = <&clks IMX27_CLK_USB_IPG_GATE>; |
459 | fsl,usbmisc = <&usbmisc 1>; | 490 | fsl,usbmisc = <&usbmisc 1>; |
460 | status = "disabled"; | 491 | status = "disabled"; |
461 | }; | 492 | }; |
@@ -464,7 +495,7 @@ | |||
464 | compatible = "fsl,imx27-usb"; | 495 | compatible = "fsl,imx27-usb"; |
465 | reg = <0x10024400 0x200>; | 496 | reg = <0x10024400 0x200>; |
466 | interrupts = <55>; | 497 | interrupts = <55>; |
467 | clocks = <&clks 75>; | 498 | clocks = <&clks IMX27_CLK_USB_IPG_GATE>; |
468 | fsl,usbmisc = <&usbmisc 2>; | 499 | fsl,usbmisc = <&usbmisc 2>; |
469 | status = "disabled"; | 500 | status = "disabled"; |
470 | }; | 501 | }; |
@@ -473,14 +504,15 @@ | |||
473 | #index-cells = <1>; | 504 | #index-cells = <1>; |
474 | compatible = "fsl,imx27-usbmisc"; | 505 | compatible = "fsl,imx27-usbmisc"; |
475 | reg = <0x10024600 0x200>; | 506 | reg = <0x10024600 0x200>; |
476 | clocks = <&clks 62>; | 507 | clocks = <&clks IMX27_CLK_USB_AHB_GATE>; |
477 | }; | 508 | }; |
478 | 509 | ||
479 | sahara2: sahara@10025000 { | 510 | sahara2: sahara@10025000 { |
480 | compatible = "fsl,imx27-sahara"; | 511 | compatible = "fsl,imx27-sahara"; |
481 | reg = <0x10025000 0x1000>; | 512 | reg = <0x10025000 0x1000>; |
482 | interrupts = <59>; | 513 | interrupts = <59>; |
483 | clocks = <&clks 32>, <&clks 64>; | 514 | clocks = <&clks IMX27_CLK_SAHARA_IPG_GATE>, |
515 | <&clks IMX27_CLK_SAHARA_AHB_GATE>; | ||
484 | clock-names = "ipg", "ahb"; | 516 | clock-names = "ipg", "ahb"; |
485 | }; | 517 | }; |
486 | 518 | ||
@@ -494,14 +526,15 @@ | |||
494 | compatible = "fsl,imx27-iim"; | 526 | compatible = "fsl,imx27-iim"; |
495 | reg = <0x10028000 0x1000>; | 527 | reg = <0x10028000 0x1000>; |
496 | interrupts = <62>; | 528 | interrupts = <62>; |
497 | clocks = <&clks 38>; | 529 | clocks = <&clks IMX27_CLK_IIM_IPG_GATE>; |
498 | }; | 530 | }; |
499 | 531 | ||
500 | fec: ethernet@1002b000 { | 532 | fec: ethernet@1002b000 { |
501 | compatible = "fsl,imx27-fec"; | 533 | compatible = "fsl,imx27-fec"; |
502 | reg = <0x1002b000 0x4000>; | 534 | reg = <0x1002b000 0x4000>; |
503 | interrupts = <50>; | 535 | interrupts = <50>; |
504 | clocks = <&clks 48>, <&clks 67>; | 536 | clocks = <&clks IMX27_CLK_FEC_IPG_GATE>, |
537 | <&clks IMX27_CLK_FEC_AHB_GATE>; | ||
505 | clock-names = "ipg", "ahb"; | 538 | clock-names = "ipg", "ahb"; |
506 | status = "disabled"; | 539 | status = "disabled"; |
507 | }; | 540 | }; |
@@ -513,7 +546,7 @@ | |||
513 | compatible = "fsl,imx27-nand"; | 546 | compatible = "fsl,imx27-nand"; |
514 | reg = <0xd8000000 0x1000>; | 547 | reg = <0xd8000000 0x1000>; |
515 | interrupts = <29>; | 548 | interrupts = <29>; |
516 | clocks = <&clks 54>; | 549 | clocks = <&clks IMX27_CLK_NFC_BAUD_GATE>; |
517 | status = "disabled"; | 550 | status = "disabled"; |
518 | }; | 551 | }; |
519 | 552 | ||
@@ -522,7 +555,7 @@ | |||
522 | #size-cells = <1>; | 555 | #size-cells = <1>; |
523 | compatible = "fsl,imx27-weim"; | 556 | compatible = "fsl,imx27-weim"; |
524 | reg = <0xd8002000 0x1000>; | 557 | reg = <0xd8002000 0x1000>; |
525 | clocks = <&clks 0>; | 558 | clocks = <&clks IMX27_CLK_EMI_AHB_GATE>; |
526 | ranges = < | 559 | ranges = < |
527 | 0 0 0xc0000000 0x08000000 | 560 | 0 0 0xc0000000 0x08000000 |
528 | 1 0 0xc8000000 0x08000000 | 561 | 1 0 0xc8000000 0x08000000 |
diff --git a/arch/arm/boot/dts/imx28-cfa10036.dts b/arch/arm/boot/dts/imx28-cfa10036.dts index ae7c3390e65a..b04b6b8850a7 100644 --- a/arch/arm/boot/dts/imx28-cfa10036.dts +++ b/arch/arm/boot/dts/imx28-cfa10036.dts | |||
@@ -53,6 +53,17 @@ | |||
53 | fsl,pull-up = <MXS_PULL_DISABLE>; | 53 | fsl,pull-up = <MXS_PULL_DISABLE>; |
54 | }; | 54 | }; |
55 | 55 | ||
56 | mmc_pwr_cfa10036: mmc_pwr_cfa10036@0 { | ||
57 | reg = <0>; | ||
58 | fsl,pinmux-ids = < | ||
59 | 0x31c3 /* | ||
60 | MX28_PAD_PWM3__GPIO_3_28 */ | ||
61 | >; | ||
62 | fsl,drive-strength = <0>; | ||
63 | fsl,voltage = <1>; | ||
64 | fsl,pull-up = <0>; | ||
65 | }; | ||
66 | |||
56 | }; | 67 | }; |
57 | 68 | ||
58 | ssp0: ssp@80010000 { | 69 | ssp0: ssp@80010000 { |
@@ -60,6 +71,7 @@ | |||
60 | pinctrl-names = "default"; | 71 | pinctrl-names = "default"; |
61 | pinctrl-0 = <&mmc0_4bit_pins_a | 72 | pinctrl-0 = <&mmc0_4bit_pins_a |
62 | &mmc0_cd_cfg &mmc0_sck_cfg>; | 73 | &mmc0_cd_cfg &mmc0_sck_cfg>; |
74 | vmmc-supply = <®_vddio_sd0>; | ||
63 | bus-width = <4>; | 75 | bus-width = <4>; |
64 | status = "okay"; | 76 | status = "okay"; |
65 | }; | 77 | }; |
@@ -116,4 +128,14 @@ | |||
116 | default-state = "on"; | 128 | default-state = "on"; |
117 | }; | 129 | }; |
118 | }; | 130 | }; |
131 | |||
132 | reg_vddio_sd0: vddio-sd0 { | ||
133 | compatible = "regulator-fixed"; | ||
134 | pinctrl-names = "default"; | ||
135 | pinctrl-0 = <&mmc_pwr_cfa10036>; | ||
136 | regulator-name = "vddio-sd0"; | ||
137 | regulator-min-microvolt = <3300000>; | ||
138 | regulator-max-microvolt = <3300000>; | ||
139 | gpio = <&gpio3 28 0>; | ||
140 | }; | ||
119 | }; | 141 | }; |
diff --git a/arch/arm/boot/dts/imx28-m28.dtsi b/arch/arm/boot/dts/imx28-m28.dtsi new file mode 100644 index 000000000000..759cc56253dd --- /dev/null +++ b/arch/arm/boot/dts/imx28-m28.dtsi | |||
@@ -0,0 +1,87 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Marek Vasut <marex@denx.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | #include "imx28.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "DENX M28"; | ||
16 | compatible = "denx,m28", "fsl,imx28"; | ||
17 | |||
18 | memory { | ||
19 | reg = <0x40000000 0x08000000>; | ||
20 | }; | ||
21 | |||
22 | apb@80000000 { | ||
23 | apbh@80000000 { | ||
24 | gpmi-nand@8000c000 { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <1>; | ||
27 | pinctrl-names = "default"; | ||
28 | pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; | ||
29 | status = "okay"; | ||
30 | |||
31 | partition@0 { | ||
32 | label = "bootloader"; | ||
33 | reg = <0x00000000 0x00300000>; | ||
34 | read-only; | ||
35 | }; | ||
36 | |||
37 | partition@1 { | ||
38 | label = "environment"; | ||
39 | reg = <0x00300000 0x00080000>; | ||
40 | }; | ||
41 | |||
42 | partition@2 { | ||
43 | label = "redundant-environment"; | ||
44 | reg = <0x00380000 0x00080000>; | ||
45 | }; | ||
46 | |||
47 | partition@3 { | ||
48 | label = "kernel"; | ||
49 | reg = <0x00400000 0x00400000>; | ||
50 | }; | ||
51 | |||
52 | partition@4 { | ||
53 | label = "filesystem"; | ||
54 | reg = <0x00800000 0x0f800000>; | ||
55 | }; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | apbx@80040000 { | ||
60 | i2c0: i2c@80058000 { | ||
61 | pinctrl-names = "default"; | ||
62 | pinctrl-0 = <&i2c0_pins_a>; | ||
63 | status = "okay"; | ||
64 | |||
65 | rtc: rtc@68 { | ||
66 | compatible = "stm,m41t62"; | ||
67 | reg = <0x68>; | ||
68 | }; | ||
69 | }; | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | regulators { | ||
74 | compatible = "simple-bus"; | ||
75 | #address-cells = <1>; | ||
76 | #size-cells = <0>; | ||
77 | |||
78 | reg_3p3v: regulator@0 { | ||
79 | compatible = "regulator-fixed"; | ||
80 | reg = <0>; | ||
81 | regulator-name = "3P3V"; | ||
82 | regulator-min-microvolt = <3300000>; | ||
83 | regulator-max-microvolt = <3300000>; | ||
84 | regulator-always-on; | ||
85 | }; | ||
86 | }; | ||
87 | }; | ||
diff --git a/arch/arm/boot/dts/imx28-m28evk.dts b/arch/arm/boot/dts/imx28-m28evk.dts index f0ad7b9b9d9a..b3c09ae3b928 100644 --- a/arch/arm/boot/dts/imx28-m28evk.dts +++ b/arch/arm/boot/dts/imx28-m28evk.dts | |||
@@ -10,52 +10,14 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | #include "imx28.dtsi" | 13 | #include "imx28-m28.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "DENX M28EVK"; | 16 | model = "DENX M28EVK"; |
17 | compatible = "denx,m28evk", "fsl,imx28"; | 17 | compatible = "denx,m28evk", "fsl,imx28"; |
18 | 18 | ||
19 | memory { | ||
20 | reg = <0x40000000 0x08000000>; | ||
21 | }; | ||
22 | |||
23 | apb@80000000 { | 19 | apb@80000000 { |
24 | apbh@80000000 { | 20 | apbh@80000000 { |
25 | gpmi-nand@8000c000 { | ||
26 | #address-cells = <1>; | ||
27 | #size-cells = <1>; | ||
28 | pinctrl-names = "default"; | ||
29 | pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; | ||
30 | status = "okay"; | ||
31 | |||
32 | partition@0 { | ||
33 | label = "bootloader"; | ||
34 | reg = <0x00000000 0x00300000>; | ||
35 | read-only; | ||
36 | }; | ||
37 | |||
38 | partition@1 { | ||
39 | label = "environment"; | ||
40 | reg = <0x00300000 0x00080000>; | ||
41 | }; | ||
42 | |||
43 | partition@2 { | ||
44 | label = "redundant-environment"; | ||
45 | reg = <0x00380000 0x00080000>; | ||
46 | }; | ||
47 | |||
48 | partition@3 { | ||
49 | label = "kernel"; | ||
50 | reg = <0x00400000 0x00400000>; | ||
51 | }; | ||
52 | |||
53 | partition@4 { | ||
54 | label = "filesystem"; | ||
55 | reg = <0x00800000 0x0f800000>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | ssp0: ssp@80010000 { | 21 | ssp0: ssp@80010000 { |
60 | compatible = "fsl,imx28-mmc"; | 22 | compatible = "fsl,imx28-mmc"; |
61 | pinctrl-names = "default"; | 23 | pinctrl-names = "default"; |
@@ -175,10 +137,6 @@ | |||
175 | }; | 137 | }; |
176 | 138 | ||
177 | i2c0: i2c@80058000 { | 139 | i2c0: i2c@80058000 { |
178 | pinctrl-names = "default"; | ||
179 | pinctrl-0 = <&i2c0_pins_a>; | ||
180 | status = "okay"; | ||
181 | |||
182 | sgtl5000: codec@0a { | 140 | sgtl5000: codec@0a { |
183 | compatible = "fsl,sgtl5000"; | 141 | compatible = "fsl,sgtl5000"; |
184 | reg = <0x0a>; | 142 | reg = <0x0a>; |
@@ -192,11 +150,6 @@ | |||
192 | reg = <0x51>; | 150 | reg = <0x51>; |
193 | pagesize = <32>; | 151 | pagesize = <32>; |
194 | }; | 152 | }; |
195 | |||
196 | rtc: rtc@68 { | ||
197 | compatible = "stm,m41t62"; | ||
198 | reg = <0x68>; | ||
199 | }; | ||
200 | }; | 153 | }; |
201 | 154 | ||
202 | lradc@80050000 { | 155 | lradc@80050000 { |
@@ -284,19 +237,6 @@ | |||
284 | }; | 237 | }; |
285 | 238 | ||
286 | regulators { | 239 | regulators { |
287 | compatible = "simple-bus"; | ||
288 | #address-cells = <1>; | ||
289 | #size-cells = <0>; | ||
290 | |||
291 | reg_3p3v: regulator@0 { | ||
292 | compatible = "regulator-fixed"; | ||
293 | reg = <0>; | ||
294 | regulator-name = "3P3V"; | ||
295 | regulator-min-microvolt = <3300000>; | ||
296 | regulator-max-microvolt = <3300000>; | ||
297 | regulator-always-on; | ||
298 | }; | ||
299 | |||
300 | reg_vddio_sd0: regulator@1 { | 240 | reg_vddio_sd0: regulator@1 { |
301 | compatible = "regulator-fixed"; | 241 | compatible = "regulator-fixed"; |
302 | reg = <1>; | 242 | reg = <1>; |
diff --git a/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts index f04ae91eea89..75b036700d31 100644 --- a/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts +++ b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts | |||
@@ -133,7 +133,6 @@ | |||
133 | 133 | ||
134 | &ssi1 { | 134 | &ssi1 { |
135 | codec-handle = <&tlv320aic23>; | 135 | codec-handle = <&tlv320aic23>; |
136 | fsl,mode = "i2s-slave"; | ||
137 | status = "okay"; | 136 | status = "okay"; |
138 | }; | 137 | }; |
139 | 138 | ||
diff --git a/arch/arm/boot/dts/imx35.dtsi b/arch/arm/boot/dts/imx35.dtsi index 4759abb49436..442e216ca9d9 100644 --- a/arch/arm/boot/dts/imx35.dtsi +++ b/arch/arm/boot/dts/imx35.dtsi | |||
@@ -193,6 +193,14 @@ | |||
193 | #clock-cells = <1>; | 193 | #clock-cells = <1>; |
194 | }; | 194 | }; |
195 | 195 | ||
196 | gpt: timer@53f90000 { | ||
197 | compatible = "fsl,imx35-gpt", "fsl,imx31-gpt"; | ||
198 | reg = <0x53f90000 0x4000>; | ||
199 | interrupts = <29>; | ||
200 | clocks = <&clks 9>, <&clks 50>; | ||
201 | clock-names = "ipg", "per"; | ||
202 | }; | ||
203 | |||
196 | gpio3: gpio@53fa4000 { | 204 | gpio3: gpio@53fa4000 { |
197 | compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; | 205 | compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; |
198 | reg = <0x53fa4000 0x4000>; | 206 | reg = <0x53fa4000 0x4000>; |
diff --git a/arch/arm/boot/dts/imx50.dtsi b/arch/arm/boot/dts/imx50.dtsi index 6a201cf54366..c0e0f60ab6b2 100644 --- a/arch/arm/boot/dts/imx50.dtsi +++ b/arch/arm/boot/dts/imx50.dtsi | |||
@@ -151,8 +151,10 @@ | |||
151 | reg = <0x50014000 0x4000>; | 151 | reg = <0x50014000 0x4000>; |
152 | interrupts = <30>; | 152 | interrupts = <30>; |
153 | clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>; | 153 | clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>; |
154 | dmas = <&sdma 24 1 0>, | ||
155 | <&sdma 25 1 0>; | ||
156 | dma-names = "rx", "tx"; | ||
154 | fsl,fifo-depth = <15>; | 157 | fsl,fifo-depth = <15>; |
155 | fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */ | ||
156 | status = "disabled"; | 158 | status = "disabled"; |
157 | }; | 159 | }; |
158 | 160 | ||
@@ -457,8 +459,10 @@ | |||
457 | reg = <0x63fcc000 0x4000>; | 459 | reg = <0x63fcc000 0x4000>; |
458 | interrupts = <29>; | 460 | interrupts = <29>; |
459 | clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>; | 461 | clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>; |
462 | dmas = <&sdma 28 0 0>, | ||
463 | <&sdma 29 0 0>; | ||
464 | dma-names = "rx", "tx"; | ||
460 | fsl,fifo-depth = <15>; | 465 | fsl,fifo-depth = <15>; |
461 | fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */ | ||
462 | status = "disabled"; | 466 | status = "disabled"; |
463 | }; | 467 | }; |
464 | 468 | ||
diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts index 181d77fa2fa6..56569cecaa78 100644 --- a/arch/arm/boot/dts/imx51-babbage.dts +++ b/arch/arm/boot/dts/imx51-babbage.dts | |||
@@ -203,6 +203,7 @@ | |||
203 | reg = <0>; | 203 | reg = <0>; |
204 | interrupt-parent = <&gpio1>; | 204 | interrupt-parent = <&gpio1>; |
205 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; | 205 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; |
206 | fsl,mc13xxx-uses-rtc; | ||
206 | 207 | ||
207 | regulators { | 208 | regulators { |
208 | sw1_reg: sw1 { | 209 | sw1_reg: sw1 { |
@@ -392,7 +393,6 @@ | |||
392 | }; | 393 | }; |
393 | 394 | ||
394 | &ssi2 { | 395 | &ssi2 { |
395 | fsl,mode = "i2s-slave"; | ||
396 | status = "okay"; | 396 | status = "okay"; |
397 | }; | 397 | }; |
398 | 398 | ||
diff --git a/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts b/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts index 31cfb7f2b02e..34599c547459 100644 --- a/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts +++ b/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts | |||
@@ -255,7 +255,6 @@ | |||
255 | 255 | ||
256 | &ssi2 { | 256 | &ssi2 { |
257 | codec-handle = <&tlv320aic23>; | 257 | codec-handle = <&tlv320aic23>; |
258 | fsl,mode = "i2s-slave"; | ||
259 | status = "okay"; | 258 | status = "okay"; |
260 | }; | 259 | }; |
261 | 260 | ||
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi index bebbf3ba0d5e..17c05a6fa776 100644 --- a/arch/arm/boot/dts/imx51.dtsi +++ b/arch/arm/boot/dts/imx51.dtsi | |||
@@ -218,7 +218,6 @@ | |||
218 | <&sdma 25 1 0>; | 218 | <&sdma 25 1 0>; |
219 | dma-names = "rx", "tx"; | 219 | dma-names = "rx", "tx"; |
220 | fsl,fifo-depth = <15>; | 220 | fsl,fifo-depth = <15>; |
221 | fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */ | ||
222 | status = "disabled"; | 221 | status = "disabled"; |
223 | }; | 222 | }; |
224 | 223 | ||
@@ -508,7 +507,6 @@ | |||
508 | <&sdma 29 0 0>; | 507 | <&sdma 29 0 0>; |
509 | dma-names = "rx", "tx"; | 508 | dma-names = "rx", "tx"; |
510 | fsl,fifo-depth = <15>; | 509 | fsl,fifo-depth = <15>; |
511 | fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */ | ||
512 | status = "disabled"; | 510 | status = "disabled"; |
513 | }; | 511 | }; |
514 | 512 | ||
@@ -564,7 +562,6 @@ | |||
564 | <&sdma 47 0 0>; | 562 | <&sdma 47 0 0>; |
565 | dma-names = "rx", "tx"; | 563 | dma-names = "rx", "tx"; |
566 | fsl,fifo-depth = <15>; | 564 | fsl,fifo-depth = <15>; |
567 | fsl,ssi-dma-events = <47 46 37 35>; /* TX0 RX0 TX1 RX1 */ | ||
568 | status = "disabled"; | 565 | status = "disabled"; |
569 | }; | 566 | }; |
570 | 567 | ||
diff --git a/arch/arm/boot/dts/imx53-m53.dtsi b/arch/arm/boot/dts/imx53-m53.dtsi new file mode 100644 index 000000000000..87a7fc709c2d --- /dev/null +++ b/arch/arm/boot/dts/imx53-m53.dtsi | |||
@@ -0,0 +1,140 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Marek Vasut <marex@denx.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | #include "imx53.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "DENX M53"; | ||
16 | compatible = "denx,imx53-m53", "fsl,imx53"; | ||
17 | |||
18 | memory { | ||
19 | reg = <0x70000000 0x20000000>, | ||
20 | <0xb0000000 0x20000000>; | ||
21 | }; | ||
22 | |||
23 | regulators { | ||
24 | compatible = "simple-bus"; | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | |||
28 | reg_3p2v: regulator@0 { | ||
29 | compatible = "regulator-fixed"; | ||
30 | reg = <0>; | ||
31 | regulator-name = "3P2V"; | ||
32 | regulator-min-microvolt = <3200000>; | ||
33 | regulator-max-microvolt = <3200000>; | ||
34 | regulator-always-on; | ||
35 | }; | ||
36 | |||
37 | reg_backlight: regulator@1 { | ||
38 | compatible = "regulator-fixed"; | ||
39 | reg = <1>; | ||
40 | regulator-name = "lcd-supply"; | ||
41 | regulator-min-microvolt = <3200000>; | ||
42 | regulator-max-microvolt = <3200000>; | ||
43 | regulator-always-on; | ||
44 | }; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | &i2c2 { | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_i2c2>; | ||
51 | clock-frequency = <400000>; | ||
52 | status = "okay"; | ||
53 | |||
54 | stmpe610@41 { | ||
55 | compatible = "st,stmpe610"; | ||
56 | #address-cells = <1>; | ||
57 | #size-cells = <0>; | ||
58 | reg = <0x41>; | ||
59 | id = <0>; | ||
60 | blocks = <0x5>; | ||
61 | interrupts = <6 0x0>; | ||
62 | interrupt-parent = <&gpio7>; | ||
63 | irq-trigger = <0x1>; | ||
64 | |||
65 | stmpe_touchscreen { | ||
66 | compatible = "st,stmpe-ts"; | ||
67 | reg = <0>; | ||
68 | st,sample-time = <4>; | ||
69 | st,mod-12b = <1>; | ||
70 | st,ref-sel = <0>; | ||
71 | st,adc-freq = <1>; | ||
72 | st,ave-ctrl = <3>; | ||
73 | st,touch-det-delay = <3>; | ||
74 | st,settling = <4>; | ||
75 | st,fraction-z = <7>; | ||
76 | st,i-drive = <1>; | ||
77 | }; | ||
78 | }; | ||
79 | |||
80 | eeprom: eeprom@50 { | ||
81 | compatible = "atmel,24c128"; | ||
82 | reg = <0x50>; | ||
83 | pagesize = <32>; | ||
84 | }; | ||
85 | |||
86 | rtc: rtc@68 { | ||
87 | compatible = "stm,m41t62"; | ||
88 | reg = <0x68>; | ||
89 | }; | ||
90 | }; | ||
91 | |||
92 | &iomuxc { | ||
93 | pinctrl-names = "default"; | ||
94 | pinctrl-0 = <&pinctrl_hog>; | ||
95 | |||
96 | imx53-m53evk { | ||
97 | pinctrl_hog: hoggrp { | ||
98 | fsl,pins = < | ||
99 | MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000 | ||
100 | MX53_PAD_EIM_EB3__GPIO2_31 0x80000000 | ||
101 | MX53_PAD_PATA_DA_0__GPIO7_6 0x80000000 | ||
102 | >; | ||
103 | }; | ||
104 | |||
105 | pinctrl_i2c2: i2c2grp { | ||
106 | fsl,pins = < | ||
107 | MX53_PAD_EIM_D16__I2C2_SDA 0xc0000000 | ||
108 | MX53_PAD_EIM_EB2__I2C2_SCL 0xc0000000 | ||
109 | >; | ||
110 | }; | ||
111 | |||
112 | pinctrl_nand: nandgrp { | ||
113 | fsl,pins = < | ||
114 | MX53_PAD_NANDF_WE_B__EMI_NANDF_WE_B 0x4 | ||
115 | MX53_PAD_NANDF_RE_B__EMI_NANDF_RE_B 0x4 | ||
116 | MX53_PAD_NANDF_CLE__EMI_NANDF_CLE 0x4 | ||
117 | MX53_PAD_NANDF_ALE__EMI_NANDF_ALE 0x4 | ||
118 | MX53_PAD_NANDF_WP_B__EMI_NANDF_WP_B 0xe0 | ||
119 | MX53_PAD_NANDF_RB0__EMI_NANDF_RB_0 0xe0 | ||
120 | MX53_PAD_NANDF_CS0__EMI_NANDF_CS_0 0x4 | ||
121 | MX53_PAD_PATA_DATA0__EMI_NANDF_D_0 0xa4 | ||
122 | MX53_PAD_PATA_DATA1__EMI_NANDF_D_1 0xa4 | ||
123 | MX53_PAD_PATA_DATA2__EMI_NANDF_D_2 0xa4 | ||
124 | MX53_PAD_PATA_DATA3__EMI_NANDF_D_3 0xa4 | ||
125 | MX53_PAD_PATA_DATA4__EMI_NANDF_D_4 0xa4 | ||
126 | MX53_PAD_PATA_DATA5__EMI_NANDF_D_5 0xa4 | ||
127 | MX53_PAD_PATA_DATA6__EMI_NANDF_D_6 0xa4 | ||
128 | MX53_PAD_PATA_DATA7__EMI_NANDF_D_7 0xa4 | ||
129 | >; | ||
130 | }; | ||
131 | }; | ||
132 | }; | ||
133 | |||
134 | &nfc { | ||
135 | pinctrl-names = "default"; | ||
136 | pinctrl-0 = <&pinctrl_nand>; | ||
137 | nand-bus-width = <8>; | ||
138 | nand-ecc-mode = "hw"; | ||
139 | status = "okay"; | ||
140 | }; | ||
diff --git a/arch/arm/boot/dts/imx53-m53evk.dts b/arch/arm/boot/dts/imx53-m53evk.dts index c4956b0ffb35..d0e0f57eb432 100644 --- a/arch/arm/boot/dts/imx53-m53evk.dts +++ b/arch/arm/boot/dts/imx53-m53evk.dts | |||
@@ -10,17 +10,12 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | #include "imx53.dtsi" | 13 | #include "imx53-m53.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "DENX M53EVK"; | 16 | model = "DENX M53EVK"; |
17 | compatible = "denx,imx53-m53evk", "fsl,imx53"; | 17 | compatible = "denx,imx53-m53evk", "fsl,imx53"; |
18 | 18 | ||
19 | memory { | ||
20 | reg = <0x70000000 0x20000000>, | ||
21 | <0xb0000000 0x20000000>; | ||
22 | }; | ||
23 | |||
24 | display1: display@di1 { | 19 | display1: display@di1 { |
25 | compatible = "fsl,imx-parallel-display"; | 20 | compatible = "fsl,imx-parallel-display"; |
26 | interface-pix-fmt = "bgr666"; | 21 | interface-pix-fmt = "bgr666"; |
@@ -81,25 +76,6 @@ | |||
81 | #address-cells = <1>; | 76 | #address-cells = <1>; |
82 | #size-cells = <0>; | 77 | #size-cells = <0>; |
83 | 78 | ||
84 | reg_3p2v: regulator@0 { | ||
85 | compatible = "regulator-fixed"; | ||
86 | reg = <0>; | ||
87 | regulator-name = "3P2V"; | ||
88 | regulator-min-microvolt = <3200000>; | ||
89 | regulator-max-microvolt = <3200000>; | ||
90 | regulator-always-on; | ||
91 | }; | ||
92 | |||
93 | |||
94 | reg_backlight: regulator@1 { | ||
95 | compatible = "regulator-fixed"; | ||
96 | reg = <1>; | ||
97 | regulator-name = "lcd-supply"; | ||
98 | regulator-min-microvolt = <3200000>; | ||
99 | regulator-max-microvolt = <3200000>; | ||
100 | regulator-always-on; | ||
101 | }; | ||
102 | |||
103 | reg_usbh1_vbus: regulator@3 { | 79 | reg_usbh1_vbus: regulator@3 { |
104 | compatible = "regulator-fixed"; | 80 | compatible = "regulator-fixed"; |
105 | reg = <3>; | 81 | reg = <3>; |
@@ -174,50 +150,6 @@ | |||
174 | }; | 150 | }; |
175 | }; | 151 | }; |
176 | 152 | ||
177 | &i2c2 { | ||
178 | pinctrl-names = "default"; | ||
179 | pinctrl-0 = <&pinctrl_i2c2>; | ||
180 | clock-frequency = <400000>; | ||
181 | status = "okay"; | ||
182 | |||
183 | stmpe610@41 { | ||
184 | compatible = "st,stmpe610"; | ||
185 | #address-cells = <1>; | ||
186 | #size-cells = <0>; | ||
187 | reg = <0x41>; | ||
188 | id = <0>; | ||
189 | blocks = <0x5>; | ||
190 | interrupts = <6 0x0>; | ||
191 | interrupt-parent = <&gpio7>; | ||
192 | irq-trigger = <0x1>; | ||
193 | |||
194 | stmpe_touchscreen { | ||
195 | compatible = "st,stmpe-ts"; | ||
196 | reg = <0>; | ||
197 | st,sample-time = <4>; | ||
198 | st,mod-12b = <1>; | ||
199 | st,ref-sel = <0>; | ||
200 | st,adc-freq = <1>; | ||
201 | st,ave-ctrl = <3>; | ||
202 | st,touch-det-delay = <3>; | ||
203 | st,settling = <4>; | ||
204 | st,fraction-z = <7>; | ||
205 | st,i-drive = <1>; | ||
206 | }; | ||
207 | }; | ||
208 | |||
209 | eeprom: eeprom@50 { | ||
210 | compatible = "atmel,24c128"; | ||
211 | reg = <0x50>; | ||
212 | pagesize = <32>; | ||
213 | }; | ||
214 | |||
215 | rtc: rtc@68 { | ||
216 | compatible = "stm,m41t62"; | ||
217 | reg = <0x68>; | ||
218 | }; | ||
219 | }; | ||
220 | |||
221 | &i2c3 { | 153 | &i2c3 { |
222 | pinctrl-names = "default"; | 154 | pinctrl-names = "default"; |
223 | pinctrl-0 = <&pinctrl_i2c3>; | 155 | pinctrl-0 = <&pinctrl_i2c3>; |
@@ -229,11 +161,8 @@ | |||
229 | pinctrl-0 = <&pinctrl_hog>; | 161 | pinctrl-0 = <&pinctrl_hog>; |
230 | 162 | ||
231 | imx53-m53evk { | 163 | imx53-m53evk { |
232 | pinctrl_hog: hoggrp { | 164 | pinctrl_usb: usbgrp { |
233 | fsl,pins = < | 165 | fsl,pins = < |
234 | MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000 | ||
235 | MX53_PAD_EIM_EB3__GPIO2_31 0x80000000 | ||
236 | MX53_PAD_PATA_DA_0__GPIO7_6 0x80000000 | ||
237 | MX53_PAD_GPIO_2__GPIO1_2 0x80000000 | 166 | MX53_PAD_GPIO_2__GPIO1_2 0x80000000 |
238 | MX53_PAD_GPIO_3__USBOH3_USBH1_OC 0x80000000 | 167 | MX53_PAD_GPIO_3__USBOH3_USBH1_OC 0x80000000 |
239 | >; | 168 | >; |
@@ -302,13 +231,6 @@ | |||
302 | >; | 231 | >; |
303 | }; | 232 | }; |
304 | 233 | ||
305 | pinctrl_i2c2: i2c2grp { | ||
306 | fsl,pins = < | ||
307 | MX53_PAD_EIM_D16__I2C2_SDA 0xc0000000 | ||
308 | MX53_PAD_EIM_EB2__I2C2_SCL 0xc0000000 | ||
309 | >; | ||
310 | }; | ||
311 | |||
312 | pinctrl_i2c3: i2c3grp { | 234 | pinctrl_i2c3: i2c3grp { |
313 | fsl,pins = < | 235 | fsl,pins = < |
314 | MX53_PAD_GPIO_6__I2C3_SDA 0xc0000000 | 236 | MX53_PAD_GPIO_6__I2C3_SDA 0xc0000000 |
@@ -353,26 +275,6 @@ | |||
353 | >; | 275 | >; |
354 | }; | 276 | }; |
355 | 277 | ||
356 | pinctrl_nand: nandgrp { | ||
357 | fsl,pins = < | ||
358 | MX53_PAD_NANDF_WE_B__EMI_NANDF_WE_B 0x4 | ||
359 | MX53_PAD_NANDF_RE_B__EMI_NANDF_RE_B 0x4 | ||
360 | MX53_PAD_NANDF_CLE__EMI_NANDF_CLE 0x4 | ||
361 | MX53_PAD_NANDF_ALE__EMI_NANDF_ALE 0x4 | ||
362 | MX53_PAD_NANDF_WP_B__EMI_NANDF_WP_B 0xe0 | ||
363 | MX53_PAD_NANDF_RB0__EMI_NANDF_RB_0 0xe0 | ||
364 | MX53_PAD_NANDF_CS0__EMI_NANDF_CS_0 0x4 | ||
365 | MX53_PAD_PATA_DATA0__EMI_NANDF_D_0 0xa4 | ||
366 | MX53_PAD_PATA_DATA1__EMI_NANDF_D_1 0xa4 | ||
367 | MX53_PAD_PATA_DATA2__EMI_NANDF_D_2 0xa4 | ||
368 | MX53_PAD_PATA_DATA3__EMI_NANDF_D_3 0xa4 | ||
369 | MX53_PAD_PATA_DATA4__EMI_NANDF_D_4 0xa4 | ||
370 | MX53_PAD_PATA_DATA5__EMI_NANDF_D_5 0xa4 | ||
371 | MX53_PAD_PATA_DATA6__EMI_NANDF_D_6 0xa4 | ||
372 | MX53_PAD_PATA_DATA7__EMI_NANDF_D_7 0xa4 | ||
373 | >; | ||
374 | }; | ||
375 | |||
376 | pinctrl_pwm1: pwm1grp { | 278 | pinctrl_pwm1: pwm1grp { |
377 | fsl,pins = < | 279 | fsl,pins = < |
378 | MX53_PAD_DISP0_DAT8__PWM1_PWMO 0x5 | 280 | MX53_PAD_DISP0_DAT8__PWM1_PWMO 0x5 |
@@ -408,14 +310,6 @@ | |||
408 | remote-endpoint = <&display1_in>; | 310 | remote-endpoint = <&display1_in>; |
409 | }; | 311 | }; |
410 | 312 | ||
411 | &nfc { | ||
412 | pinctrl-names = "default"; | ||
413 | pinctrl-0 = <&pinctrl_nand>; | ||
414 | nand-bus-width = <8>; | ||
415 | nand-ecc-mode = "hw"; | ||
416 | status = "okay"; | ||
417 | }; | ||
418 | |||
419 | &pwm1 { | 313 | &pwm1 { |
420 | pinctrl-names = "default"; | 314 | pinctrl-names = "default"; |
421 | pinctrl-0 = <&pinctrl_pwm1>; | 315 | pinctrl-0 = <&pinctrl_pwm1>; |
@@ -427,7 +321,6 @@ | |||
427 | }; | 321 | }; |
428 | 322 | ||
429 | &ssi2 { | 323 | &ssi2 { |
430 | fsl,mode = "i2s-slave"; | ||
431 | status = "okay"; | 324 | status = "okay"; |
432 | }; | 325 | }; |
433 | 326 | ||
@@ -450,6 +343,8 @@ | |||
450 | }; | 343 | }; |
451 | 344 | ||
452 | &usbh1 { | 345 | &usbh1 { |
346 | pinctrl-names = "default"; | ||
347 | pinctrl-0 = <&pinctrl_usb>; | ||
453 | vbus-supply = <®_usbh1_vbus>; | 348 | vbus-supply = <®_usbh1_vbus>; |
454 | phy_type = "utmi"; | 349 | phy_type = "utmi"; |
455 | status = "okay"; | 350 | status = "okay"; |
diff --git a/arch/arm/boot/dts/imx53-mba53.dts b/arch/arm/boot/dts/imx53-mba53.dts index 3e3f17aa93a1..2e44d2aba14e 100644 --- a/arch/arm/boot/dts/imx53-mba53.dts +++ b/arch/arm/boot/dts/imx53-mba53.dts | |||
@@ -225,7 +225,6 @@ | |||
225 | }; | 225 | }; |
226 | 226 | ||
227 | &ssi2 { | 227 | &ssi2 { |
228 | fsl,mode = "i2s-slave"; | ||
229 | status = "okay"; | 228 | status = "okay"; |
230 | }; | 229 | }; |
231 | 230 | ||
diff --git a/arch/arm/boot/dts/imx53-qsb-common.dtsi b/arch/arm/boot/dts/imx53-qsb-common.dtsi index fd8c60dde7de..181ae5ebf23f 100644 --- a/arch/arm/boot/dts/imx53-qsb-common.dtsi +++ b/arch/arm/boot/dts/imx53-qsb-common.dtsi | |||
@@ -141,7 +141,6 @@ | |||
141 | }; | 141 | }; |
142 | 142 | ||
143 | &ssi2 { | 143 | &ssi2 { |
144 | fsl,mode = "i2s-slave"; | ||
145 | status = "okay"; | 144 | status = "okay"; |
146 | }; | 145 | }; |
147 | 146 | ||
diff --git a/arch/arm/boot/dts/imx53-tx53.dtsi b/arch/arm/boot/dts/imx53-tx53.dtsi index e348796ba689..704bd72cbfec 100644 --- a/arch/arm/boot/dts/imx53-tx53.dtsi +++ b/arch/arm/boot/dts/imx53-tx53.dtsi | |||
@@ -502,7 +502,6 @@ | |||
502 | }; | 502 | }; |
503 | 503 | ||
504 | &ssi1 { | 504 | &ssi1 { |
505 | fsl,mode = "i2s-slave"; | ||
506 | codec-handle = <&sgtl5000>; | 505 | codec-handle = <&sgtl5000>; |
507 | status = "okay"; | 506 | status = "okay"; |
508 | }; | 507 | }; |
diff --git a/arch/arm/boot/dts/imx53-voipac-bsb.dts b/arch/arm/boot/dts/imx53-voipac-bsb.dts index 7f6711a48615..c17d3ad6dba5 100644 --- a/arch/arm/boot/dts/imx53-voipac-bsb.dts +++ b/arch/arm/boot/dts/imx53-voipac-bsb.dts | |||
@@ -154,6 +154,5 @@ | |||
154 | }; | 154 | }; |
155 | 155 | ||
156 | &ssi2 { | 156 | &ssi2 { |
157 | fsl,mode = "i2s-slave"; | ||
158 | status = "okay"; | 157 | status = "okay"; |
159 | }; | 158 | }; |
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi index 6456a0084388..64fa27b36be0 100644 --- a/arch/arm/boot/dts/imx53.dtsi +++ b/arch/arm/boot/dts/imx53.dtsi | |||
@@ -108,7 +108,7 @@ | |||
108 | clocks = <&clks IMX5_CLK_SATA_GATE>, | 108 | clocks = <&clks IMX5_CLK_SATA_GATE>, |
109 | <&clks IMX5_CLK_SATA_REF>, | 109 | <&clks IMX5_CLK_SATA_REF>, |
110 | <&clks IMX5_CLK_AHB>; | 110 | <&clks IMX5_CLK_AHB>; |
111 | clock-names = "sata_gate", "sata_ref", "ahb"; | 111 | clock-names = "sata", "sata_ref", "ahb"; |
112 | status = "disabled"; | 112 | status = "disabled"; |
113 | }; | 113 | }; |
114 | 114 | ||
@@ -231,7 +231,6 @@ | |||
231 | <&sdma 25 1 0>; | 231 | <&sdma 25 1 0>; |
232 | dma-names = "rx", "tx"; | 232 | dma-names = "rx", "tx"; |
233 | fsl,fifo-depth = <15>; | 233 | fsl,fifo-depth = <15>; |
234 | fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */ | ||
235 | status = "disabled"; | 234 | status = "disabled"; |
236 | }; | 235 | }; |
237 | 236 | ||
@@ -260,6 +259,11 @@ | |||
260 | }; | 259 | }; |
261 | }; | 260 | }; |
262 | 261 | ||
262 | aipstz1: bridge@53f00000 { | ||
263 | compatible = "fsl,imx53-aipstz"; | ||
264 | reg = <0x53f00000 0x60>; | ||
265 | }; | ||
266 | |||
263 | usbphy0: usbphy@0 { | 267 | usbphy0: usbphy@0 { |
264 | compatible = "usb-nop-xceiv"; | 268 | compatible = "usb-nop-xceiv"; |
265 | clocks = <&clks IMX5_CLK_USB_PHY1_GATE>; | 269 | clocks = <&clks IMX5_CLK_USB_PHY1_GATE>; |
@@ -572,6 +576,11 @@ | |||
572 | reg = <0x60000000 0x10000000>; | 576 | reg = <0x60000000 0x10000000>; |
573 | ranges; | 577 | ranges; |
574 | 578 | ||
579 | aipstz2: bridge@63f00000 { | ||
580 | compatible = "fsl,imx53-aipstz"; | ||
581 | reg = <0x63f00000 0x60>; | ||
582 | }; | ||
583 | |||
575 | iim: iim@63f98000 { | 584 | iim: iim@63f98000 { |
576 | compatible = "fsl,imx53-iim", "fsl,imx27-iim"; | 585 | compatible = "fsl,imx53-iim", "fsl,imx27-iim"; |
577 | reg = <0x63f98000 0x4000>; | 586 | reg = <0x63f98000 0x4000>; |
@@ -661,7 +670,6 @@ | |||
661 | <&sdma 29 0 0>; | 670 | <&sdma 29 0 0>; |
662 | dma-names = "rx", "tx"; | 671 | dma-names = "rx", "tx"; |
663 | fsl,fifo-depth = <15>; | 672 | fsl,fifo-depth = <15>; |
664 | fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */ | ||
665 | status = "disabled"; | 673 | status = "disabled"; |
666 | }; | 674 | }; |
667 | 675 | ||
@@ -689,7 +697,6 @@ | |||
689 | <&sdma 47 0 0>; | 697 | <&sdma 47 0 0>; |
690 | dma-names = "rx", "tx"; | 698 | dma-names = "rx", "tx"; |
691 | fsl,fifo-depth = <15>; | 699 | fsl,fifo-depth = <15>; |
692 | fsl,ssi-dma-events = <47 46 45 44>; /* TX0 RX0 TX1 RX1 */ | ||
693 | status = "disabled"; | 700 | status = "disabled"; |
694 | }; | 701 | }; |
695 | 702 | ||
diff --git a/arch/arm/boot/dts/imx6dl-aristainetos_4.dts b/arch/arm/boot/dts/imx6dl-aristainetos_4.dts new file mode 100644 index 000000000000..9cd06e5e59f0 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-aristainetos_4.dts | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * support fot the imx6 based aristainetos board | ||
3 | * | ||
4 | * Copyright (C) 2014 Heiko Schocher <hs@denx.de> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | #include "imx6dl.dtsi" | ||
13 | #include "imx6qdl-aristainetos.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "aristainetos i.MX6 Dual Lite Board 4"; | ||
17 | compatible = "fsl,imx6dl"; | ||
18 | |||
19 | backlight { | ||
20 | compatible = "pwm-backlight"; | ||
21 | pwms = <&pwm1 0 5000000>; | ||
22 | brightness-levels = <0 4 8 16 32 64 128 255>; | ||
23 | default-brightness-level = <7>; | ||
24 | enable-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; | ||
25 | pinctrl-names = "default"; | ||
26 | pinctrl-0 = <&pinctrl_backlight>; | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | |||
30 | memory { | ||
31 | reg = <0x10000000 0x40000000>; | ||
32 | }; | ||
33 | |||
34 | soc { | ||
35 | display0: display@di0 { | ||
36 | compatible = "fsl,imx-parallel-display"; | ||
37 | interface-pix-fmt = "rgb24"; | ||
38 | pinctrl-names = "default"; | ||
39 | pinctrl-0 = <&pinctrl_ipu_disp>; | ||
40 | status = "okay"; | ||
41 | |||
42 | display-timings { | ||
43 | 480x800p60 { | ||
44 | native-mode; | ||
45 | clock-frequency = <30000000>; | ||
46 | hactive = <480>; | ||
47 | vactive = <800>; | ||
48 | hfront-porch = <59>; | ||
49 | hback-porch = <10>; | ||
50 | hsync-len = <10>; | ||
51 | vback-porch = <15>; | ||
52 | vfront-porch = <15>; | ||
53 | vsync-len = <15>; | ||
54 | hsync-active = <1>; | ||
55 | vsync-active = <1>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | port { | ||
60 | display0_in: endpoint { | ||
61 | remote-endpoint = <&ipu1_di0_disp0>; | ||
62 | }; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | }; | ||
67 | |||
68 | &ecspi2 { | ||
69 | fsl,spi-num-chipselects = <1>; | ||
70 | cs-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>; | ||
71 | pinctrl-names = "default"; | ||
72 | pinctrl-0 = <&pinctrl_ecspi2>; | ||
73 | status = "okay"; | ||
74 | }; | ||
75 | |||
76 | &i2c2 { | ||
77 | clock-frequency = <100000>; | ||
78 | pinctrl-names = "default"; | ||
79 | pinctrl-0 = <&pinctrl_i2c2>; | ||
80 | status = "okay"; | ||
81 | }; | ||
82 | |||
83 | &ipu1_di0_disp0 { | ||
84 | remote-endpoint = <&display0_in>; | ||
85 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-aristainetos_7.dts b/arch/arm/boot/dts/imx6dl-aristainetos_7.dts new file mode 100644 index 000000000000..b413e24288dc --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-aristainetos_7.dts | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * support fot the imx6 based aristainetos board | ||
3 | * | ||
4 | * Copyright (C) 2014 Heiko Schocher <hs@denx.de> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | #include "imx6dl.dtsi" | ||
13 | #include "imx6qdl-aristainetos.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "aristainetos i.MX6 Dual Lite Board 7"; | ||
17 | compatible = "fsl,imx6dl"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x10000000 0x40000000>; | ||
21 | }; | ||
22 | |||
23 | soc { | ||
24 | display0: display@di0 { | ||
25 | compatible = "fsl,imx-parallel-display"; | ||
26 | interface-pix-fmt = "rgb24"; | ||
27 | pinctrl-names = "default"; | ||
28 | pinctrl-0 = <&pinctrl_ipu_disp>; | ||
29 | status = "okay"; | ||
30 | |||
31 | display-timings { | ||
32 | 800x480p60 { | ||
33 | native-mode; | ||
34 | clock-frequency = <33246000>; | ||
35 | hactive = <800>; | ||
36 | vactive = <480>; | ||
37 | hfront-porch = <88>; | ||
38 | hback-porch = <88>; | ||
39 | hsync-len = <80>; | ||
40 | vback-porch = <10>; | ||
41 | vfront-porch = <10>; | ||
42 | vsync-len = <25>; | ||
43 | vsync-active = <1>; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | port { | ||
48 | display0_in: endpoint { | ||
49 | remote-endpoint = <&ipu1_di0_disp0>; | ||
50 | }; | ||
51 | }; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | backlight { | ||
56 | compatible = "pwm-backlight"; | ||
57 | pwms = <&pwm3 0 3000>; | ||
58 | brightness-levels = <0 4 8 16 32 64 128 255>; | ||
59 | default-brightness-level = <6>; | ||
60 | pinctrl-names = "default"; | ||
61 | pinctrl-0 = <&pinctrl_backlight>; | ||
62 | }; | ||
63 | }; | ||
64 | |||
65 | &i2c2 { | ||
66 | clock-frequency = <100000>; | ||
67 | pinctrl-names = "default"; | ||
68 | pinctrl-0 = <&pinctrl_i2c2>; | ||
69 | status = "okay"; | ||
70 | }; | ||
71 | |||
72 | &ipu1_di0_disp0 { | ||
73 | remote-endpoint = <&display0_in>; | ||
74 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-gw51xx.dts b/arch/arm/boot/dts/imx6dl-gw51xx.dts index 4bd055f4c930..b2bd022fc6be 100644 --- a/arch/arm/boot/dts/imx6dl-gw51xx.dts +++ b/arch/arm/boot/dts/imx6dl-gw51xx.dts | |||
@@ -14,6 +14,6 @@ | |||
14 | #include "imx6qdl-gw51xx.dtsi" | 14 | #include "imx6qdl-gw51xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 DualLite GW51XX"; | 17 | model = "Gateworks Ventana i.MX6 DualLite/Solo GW51XX"; |
18 | compatible = "gw,imx6dl-gw51xx", "gw,ventana", "fsl,imx6dl"; | 18 | compatible = "gw,imx6dl-gw51xx", "gw,ventana", "fsl,imx6dl"; |
19 | }; | 19 | }; |
diff --git a/arch/arm/boot/dts/imx6dl-gw52xx.dts b/arch/arm/boot/dts/imx6dl-gw52xx.dts index c9136058f15e..a2e0b73fdd4a 100644 --- a/arch/arm/boot/dts/imx6dl-gw52xx.dts +++ b/arch/arm/boot/dts/imx6dl-gw52xx.dts | |||
@@ -14,6 +14,6 @@ | |||
14 | #include "imx6qdl-gw52xx.dtsi" | 14 | #include "imx6qdl-gw52xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 DualLite GW52XX"; | 17 | model = "Gateworks Ventana i.MX6 DualLite/Solo GW52XX"; |
18 | compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl"; | 18 | compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl"; |
19 | }; | 19 | }; |
diff --git a/arch/arm/boot/dts/imx6dl-gw53xx.dts b/arch/arm/boot/dts/imx6dl-gw53xx.dts index 61818a14fde6..6844b708d2f8 100644 --- a/arch/arm/boot/dts/imx6dl-gw53xx.dts +++ b/arch/arm/boot/dts/imx6dl-gw53xx.dts | |||
@@ -14,6 +14,6 @@ | |||
14 | #include "imx6qdl-gw53xx.dtsi" | 14 | #include "imx6qdl-gw53xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 DualLite GW53XX"; | 17 | model = "Gateworks Ventana i.MX6 DualLite/Solo GW53XX"; |
18 | compatible = "gw,imx6dl-gw53xx", "gw,ventana", "fsl,imx6dl"; | 18 | compatible = "gw,imx6dl-gw53xx", "gw,ventana", "fsl,imx6dl"; |
19 | }; | 19 | }; |
diff --git a/arch/arm/boot/dts/imx6dl-gw54xx.dts b/arch/arm/boot/dts/imx6dl-gw54xx.dts index ab38b6770a06..be915412f852 100644 --- a/arch/arm/boot/dts/imx6dl-gw54xx.dts +++ b/arch/arm/boot/dts/imx6dl-gw54xx.dts | |||
@@ -14,6 +14,6 @@ | |||
14 | #include "imx6qdl-gw54xx.dtsi" | 14 | #include "imx6qdl-gw54xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 DualLite GW54XX"; | 17 | model = "Gateworks Ventana i.MX6 DualLite/Solo GW54XX"; |
18 | compatible = "gw,imx6dl-gw54xx", "gw,ventana", "fsl,imx6dl"; | 18 | compatible = "gw,imx6dl-gw54xx", "gw,ventana", "fsl,imx6dl"; |
19 | }; | 19 | }; |
diff --git a/arch/arm/boot/dts/imx6dl-rex-basic.dts b/arch/arm/boot/dts/imx6dl-rex-basic.dts new file mode 100644 index 000000000000..b13845c2823b --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-rex-basic.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Copyright 2014 FEDEVEL, Inc. | ||
3 | * | ||
4 | * Author: Robert Nelson <robertcnelson@gmail.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | #include "imx6dl.dtsi" | ||
13 | #include "imx6qdl-rex.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Rex Basic i.MX6 Dual Lite Board"; | ||
17 | compatible = "rex,imx6dl-rex-basic", "fsl,imx6dl"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x10000000 0x20000000>; | ||
21 | }; | ||
22 | }; | ||
23 | |||
24 | &ecspi3 { | ||
25 | flash: m25p80@0 { | ||
26 | compatible = "sst,sst25vf016b"; | ||
27 | spi-max-frequency = <20000000>; | ||
28 | reg = <0>; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-riotboard.dts b/arch/arm/boot/dts/imx6dl-riotboard.dts index 909fafc0b650..43cb3fd76be7 100644 --- a/arch/arm/boot/dts/imx6dl-riotboard.dts +++ b/arch/arm/boot/dts/imx6dl-riotboard.dts | |||
@@ -254,7 +254,6 @@ | |||
254 | }; | 254 | }; |
255 | 255 | ||
256 | &ssi1 { | 256 | &ssi1 { |
257 | fsl,mode = "i2s-slave"; | ||
258 | status = "okay"; | 257 | status = "okay"; |
259 | }; | 258 | }; |
260 | 259 | ||
@@ -335,10 +334,10 @@ | |||
335 | imx6-riotboard { | 334 | imx6-riotboard { |
336 | pinctrl_audmux: audmuxgrp { | 335 | pinctrl_audmux: audmuxgrp { |
337 | fsl,pins = < | 336 | fsl,pins = < |
338 | MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x8000000 | 337 | MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 |
339 | MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x8000000 | 338 | MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 |
340 | MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x8000000 | 339 | MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 |
341 | MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x8000000 | 340 | MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 |
342 | MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 /* CAM_MCLK */ | 341 | MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 /* CAM_MCLK */ |
343 | >; | 342 | >; |
344 | }; | 343 | }; |
@@ -376,7 +375,7 @@ | |||
376 | fsl,pins = < | 375 | fsl,pins = < |
377 | MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 | 376 | MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 |
378 | MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 | 377 | MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 |
379 | MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x80000000 | 378 | MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 |
380 | MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 | 379 | MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 |
381 | MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 | 380 | MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 |
382 | MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 | 381 | MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 |
@@ -389,9 +388,9 @@ | |||
389 | MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 /* AR8035 pin strapping: MODE#1: pull up */ | 388 | MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 /* AR8035 pin strapping: MODE#1: pull up */ |
390 | MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 /* AR8035 pin strapping: MODE#3: pull up */ | 389 | MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 /* AR8035 pin strapping: MODE#3: pull up */ |
391 | MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x130b0 /* AR8035 pin strapping: MODE#0: pull down */ | 390 | MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x130b0 /* AR8035 pin strapping: MODE#0: pull down */ |
392 | MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0xc0000000 /* GPIO16 -> AR8035 25MHz */ | 391 | MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 /* GPIO16 -> AR8035 25MHz */ |
393 | MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x130b0 /* RGMII_nRST */ | 392 | MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x130b0 /* RGMII_nRST */ |
394 | MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* AR8035 interrupt */ | 393 | MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x180b0 /* AR8035 interrupt */ |
395 | MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1 | 394 | MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1 |
396 | >; | 395 | >; |
397 | }; | 396 | }; |
@@ -426,8 +425,8 @@ | |||
426 | 425 | ||
427 | pinctrl_led: ledgrp { | 426 | pinctrl_led: ledgrp { |
428 | fsl,pins = < | 427 | fsl,pins = < |
429 | MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000 /* user led0 */ | 428 | MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b1 /* user led0 */ |
430 | MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x80000000 /* user led1 */ | 429 | MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x1b0b1 /* user led1 */ |
431 | >; | 430 | >; |
432 | }; | 431 | }; |
433 | 432 | ||
@@ -493,8 +492,8 @@ | |||
493 | pinctrl_usbotg: usbotggrp { | 492 | pinctrl_usbotg: usbotggrp { |
494 | fsl,pins = < | 493 | fsl,pins = < |
495 | MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059 | 494 | MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059 |
496 | MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* MX6QDL_PAD_EIM_D22__USB_OTG_PWR */ | 495 | MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x000b0 /* MX6QDL_PAD_EIM_D22__USB_OTG_PWR */ |
497 | MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x80000000 | 496 | MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x1b0b0 |
498 | >; | 497 | >; |
499 | }; | 498 | }; |
500 | 499 | ||
@@ -506,8 +505,8 @@ | |||
506 | MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 | 505 | MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 |
507 | MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 | 506 | MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 |
508 | MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 | 507 | MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 |
509 | MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000 /* SD2 CD */ | 508 | MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0 /* SD2 CD */ |
510 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* SD2 WP */ | 509 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1f0b0 /* SD2 WP */ |
511 | >; | 510 | >; |
512 | }; | 511 | }; |
513 | 512 | ||
@@ -519,8 +518,8 @@ | |||
519 | MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 | 518 | MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 |
520 | MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 | 519 | MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 |
521 | MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 | 520 | MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 |
522 | MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x80000000 /* SD3 CD */ | 521 | MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0 /* SD3 CD */ |
523 | MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x80000000 /* SD3 WP */ | 522 | MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1f0b0 /* SD3 WP */ |
524 | >; | 523 | >; |
525 | }; | 524 | }; |
526 | 525 | ||
@@ -532,7 +531,7 @@ | |||
532 | MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 | 531 | MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 |
533 | MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 | 532 | MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 |
534 | MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 | 533 | MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 |
535 | MX6QDL_PAD_NANDF_ALE__GPIO6_IO08 0x80000000 /* SD4 RST (eMMC) */ | 534 | MX6QDL_PAD_NANDF_ALE__GPIO6_IO08 0x17059 /* SD4 RST (eMMC) */ |
536 | >; | 535 | >; |
537 | }; | 536 | }; |
538 | }; | 537 | }; |
diff --git a/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts b/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts new file mode 100644 index 000000000000..913bb9a0466a --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6dl.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6DL Module on CoMpact TFT"; | ||
18 | compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 0>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | native-mode = <&ET070001DM6>; | ||
61 | |||
62 | ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */ | ||
63 | clock-frequency = <33264000>; | ||
64 | hactive = <800>; | ||
65 | vactive = <480>; | ||
66 | hback-porch = <88>; | ||
67 | hsync-len = <128>; | ||
68 | hfront-porch = <40>; | ||
69 | vback-porch = <33>; | ||
70 | vsync-len = <2>; | ||
71 | vfront-porch = <10>; | ||
72 | hsync-active = <0>; | ||
73 | vsync-active = <0>; | ||
74 | de-active = <1>; | ||
75 | pixelclk-active = <1>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &can1 { | ||
82 | status = "disabled"; | ||
83 | }; | ||
84 | |||
85 | &can2 { | ||
86 | xceiver-supply = <®_3v3>; | ||
87 | }; | ||
88 | |||
89 | &ipu1_di0_disp0 { | ||
90 | remote-endpoint = <&display0_in>; | ||
91 | }; | ||
92 | |||
93 | &kpp { | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | ®_can_xcvr { | ||
98 | status = "disabled"; | ||
99 | }; | ||
100 | |||
101 | &touchscreen { | ||
102 | status = "disabled"; | ||
103 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-801x.dts b/arch/arm/boot/dts/imx6dl-tx6u-801x.dts new file mode 100644 index 000000000000..5fe465c2814e --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-tx6u-801x.dts | |||
@@ -0,0 +1,177 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6dl.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6U-801x Module"; | ||
18 | compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | VGA { | ||
61 | clock-frequency = <25200000>; | ||
62 | hactive = <640>; | ||
63 | vactive = <480>; | ||
64 | hback-porch = <48>; | ||
65 | hsync-len = <96>; | ||
66 | hfront-porch = <16>; | ||
67 | vback-porch = <31>; | ||
68 | vsync-len = <2>; | ||
69 | vfront-porch = <12>; | ||
70 | hsync-active = <0>; | ||
71 | vsync-active = <0>; | ||
72 | de-active = <1>; | ||
73 | pixelclk-active = <0>; | ||
74 | }; | ||
75 | |||
76 | ETV570 { | ||
77 | clock-frequency = <25200000>; | ||
78 | hactive = <640>; | ||
79 | vactive = <480>; | ||
80 | hback-porch = <114>; | ||
81 | hsync-len = <30>; | ||
82 | hfront-porch = <16>; | ||
83 | vback-porch = <32>; | ||
84 | vsync-len = <3>; | ||
85 | vfront-porch = <10>; | ||
86 | hsync-active = <0>; | ||
87 | vsync-active = <0>; | ||
88 | de-active = <1>; | ||
89 | pixelclk-active = <0>; | ||
90 | }; | ||
91 | |||
92 | ET0350 { | ||
93 | clock-frequency = <6413760>; | ||
94 | hactive = <320>; | ||
95 | vactive = <240>; | ||
96 | hback-porch = <34>; | ||
97 | hsync-len = <34>; | ||
98 | hfront-porch = <20>; | ||
99 | vback-porch = <15>; | ||
100 | vsync-len = <3>; | ||
101 | vfront-porch = <4>; | ||
102 | hsync-active = <0>; | ||
103 | vsync-active = <0>; | ||
104 | de-active = <1>; | ||
105 | pixelclk-active = <0>; | ||
106 | }; | ||
107 | |||
108 | ET0430 { | ||
109 | clock-frequency = <9009000>; | ||
110 | hactive = <480>; | ||
111 | vactive = <272>; | ||
112 | hback-porch = <2>; | ||
113 | hsync-len = <41>; | ||
114 | hfront-porch = <2>; | ||
115 | vback-porch = <2>; | ||
116 | vsync-len = <10>; | ||
117 | vfront-porch = <2>; | ||
118 | hsync-active = <0>; | ||
119 | vsync-active = <0>; | ||
120 | de-active = <1>; | ||
121 | pixelclk-active = <1>; | ||
122 | }; | ||
123 | |||
124 | ET0500 { | ||
125 | clock-frequency = <33264000>; | ||
126 | hactive = <800>; | ||
127 | vactive = <480>; | ||
128 | hback-porch = <88>; | ||
129 | hsync-len = <128>; | ||
130 | hfront-porch = <40>; | ||
131 | vback-porch = <33>; | ||
132 | vsync-len = <2>; | ||
133 | vfront-porch = <10>; | ||
134 | hsync-active = <0>; | ||
135 | vsync-active = <0>; | ||
136 | de-active = <1>; | ||
137 | pixelclk-active = <0>; | ||
138 | }; | ||
139 | |||
140 | ET0700 { /* same as ET0500 */ | ||
141 | clock-frequency = <33264000>; | ||
142 | hactive = <800>; | ||
143 | vactive = <480>; | ||
144 | hback-porch = <88>; | ||
145 | hsync-len = <128>; | ||
146 | hfront-porch = <40>; | ||
147 | vback-porch = <33>; | ||
148 | vsync-len = <2>; | ||
149 | vfront-porch = <10>; | ||
150 | hsync-active = <0>; | ||
151 | vsync-active = <0>; | ||
152 | de-active = <1>; | ||
153 | pixelclk-active = <0>; | ||
154 | }; | ||
155 | |||
156 | ETQ570 { | ||
157 | clock-frequency = <6596040>; | ||
158 | hactive = <320>; | ||
159 | vactive = <240>; | ||
160 | hback-porch = <38>; | ||
161 | hsync-len = <30>; | ||
162 | hfront-porch = <30>; | ||
163 | vback-porch = <16>; | ||
164 | vsync-len = <3>; | ||
165 | vfront-porch = <4>; | ||
166 | hsync-active = <0>; | ||
167 | vsync-active = <0>; | ||
168 | de-active = <1>; | ||
169 | pixelclk-active = <0>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | &ipu1_di0_disp0 { | ||
176 | remote-endpoint = <&display0_in>; | ||
177 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-811x.dts b/arch/arm/boot/dts/imx6dl-tx6u-811x.dts new file mode 100644 index 000000000000..c275eecc9472 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-tx6u-811x.dts | |||
@@ -0,0 +1,150 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6dl.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6U-811x Module"; | ||
18 | compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; | ||
19 | |||
20 | aliases { | ||
21 | display = &lvds0; | ||
22 | lvds0 = &lvds0; | ||
23 | lvds1 = &lvds1; | ||
24 | }; | ||
25 | |||
26 | backlight0: backlight0 { | ||
27 | compatible = "pwm-backlight"; | ||
28 | pwms = <&pwm2 0 500000 0>; | ||
29 | power-supply = <®_lcd0_pwr>; | ||
30 | /* | ||
31 | * a poor man's way to create a 1:1 relationship between | ||
32 | * the PWM value and the actual duty cycle | ||
33 | */ | ||
34 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
35 | 10 11 12 13 14 15 16 17 18 19 | ||
36 | 20 21 22 23 24 25 26 27 28 29 | ||
37 | 30 31 32 33 34 35 36 37 38 39 | ||
38 | 40 41 42 43 44 45 46 47 48 49 | ||
39 | 50 51 52 53 54 55 56 57 58 59 | ||
40 | 60 61 62 63 64 65 66 67 68 69 | ||
41 | 70 71 72 73 74 75 76 77 78 79 | ||
42 | 80 81 82 83 84 85 86 87 88 89 | ||
43 | 90 91 92 93 94 95 96 97 98 99 | ||
44 | 100>; | ||
45 | default-brightness-level = <50>; | ||
46 | }; | ||
47 | |||
48 | backlight1: backlight1 { | ||
49 | compatible = "pwm-backlight"; | ||
50 | pwms = <&pwm1 0 500000 0>; | ||
51 | power-supply = <®_lcd1_pwr>; | ||
52 | /* | ||
53 | * a poor man's way to create a 1:1 relationship between | ||
54 | * the PWM value and the actual duty cycle | ||
55 | */ | ||
56 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
57 | 10 11 12 13 14 15 16 17 18 19 | ||
58 | 20 21 22 23 24 25 26 27 28 29 | ||
59 | 30 31 32 33 34 35 36 37 38 39 | ||
60 | 40 41 42 43 44 45 46 47 48 49 | ||
61 | 50 51 52 53 54 55 56 57 58 59 | ||
62 | 60 61 62 63 64 65 66 67 68 69 | ||
63 | 70 71 72 73 74 75 76 77 78 79 | ||
64 | 80 81 82 83 84 85 86 87 88 89 | ||
65 | 90 91 92 93 94 95 96 97 98 99 | ||
66 | 100>; | ||
67 | default-brightness-level = <50>; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | &i2c3 { | ||
72 | polytouch2: eeti@04 { | ||
73 | compatible = "eeti,egalax_ts"; | ||
74 | reg = <0x04>; | ||
75 | pinctrl-names = "default"; | ||
76 | pinctrl-0 = <&pinctrl_eeti>; | ||
77 | interrupt-parent = <&gpio3>; | ||
78 | interrupts = <22 0>; | ||
79 | wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; | ||
80 | linux,wakeup; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | &iomuxc { | ||
85 | imx6dl-tx6u-811x { | ||
86 | pinctrl_eeti: eetigrp { | ||
87 | fsl,pins = < | ||
88 | MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */ | ||
89 | >; | ||
90 | }; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | &kpp { | ||
95 | status = "disabled"; /* pad conflict with backlight1 PWM */ | ||
96 | }; | ||
97 | |||
98 | &ldb { | ||
99 | status = "okay"; | ||
100 | |||
101 | lvds0: lvds-channel@0 { | ||
102 | fsl,data-mapping = "spwg"; | ||
103 | fsl,data-width = <18>; | ||
104 | status = "okay"; | ||
105 | |||
106 | display-timings { | ||
107 | native-mode = <&lvds_timing0>; | ||
108 | lvds_timing0: hsd100pxn1 { | ||
109 | clock-frequency = <65000000>; | ||
110 | hactive = <1024>; | ||
111 | vactive = <768>; | ||
112 | hback-porch = <220>; | ||
113 | hfront-porch = <40>; | ||
114 | vback-porch = <21>; | ||
115 | vfront-porch = <7>; | ||
116 | hsync-len = <60>; | ||
117 | vsync-len = <10>; | ||
118 | de-active = <1>; | ||
119 | pixelclk-active = <1>; | ||
120 | }; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | lvds1: lvds-channel@1 { | ||
125 | fsl,data-mapping = "spwg"; | ||
126 | fsl,data-width = <18>; | ||
127 | status = "disabled"; | ||
128 | |||
129 | display-timings { | ||
130 | native-mode = <&lvds_timing1>; | ||
131 | lvds_timing1: hsd100pxn1 { | ||
132 | clock-frequency = <65000000>; | ||
133 | hactive = <1024>; | ||
134 | vactive = <768>; | ||
135 | hback-porch = <220>; | ||
136 | hfront-porch = <40>; | ||
137 | vback-porch = <21>; | ||
138 | vfront-porch = <7>; | ||
139 | hsync-len = <60>; | ||
140 | vsync-len = <10>; | ||
141 | de-active = <1>; | ||
142 | pixelclk-active = <1>; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | }; | ||
147 | |||
148 | &pwm1 { | ||
149 | status = "okay"; | ||
150 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts b/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts new file mode 100644 index 000000000000..f607d4f1d244 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * Author: Fabio Estevam <fabio.estevam@freescale.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | #include "imx6dl.dtsi" | ||
13 | #include "imx6qdl-wandboard-revb1.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Wandboard i.MX6 Dual Lite Board"; | ||
17 | compatible = "wand,imx6dl-wandboard", "fsl,imx6dl"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x10000000 0x40000000>; | ||
21 | }; | ||
22 | }; | ||
diff --git a/arch/arm/boot/dts/imx6dl-wandboard.dts b/arch/arm/boot/dts/imx6dl-wandboard.dts index e672891c1626..bbb616723097 100644 --- a/arch/arm/boot/dts/imx6dl-wandboard.dts +++ b/arch/arm/boot/dts/imx6dl-wandboard.dts | |||
@@ -10,7 +10,7 @@ | |||
10 | */ | 10 | */ |
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | #include "imx6dl.dtsi" | 12 | #include "imx6dl.dtsi" |
13 | #include "imx6qdl-wandboard.dtsi" | 13 | #include "imx6qdl-wandboard-revc1.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "Wandboard i.MX6 Dual Lite Board"; | 16 | model = "Wandboard i.MX6 Dual Lite Board"; |
diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi index 0a9c49d69d41..b453e0e28aee 100644 --- a/arch/arm/boot/dts/imx6dl.dtsi +++ b/arch/arm/boot/dts/imx6dl.dtsi | |||
@@ -35,8 +35,11 @@ | |||
35 | 396000 1175000 | 35 | 396000 1175000 |
36 | >; | 36 | >; |
37 | clock-latency = <61036>; /* two CLK32 periods */ | 37 | clock-latency = <61036>; /* two CLK32 periods */ |
38 | clocks = <&clks 104>, <&clks 6>, <&clks 16>, | 38 | clocks = <&clks IMX6QDL_CLK_ARM>, |
39 | <&clks 17>, <&clks 170>; | 39 | <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, |
40 | <&clks IMX6QDL_CLK_STEP>, | ||
41 | <&clks IMX6QDL_CLK_PLL1_SW>, | ||
42 | <&clks IMX6QDL_CLK_PLL1_SYS>; | ||
40 | clock-names = "arm", "pll2_pfd2_396m", "step", | 43 | clock-names = "arm", "pll2_pfd2_396m", "step", |
41 | "pll1_sw", "pll1_sys"; | 44 | "pll1_sw", "pll1_sys"; |
42 | arm-supply = <®_arm>; | 45 | arm-supply = <®_arm>; |
@@ -56,7 +59,7 @@ | |||
56 | ocram: sram@00900000 { | 59 | ocram: sram@00900000 { |
57 | compatible = "mmio-sram"; | 60 | compatible = "mmio-sram"; |
58 | reg = <0x00900000 0x20000>; | 61 | reg = <0x00900000 0x20000>; |
59 | clocks = <&clks 142>; | 62 | clocks = <&clks IMX6QDL_CLK_OCRAM>; |
60 | }; | 63 | }; |
61 | 64 | ||
62 | aips1: aips-bus@02000000 { | 65 | aips1: aips-bus@02000000 { |
@@ -87,7 +90,7 @@ | |||
87 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; | 90 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; |
88 | reg = <0x021f8000 0x4000>; | 91 | reg = <0x021f8000 0x4000>; |
89 | interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>; | 92 | interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>; |
90 | clocks = <&clks 116>; | 93 | clocks = <&clks IMX6DL_CLK_I2C4>; |
91 | status = "disabled"; | 94 | status = "disabled"; |
92 | }; | 95 | }; |
93 | }; | 96 | }; |
@@ -104,9 +107,9 @@ | |||
104 | }; | 107 | }; |
105 | 108 | ||
106 | &ldb { | 109 | &ldb { |
107 | clocks = <&clks 33>, <&clks 34>, | 110 | clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>, |
108 | <&clks 39>, <&clks 40>, | 111 | <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>, |
109 | <&clks 135>, <&clks 136>; | 112 | <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>; |
110 | clock-names = "di0_pll", "di1_pll", | 113 | clock-names = "di0_pll", "di1_pll", |
111 | "di0_sel", "di1_sel", | 114 | "di0_sel", "di1_sel", |
112 | "di0", "di1"; | 115 | "di0", "di1"; |
diff --git a/arch/arm/boot/dts/imx6q-cubox-i.dts b/arch/arm/boot/dts/imx6q-cubox-i.dts index bc5f31e3e892..9efd8b0c8011 100644 --- a/arch/arm/boot/dts/imx6q-cubox-i.dts +++ b/arch/arm/boot/dts/imx6q-cubox-i.dts | |||
@@ -13,4 +13,8 @@ | |||
13 | 13 | ||
14 | &sata { | 14 | &sata { |
15 | status = "okay"; | 15 | status = "okay"; |
16 | fsl,transmit-level-mV = <1104>; | ||
17 | fsl,transmit-boost-mdB = <0>; | ||
18 | fsl,transmit-atten-16ths = <9>; | ||
19 | fsl,no-spread-spectrum; | ||
16 | }; | 20 | }; |
diff --git a/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts b/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts index e0302636aff5..8c1cb53464a0 100644 --- a/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts +++ b/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts | |||
@@ -95,6 +95,12 @@ | |||
95 | }; | 95 | }; |
96 | }; | 96 | }; |
97 | 97 | ||
98 | &can1 { | ||
99 | pinctrl-names = "default"; | ||
100 | pinctrl-0 = <&pinctrl_can1>; | ||
101 | status = "okay"; | ||
102 | }; | ||
103 | |||
98 | &ecspi5 { | 104 | &ecspi5 { |
99 | pinctrl-names = "default"; | 105 | pinctrl-names = "default"; |
100 | pinctrl-0 = <&pinctrl_ecspi5>; | 106 | pinctrl-0 = <&pinctrl_ecspi5>; |
@@ -118,6 +124,13 @@ | |||
118 | status = "okay"; | 124 | status = "okay"; |
119 | }; | 125 | }; |
120 | 126 | ||
127 | &i2c1 { | ||
128 | clock-frequency = <100000>; | ||
129 | pinctrl-names = "default"; | ||
130 | pinctrl-0 = <&pinctrl_i2c1>; | ||
131 | status = "okay"; | ||
132 | }; | ||
133 | |||
121 | &i2c2 { | 134 | &i2c2 { |
122 | clock-frequency = <100000>; | 135 | clock-frequency = <100000>; |
123 | pinctrl-names = "default"; | 136 | pinctrl-names = "default"; |
@@ -274,6 +287,13 @@ | |||
274 | }; | 287 | }; |
275 | }; | 288 | }; |
276 | 289 | ||
290 | &i2c3 { | ||
291 | clock-frequency = <100000>; | ||
292 | pinctrl-names = "default"; | ||
293 | pinctrl-0 = <&pinctrl_i2c3>; | ||
294 | status = "okay"; | ||
295 | }; | ||
296 | |||
277 | &iomuxc { | 297 | &iomuxc { |
278 | pinctrl-names = "default"; | 298 | pinctrl-names = "default"; |
279 | pinctrl-0 = <&pinctrl_hog>; | 299 | pinctrl-0 = <&pinctrl_hog>; |
@@ -286,6 +306,13 @@ | |||
286 | >; | 306 | >; |
287 | }; | 307 | }; |
288 | 308 | ||
309 | pinctrl_can1: can1grp { | ||
310 | fsl,pins = < | ||
311 | MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b0 | ||
312 | MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0 | ||
313 | >; | ||
314 | }; | ||
315 | |||
289 | pinctrl_ecspi5: ecspi5rp-1 { | 316 | pinctrl_ecspi5: ecspi5rp-1 { |
290 | fsl,pins = < | 317 | fsl,pins = < |
291 | MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO 0x80000000 | 318 | MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO 0x80000000 |
@@ -316,6 +343,13 @@ | |||
316 | >; | 343 | >; |
317 | }; | 344 | }; |
318 | 345 | ||
346 | pinctrl_i2c1: i2c1grp { | ||
347 | fsl,pins = < | ||
348 | MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 | ||
349 | MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 | ||
350 | >; | ||
351 | }; | ||
352 | |||
319 | pinctrl_i2c2: i2c2grp { | 353 | pinctrl_i2c2: i2c2grp { |
320 | fsl,pins = < | 354 | fsl,pins = < |
321 | MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1 | 355 | MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1 |
@@ -323,6 +357,19 @@ | |||
323 | >; | 357 | >; |
324 | }; | 358 | }; |
325 | 359 | ||
360 | pinctrl_i2c3: i2c3grp { | ||
361 | fsl,pins = < | ||
362 | MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 | ||
363 | MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 | ||
364 | >; | ||
365 | }; | ||
366 | |||
367 | pinctrl_pcie: pciegrp { | ||
368 | fsl,pins = < | ||
369 | MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x100b1 | ||
370 | >; | ||
371 | }; | ||
372 | |||
326 | pinctrl_pfuze: pfuze100grp1 { | 373 | pinctrl_pfuze: pfuze100grp1 { |
327 | fsl,pins = < | 374 | fsl,pins = < |
328 | MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000 | 375 | MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000 |
@@ -385,6 +432,13 @@ | |||
385 | }; | 432 | }; |
386 | }; | 433 | }; |
387 | 434 | ||
435 | &pcie { | ||
436 | pinctrl-names = "default"; | ||
437 | pinctrl-0 = <&pinctrl_pcie>; | ||
438 | reset-gpio = <&gpio4 8 0>; | ||
439 | status = "okay"; | ||
440 | }; | ||
441 | |||
388 | &sata { | 442 | &sata { |
389 | status = "okay"; | 443 | status = "okay"; |
390 | }; | 444 | }; |
diff --git a/arch/arm/boot/dts/imx6q-gw51xx.dts b/arch/arm/boot/dts/imx6q-gw51xx.dts index 0e1406e58eff..8e8bcd8fe0fb 100644 --- a/arch/arm/boot/dts/imx6q-gw51xx.dts +++ b/arch/arm/boot/dts/imx6q-gw51xx.dts | |||
@@ -14,6 +14,6 @@ | |||
14 | #include "imx6qdl-gw51xx.dtsi" | 14 | #include "imx6qdl-gw51xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 Quad GW51XX"; | 17 | model = "Gateworks Ventana i.MX6 Dual/Quad GW51XX"; |
18 | compatible = "gw,imx6q-gw51xx", "gw,ventana", "fsl,imx6q"; | 18 | compatible = "gw,imx6q-gw51xx", "gw,ventana", "fsl,imx6q"; |
19 | }; | 19 | }; |
diff --git a/arch/arm/boot/dts/imx6q-gw52xx.dts b/arch/arm/boot/dts/imx6q-gw52xx.dts index 5f71ddbc7f05..a12c47e5ee05 100644 --- a/arch/arm/boot/dts/imx6q-gw52xx.dts +++ b/arch/arm/boot/dts/imx6q-gw52xx.dts | |||
@@ -14,7 +14,7 @@ | |||
14 | #include "imx6qdl-gw52xx.dtsi" | 14 | #include "imx6qdl-gw52xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 Quad GW52XX"; | 17 | model = "Gateworks Ventana i.MX6 Dual/Quad GW52XX"; |
18 | compatible = "gw,imx6q-gw52xx", "gw,ventana", "fsl,imx6q"; | 18 | compatible = "gw,imx6q-gw52xx", "gw,ventana", "fsl,imx6q"; |
19 | }; | 19 | }; |
20 | 20 | ||
diff --git a/arch/arm/boot/dts/imx6q-gw53xx.dts b/arch/arm/boot/dts/imx6q-gw53xx.dts index 360c316b4740..d76aaa83dad0 100644 --- a/arch/arm/boot/dts/imx6q-gw53xx.dts +++ b/arch/arm/boot/dts/imx6q-gw53xx.dts | |||
@@ -14,7 +14,7 @@ | |||
14 | #include "imx6qdl-gw53xx.dtsi" | 14 | #include "imx6qdl-gw53xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 Quad GW53XX"; | 17 | model = "Gateworks Ventana i.MX6 Dual/Quad GW53XX"; |
18 | compatible = "gw,imx6q-gw53xx", "gw,ventana", "fsl,imx6q"; | 18 | compatible = "gw,imx6q-gw53xx", "gw,ventana", "fsl,imx6q"; |
19 | }; | 19 | }; |
20 | 20 | ||
diff --git a/arch/arm/boot/dts/imx6q-gw5400-a.dts b/arch/arm/boot/dts/imx6q-gw5400-a.dts index 3689eaa58826..22e6f8e657d2 100644 --- a/arch/arm/boot/dts/imx6q-gw5400-a.dts +++ b/arch/arm/boot/dts/imx6q-gw5400-a.dts | |||
@@ -115,9 +115,9 @@ | |||
115 | }; | 115 | }; |
116 | 116 | ||
117 | sound { | 117 | sound { |
118 | compatible = "fsl,imx6q-sabrelite-sgtl5000", | 118 | compatible = "fsl,imx6q-ventana-sgtl5000", |
119 | "fsl,imx-audio-sgtl5000"; | 119 | "fsl,imx-audio-sgtl5000"; |
120 | model = "imx6q-sabrelite-sgtl5000"; | 120 | model = "sgtl5000-audio"; |
121 | ssi-controller = <&ssi1>; | 121 | ssi-controller = <&ssi1>; |
122 | audio-codec = <&codec>; | 122 | audio-codec = <&codec>; |
123 | audio-routing = | 123 | audio-routing = |
@@ -504,7 +504,6 @@ | |||
504 | }; | 504 | }; |
505 | 505 | ||
506 | &ssi1 { | 506 | &ssi1 { |
507 | fsl,mode = "i2s-slave"; | ||
508 | status = "okay"; | 507 | status = "okay"; |
509 | }; | 508 | }; |
510 | 509 | ||
diff --git a/arch/arm/boot/dts/imx6q-gw54xx.dts b/arch/arm/boot/dts/imx6q-gw54xx.dts index ab518d66a75e..6e8f53e92a2d 100644 --- a/arch/arm/boot/dts/imx6q-gw54xx.dts +++ b/arch/arm/boot/dts/imx6q-gw54xx.dts | |||
@@ -14,7 +14,7 @@ | |||
14 | #include "imx6qdl-gw54xx.dtsi" | 14 | #include "imx6qdl-gw54xx.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "Gateworks Ventana i.MX6 Quad GW54XX"; | 17 | model = "Gateworks Ventana i.MX6 Dual/Quad GW54XX"; |
18 | compatible = "gw,imx6q-gw54xx", "gw,ventana", "fsl,imx6q"; | 18 | compatible = "gw,imx6q-gw54xx", "gw,ventana", "fsl,imx6q"; |
19 | }; | 19 | }; |
20 | 20 | ||
diff --git a/arch/arm/boot/dts/imx6q-rex-pro.dts b/arch/arm/boot/dts/imx6q-rex-pro.dts new file mode 100644 index 000000000000..3c2852b16f78 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-rex-pro.dts | |||
@@ -0,0 +1,34 @@ | |||
1 | /* | ||
2 | * Copyright 2014 FEDEVEL, Inc. | ||
3 | * | ||
4 | * Author: Robert Nelson <robertcnelson@gmail.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | #include "imx6q.dtsi" | ||
13 | #include "imx6qdl-rex.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Rex Pro i.MX6 Quad Board"; | ||
17 | compatible = "rex,imx6q-rex-pro", "fsl,imx6q"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x10000000 0x80000000>; | ||
21 | }; | ||
22 | }; | ||
23 | |||
24 | &ecspi3 { | ||
25 | flash: m25p80@0 { | ||
26 | compatible = "sst,sst25vf032b"; | ||
27 | spi-max-frequency = <20000000>; | ||
28 | reg = <0>; | ||
29 | }; | ||
30 | }; | ||
31 | |||
32 | &sata { | ||
33 | status = "okay"; | ||
34 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts b/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts new file mode 100644 index 000000000000..b18fae10b2e3 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1010 Module on CoMpact TFT"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 0>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | native-mode = <&ET070001DM6>; | ||
61 | |||
62 | ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */ | ||
63 | clock-frequency = <33264000>; | ||
64 | hactive = <800>; | ||
65 | vactive = <480>; | ||
66 | hback-porch = <88>; | ||
67 | hsync-len = <128>; | ||
68 | hfront-porch = <40>; | ||
69 | vback-porch = <33>; | ||
70 | vsync-len = <2>; | ||
71 | vfront-porch = <10>; | ||
72 | hsync-active = <0>; | ||
73 | vsync-active = <0>; | ||
74 | de-active = <1>; | ||
75 | pixelclk-active = <1>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &can1 { | ||
82 | status = "disabled"; | ||
83 | }; | ||
84 | |||
85 | &can2 { | ||
86 | xceiver-supply = <®_3v3>; | ||
87 | }; | ||
88 | |||
89 | &ipu1_di0_disp0 { | ||
90 | remote-endpoint = <&display0_in>; | ||
91 | }; | ||
92 | |||
93 | &kpp { | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | ®_can_xcvr { | ||
98 | status = "disabled"; | ||
99 | }; | ||
100 | |||
101 | &touchscreen { | ||
102 | status = "disabled"; | ||
103 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1010.dts b/arch/arm/boot/dts/imx6q-tx6q-1010.dts new file mode 100644 index 000000000000..b58ec9c966c8 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1010.dts | |||
@@ -0,0 +1,177 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1010 Module"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | VGA { | ||
61 | clock-frequency = <25200000>; | ||
62 | hactive = <640>; | ||
63 | vactive = <480>; | ||
64 | hback-porch = <48>; | ||
65 | hsync-len = <96>; | ||
66 | hfront-porch = <16>; | ||
67 | vback-porch = <31>; | ||
68 | vsync-len = <2>; | ||
69 | vfront-porch = <12>; | ||
70 | hsync-active = <0>; | ||
71 | vsync-active = <0>; | ||
72 | de-active = <1>; | ||
73 | pixelclk-active = <0>; | ||
74 | }; | ||
75 | |||
76 | ETV570 { | ||
77 | clock-frequency = <25200000>; | ||
78 | hactive = <640>; | ||
79 | vactive = <480>; | ||
80 | hback-porch = <114>; | ||
81 | hsync-len = <30>; | ||
82 | hfront-porch = <16>; | ||
83 | vback-porch = <32>; | ||
84 | vsync-len = <3>; | ||
85 | vfront-porch = <10>; | ||
86 | hsync-active = <0>; | ||
87 | vsync-active = <0>; | ||
88 | de-active = <1>; | ||
89 | pixelclk-active = <0>; | ||
90 | }; | ||
91 | |||
92 | ET0350 { | ||
93 | clock-frequency = <6413760>; | ||
94 | hactive = <320>; | ||
95 | vactive = <240>; | ||
96 | hback-porch = <34>; | ||
97 | hsync-len = <34>; | ||
98 | hfront-porch = <20>; | ||
99 | vback-porch = <15>; | ||
100 | vsync-len = <3>; | ||
101 | vfront-porch = <4>; | ||
102 | hsync-active = <0>; | ||
103 | vsync-active = <0>; | ||
104 | de-active = <1>; | ||
105 | pixelclk-active = <0>; | ||
106 | }; | ||
107 | |||
108 | ET0430 { | ||
109 | clock-frequency = <9009000>; | ||
110 | hactive = <480>; | ||
111 | vactive = <272>; | ||
112 | hback-porch = <2>; | ||
113 | hsync-len = <41>; | ||
114 | hfront-porch = <2>; | ||
115 | vback-porch = <2>; | ||
116 | vsync-len = <10>; | ||
117 | vfront-porch = <2>; | ||
118 | hsync-active = <0>; | ||
119 | vsync-active = <0>; | ||
120 | de-active = <1>; | ||
121 | pixelclk-active = <1>; | ||
122 | }; | ||
123 | |||
124 | ET0500 { | ||
125 | clock-frequency = <33264000>; | ||
126 | hactive = <800>; | ||
127 | vactive = <480>; | ||
128 | hback-porch = <88>; | ||
129 | hsync-len = <128>; | ||
130 | hfront-porch = <40>; | ||
131 | vback-porch = <33>; | ||
132 | vsync-len = <2>; | ||
133 | vfront-porch = <10>; | ||
134 | hsync-active = <0>; | ||
135 | vsync-active = <0>; | ||
136 | de-active = <1>; | ||
137 | pixelclk-active = <0>; | ||
138 | }; | ||
139 | |||
140 | ET0700 { /* same as ET0500 */ | ||
141 | clock-frequency = <33264000>; | ||
142 | hactive = <800>; | ||
143 | vactive = <480>; | ||
144 | hback-porch = <88>; | ||
145 | hsync-len = <128>; | ||
146 | hfront-porch = <40>; | ||
147 | vback-porch = <33>; | ||
148 | vsync-len = <2>; | ||
149 | vfront-porch = <10>; | ||
150 | hsync-active = <0>; | ||
151 | vsync-active = <0>; | ||
152 | de-active = <1>; | ||
153 | pixelclk-active = <0>; | ||
154 | }; | ||
155 | |||
156 | ETQ570 { | ||
157 | clock-frequency = <6596040>; | ||
158 | hactive = <320>; | ||
159 | vactive = <240>; | ||
160 | hback-porch = <38>; | ||
161 | hsync-len = <30>; | ||
162 | hfront-porch = <30>; | ||
163 | vback-porch = <16>; | ||
164 | vsync-len = <3>; | ||
165 | vfront-porch = <4>; | ||
166 | hsync-active = <0>; | ||
167 | vsync-active = <0>; | ||
168 | de-active = <1>; | ||
169 | pixelclk-active = <0>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | &ipu1_di0_disp0 { | ||
176 | remote-endpoint = <&display0_in>; | ||
177 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts b/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts new file mode 100644 index 000000000000..0bb9a9de62a9 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts | |||
@@ -0,0 +1,136 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1020 Module on CoMpact TFT"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 0>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | native-mode = <&ET070001DM6>; | ||
61 | |||
62 | ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */ | ||
63 | clock-frequency = <33264000>; | ||
64 | hactive = <800>; | ||
65 | vactive = <480>; | ||
66 | hback-porch = <88>; | ||
67 | hsync-len = <128>; | ||
68 | hfront-porch = <40>; | ||
69 | vback-porch = <33>; | ||
70 | vsync-len = <2>; | ||
71 | vfront-porch = <10>; | ||
72 | hsync-active = <0>; | ||
73 | vsync-active = <0>; | ||
74 | de-active = <1>; | ||
75 | pixelclk-active = <1>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &can1 { | ||
82 | status = "disabled"; | ||
83 | }; | ||
84 | |||
85 | &can2 { | ||
86 | xceiver-supply = <®_3v3>; | ||
87 | }; | ||
88 | |||
89 | &ds1339 { | ||
90 | status = "disabled"; | ||
91 | }; | ||
92 | |||
93 | &gpmi { | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | &iomuxc { | ||
98 | imx6qdl-tx6 { | ||
99 | pinctrl_usdhc4: usdhc4grp { | ||
100 | fsl,pins = < | ||
101 | MX6QDL_PAD_SD4_CMD__SD4_CMD 0x070b1 | ||
102 | MX6QDL_PAD_SD4_CLK__SD4_CLK 0x070b1 | ||
103 | MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x070b1 | ||
104 | MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x070b1 | ||
105 | MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x070b1 | ||
106 | MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x070b1 | ||
107 | MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x0b0b1 | ||
108 | >; | ||
109 | }; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | &ipu1_di0_disp0 { | ||
114 | remote-endpoint = <&display0_in>; | ||
115 | }; | ||
116 | |||
117 | &kpp { | ||
118 | status = "disabled"; | ||
119 | }; | ||
120 | |||
121 | ®_can_xcvr { | ||
122 | status = "disabled"; | ||
123 | }; | ||
124 | |||
125 | &touchscreen { | ||
126 | status = "disabled"; | ||
127 | }; | ||
128 | |||
129 | &usdhc4 { | ||
130 | pinctrl-names = "default"; | ||
131 | pinctrl-0 = <&pinctrl_usdhc4>; | ||
132 | bus-width = <4>; | ||
133 | no-1-8-v; | ||
134 | fsl,wp-controller; | ||
135 | status = "okay"; | ||
136 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1020.dts b/arch/arm/boot/dts/imx6q-tx6q-1020.dts new file mode 100644 index 000000000000..b96d80a35d39 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1020.dts | |||
@@ -0,0 +1,210 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1020 Module"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &display; | ||
22 | }; | ||
23 | |||
24 | backlight: backlight { | ||
25 | compatible = "pwm-backlight"; | ||
26 | pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; | ||
27 | power-supply = <®_3v3>; | ||
28 | /* | ||
29 | * a poor man's way to create a 1:1 relationship between | ||
30 | * the PWM value and the actual duty cycle | ||
31 | */ | ||
32 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
33 | 10 11 12 13 14 15 16 17 18 19 | ||
34 | 20 21 22 23 24 25 26 27 28 29 | ||
35 | 30 31 32 33 34 35 36 37 38 39 | ||
36 | 40 41 42 43 44 45 46 47 48 49 | ||
37 | 50 51 52 53 54 55 56 57 58 59 | ||
38 | 60 61 62 63 64 65 66 67 68 69 | ||
39 | 70 71 72 73 74 75 76 77 78 79 | ||
40 | 80 81 82 83 84 85 86 87 88 89 | ||
41 | 90 91 92 93 94 95 96 97 98 99 | ||
42 | 100>; | ||
43 | default-brightness-level = <50>; | ||
44 | }; | ||
45 | |||
46 | display: display@di0 { | ||
47 | compatible = "fsl,imx-parallel-display"; | ||
48 | interface-pix-fmt = "rgb24"; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_disp0_1>; | ||
51 | status = "okay"; | ||
52 | |||
53 | port { | ||
54 | display0_in: endpoint { | ||
55 | remote-endpoint = <&ipu1_di0_disp0>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | display-timings { | ||
60 | VGA { | ||
61 | clock-frequency = <25200000>; | ||
62 | hactive = <640>; | ||
63 | vactive = <480>; | ||
64 | hback-porch = <48>; | ||
65 | hsync-len = <96>; | ||
66 | hfront-porch = <16>; | ||
67 | vback-porch = <31>; | ||
68 | vsync-len = <2>; | ||
69 | vfront-porch = <12>; | ||
70 | hsync-active = <0>; | ||
71 | vsync-active = <0>; | ||
72 | de-active = <1>; | ||
73 | pixelclk-active = <0>; | ||
74 | }; | ||
75 | |||
76 | ETV570 { | ||
77 | clock-frequency = <25200000>; | ||
78 | hactive = <640>; | ||
79 | vactive = <480>; | ||
80 | hback-porch = <114>; | ||
81 | hsync-len = <30>; | ||
82 | hfront-porch = <16>; | ||
83 | vback-porch = <32>; | ||
84 | vsync-len = <3>; | ||
85 | vfront-porch = <10>; | ||
86 | hsync-active = <0>; | ||
87 | vsync-active = <0>; | ||
88 | de-active = <1>; | ||
89 | pixelclk-active = <0>; | ||
90 | }; | ||
91 | |||
92 | ET0350 { | ||
93 | clock-frequency = <6413760>; | ||
94 | hactive = <320>; | ||
95 | vactive = <240>; | ||
96 | hback-porch = <34>; | ||
97 | hsync-len = <34>; | ||
98 | hfront-porch = <20>; | ||
99 | vback-porch = <15>; | ||
100 | vsync-len = <3>; | ||
101 | vfront-porch = <4>; | ||
102 | hsync-active = <0>; | ||
103 | vsync-active = <0>; | ||
104 | de-active = <1>; | ||
105 | pixelclk-active = <0>; | ||
106 | }; | ||
107 | |||
108 | ET0430 { | ||
109 | clock-frequency = <9009000>; | ||
110 | hactive = <480>; | ||
111 | vactive = <272>; | ||
112 | hback-porch = <2>; | ||
113 | hsync-len = <41>; | ||
114 | hfront-porch = <2>; | ||
115 | vback-porch = <2>; | ||
116 | vsync-len = <10>; | ||
117 | vfront-porch = <2>; | ||
118 | hsync-active = <0>; | ||
119 | vsync-active = <0>; | ||
120 | de-active = <1>; | ||
121 | pixelclk-active = <1>; | ||
122 | }; | ||
123 | |||
124 | ET0500 { | ||
125 | clock-frequency = <33264000>; | ||
126 | hactive = <800>; | ||
127 | vactive = <480>; | ||
128 | hback-porch = <88>; | ||
129 | hsync-len = <128>; | ||
130 | hfront-porch = <40>; | ||
131 | vback-porch = <33>; | ||
132 | vsync-len = <2>; | ||
133 | vfront-porch = <10>; | ||
134 | hsync-active = <0>; | ||
135 | vsync-active = <0>; | ||
136 | de-active = <1>; | ||
137 | pixelclk-active = <0>; | ||
138 | }; | ||
139 | |||
140 | ET0700 { /* same as ET0500 */ | ||
141 | clock-frequency = <33264000>; | ||
142 | hactive = <800>; | ||
143 | vactive = <480>; | ||
144 | hback-porch = <88>; | ||
145 | hsync-len = <128>; | ||
146 | hfront-porch = <40>; | ||
147 | vback-porch = <33>; | ||
148 | vsync-len = <2>; | ||
149 | vfront-porch = <10>; | ||
150 | hsync-active = <0>; | ||
151 | vsync-active = <0>; | ||
152 | de-active = <1>; | ||
153 | pixelclk-active = <0>; | ||
154 | }; | ||
155 | |||
156 | ETQ570 { | ||
157 | clock-frequency = <6596040>; | ||
158 | hactive = <320>; | ||
159 | vactive = <240>; | ||
160 | hback-porch = <38>; | ||
161 | hsync-len = <30>; | ||
162 | hfront-porch = <30>; | ||
163 | vback-porch = <16>; | ||
164 | vsync-len = <3>; | ||
165 | vfront-porch = <4>; | ||
166 | hsync-active = <0>; | ||
167 | vsync-active = <0>; | ||
168 | de-active = <1>; | ||
169 | pixelclk-active = <0>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | &ds1339 { | ||
176 | status = "disabled"; | ||
177 | }; | ||
178 | |||
179 | &gpmi { | ||
180 | status = "disabled"; | ||
181 | }; | ||
182 | |||
183 | &iomuxc { | ||
184 | imx6qdl-tx6 { | ||
185 | pinctrl_usdhc4: usdhc4grp { | ||
186 | fsl,pins = < | ||
187 | MX6QDL_PAD_SD4_CMD__SD4_CMD 0x070b1 | ||
188 | MX6QDL_PAD_SD4_CLK__SD4_CLK 0x070b1 | ||
189 | MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x070b1 | ||
190 | MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x070b1 | ||
191 | MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x070b1 | ||
192 | MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x070b1 | ||
193 | MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x0b0b1 | ||
194 | >; | ||
195 | }; | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | &ipu1_di0_disp0 { | ||
200 | remote-endpoint = <&display0_in>; | ||
201 | }; | ||
202 | |||
203 | &usdhc4 { | ||
204 | pinctrl-names = "default"; | ||
205 | pinctrl-0 = <&pinctrl_usdhc4>; | ||
206 | bus-width = <4>; | ||
207 | no-1-8-v; | ||
208 | fsl,wp-controller; | ||
209 | status = "okay"; | ||
210 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1110.dts b/arch/arm/boot/dts/imx6q-tx6q-1110.dts new file mode 100644 index 000000000000..88aa1e4c792d --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tx6q-1110.dts | |||
@@ -0,0 +1,154 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "imx6q.dtsi" | ||
14 | #include "imx6qdl-tx6.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Ka-Ro electronics TX6Q-1110 Module"; | ||
18 | compatible = "karo,imx6q-tx6q", "fsl,imx6q"; | ||
19 | |||
20 | aliases { | ||
21 | display = &lvds0; | ||
22 | lvds0 = &lvds0; | ||
23 | lvds1 = &lvds1; | ||
24 | }; | ||
25 | |||
26 | backlight0: backlight0 { | ||
27 | compatible = "pwm-backlight"; | ||
28 | pwms = <&pwm2 0 500000 0>; | ||
29 | power-supply = <®_lcd0_pwr>; | ||
30 | /* | ||
31 | * a poor man's way to create a 1:1 relationship between | ||
32 | * the PWM value and the actual duty cycle | ||
33 | */ | ||
34 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
35 | 10 11 12 13 14 15 16 17 18 19 | ||
36 | 20 21 22 23 24 25 26 27 28 29 | ||
37 | 30 31 32 33 34 35 36 37 38 39 | ||
38 | 40 41 42 43 44 45 46 47 48 49 | ||
39 | 50 51 52 53 54 55 56 57 58 59 | ||
40 | 60 61 62 63 64 65 66 67 68 69 | ||
41 | 70 71 72 73 74 75 76 77 78 79 | ||
42 | 80 81 82 83 84 85 86 87 88 89 | ||
43 | 90 91 92 93 94 95 96 97 98 99 | ||
44 | 100>; | ||
45 | default-brightness-level = <50>; | ||
46 | }; | ||
47 | |||
48 | backlight1: backlight1 { | ||
49 | compatible = "pwm-backlight"; | ||
50 | pwms = <&pwm1 0 500000 0>; | ||
51 | power-supply = <®_lcd1_pwr>; | ||
52 | /* | ||
53 | * a poor man's way to create a 1:1 relationship between | ||
54 | * the PWM value and the actual duty cycle | ||
55 | */ | ||
56 | brightness-levels = < 0 1 2 3 4 5 6 7 8 9 | ||
57 | 10 11 12 13 14 15 16 17 18 19 | ||
58 | 20 21 22 23 24 25 26 27 28 29 | ||
59 | 30 31 32 33 34 35 36 37 38 39 | ||
60 | 40 41 42 43 44 45 46 47 48 49 | ||
61 | 50 51 52 53 54 55 56 57 58 59 | ||
62 | 60 61 62 63 64 65 66 67 68 69 | ||
63 | 70 71 72 73 74 75 76 77 78 79 | ||
64 | 80 81 82 83 84 85 86 87 88 89 | ||
65 | 90 91 92 93 94 95 96 97 98 99 | ||
66 | 100>; | ||
67 | default-brightness-level = <50>; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | &i2c3 { | ||
72 | polytouch1: eeti@04 { | ||
73 | compatible = "eeti,egalax_ts"; | ||
74 | reg = <0x04>; | ||
75 | pinctrl-names = "default"; | ||
76 | pinctrl-0 = <&pinctrl_eeti>; | ||
77 | interrupt-parent = <&gpio3>; | ||
78 | interrupts = <22 0>; | ||
79 | wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; | ||
80 | linux,wakeup; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | &iomuxc { | ||
85 | imx6q-tx6q-1110 { | ||
86 | pinctrl_eeti: eetigrp { | ||
87 | fsl,pins = < | ||
88 | MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */ | ||
89 | >; | ||
90 | }; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | &kpp { | ||
95 | status = "disabled"; /* pad conflict with backlight1 PWM */ | ||
96 | }; | ||
97 | |||
98 | &ldb { | ||
99 | status = "okay"; | ||
100 | |||
101 | lvds0: lvds-channel@0 { | ||
102 | fsl,data-mapping = "spwg"; | ||
103 | fsl,data-width = <18>; | ||
104 | status = "okay"; | ||
105 | |||
106 | display-timings { | ||
107 | native-mode = <&lvds_timing0>; | ||
108 | lvds_timing0: hsd100pxn1 { | ||
109 | clock-frequency = <65000000>; | ||
110 | hactive = <1024>; | ||
111 | vactive = <768>; | ||
112 | hback-porch = <220>; | ||
113 | hfront-porch = <40>; | ||
114 | vback-porch = <21>; | ||
115 | vfront-porch = <7>; | ||
116 | hsync-len = <60>; | ||
117 | vsync-len = <10>; | ||
118 | de-active = <1>; | ||
119 | pixelclk-active = <1>; | ||
120 | }; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | lvds1: lvds-channel@1 { | ||
125 | fsl,data-mapping = "spwg"; | ||
126 | fsl,data-width = <18>; | ||
127 | status = "disabled"; | ||
128 | |||
129 | display-timings { | ||
130 | native-mode = <&lvds_timing1>; | ||
131 | lvds_timing1: hsd100pxn1 { | ||
132 | clock-frequency = <65000000>; | ||
133 | hactive = <1024>; | ||
134 | vactive = <768>; | ||
135 | hback-porch = <220>; | ||
136 | hfront-porch = <40>; | ||
137 | vback-porch = <21>; | ||
138 | vfront-porch = <7>; | ||
139 | hsync-len = <60>; | ||
140 | vsync-len = <10>; | ||
141 | de-active = <1>; | ||
142 | pixelclk-active = <1>; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | }; | ||
147 | |||
148 | &pwm1 { | ||
149 | status = "okay"; | ||
150 | }; | ||
151 | |||
152 | &sata { | ||
153 | status = "okay"; | ||
154 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-udoo.dts b/arch/arm/boot/dts/imx6q-udoo.dts index 6c561060bf5c..e3bff2ac00db 100644 --- a/arch/arm/boot/dts/imx6q-udoo.dts +++ b/arch/arm/boot/dts/imx6q-udoo.dts | |||
@@ -23,6 +23,23 @@ | |||
23 | memory { | 23 | memory { |
24 | reg = <0x10000000 0x40000000>; | 24 | reg = <0x10000000 0x40000000>; |
25 | }; | 25 | }; |
26 | |||
27 | regulators { | ||
28 | compatible = "simple-bus"; | ||
29 | #address-cells = <1>; | ||
30 | #size-cells = <0>; | ||
31 | |||
32 | reg_usb_h1_vbus: regulator@0 { | ||
33 | compatible = "regulator-fixed"; | ||
34 | reg = <0>; | ||
35 | regulator-name = "usb_h1_vbus"; | ||
36 | regulator-min-microvolt = <5000000>; | ||
37 | regulator-max-microvolt = <5000000>; | ||
38 | enable-active-high; | ||
39 | startup-delay-us = <2>; /* USB2415 requires a POR of 1 us minimum */ | ||
40 | gpio = <&gpio7 12 0>; | ||
41 | }; | ||
42 | }; | ||
26 | }; | 43 | }; |
27 | 44 | ||
28 | &fec { | 45 | &fec { |
@@ -81,6 +98,13 @@ | |||
81 | >; | 98 | >; |
82 | }; | 99 | }; |
83 | 100 | ||
101 | pinctrl_usbh: usbhgrp { | ||
102 | fsl,pins = < | ||
103 | MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000 | ||
104 | MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 | ||
105 | >; | ||
106 | }; | ||
107 | |||
84 | pinctrl_usdhc3: usdhc3grp { | 108 | pinctrl_usdhc3: usdhc3grp { |
85 | fsl,pins = < | 109 | fsl,pins = < |
86 | MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 | 110 | MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 |
@@ -104,6 +128,14 @@ | |||
104 | status = "okay"; | 128 | status = "okay"; |
105 | }; | 129 | }; |
106 | 130 | ||
131 | &usbh1 { | ||
132 | pinctrl-names = "default"; | ||
133 | pinctrl-0 = <&pinctrl_usbh>; | ||
134 | vbus-supply = <®_usb_h1_vbus>; | ||
135 | clocks = <&clks 201>; | ||
136 | status = "okay"; | ||
137 | }; | ||
138 | |||
107 | &usdhc3 { | 139 | &usdhc3 { |
108 | pinctrl-names = "default"; | 140 | pinctrl-names = "default"; |
109 | pinctrl-0 = <&pinctrl_usdhc3>; | 141 | pinctrl-0 = <&pinctrl_usdhc3>; |
diff --git a/arch/arm/boot/dts/imx6q-wandboard-revb1.dts b/arch/arm/boot/dts/imx6q-wandboard-revb1.dts new file mode 100644 index 000000000000..20bf3c282623 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-wandboard-revb1.dts | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * Author: Fabio Estevam <fabio.estevam@freescale.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | #include "imx6q.dtsi" | ||
13 | #include "imx6qdl-wandboard-revb1.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Wandboard i.MX6 Quad Board"; | ||
17 | compatible = "wand,imx6q-wandboard", "fsl,imx6q"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x10000000 0x80000000>; | ||
21 | }; | ||
22 | }; | ||
23 | |||
24 | &sata { | ||
25 | status = "okay"; | ||
26 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-wandboard.dts b/arch/arm/boot/dts/imx6q-wandboard.dts index 36be17f207b1..4a8a6ee13e9f 100644 --- a/arch/arm/boot/dts/imx6q-wandboard.dts +++ b/arch/arm/boot/dts/imx6q-wandboard.dts | |||
@@ -10,7 +10,7 @@ | |||
10 | */ | 10 | */ |
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | #include "imx6q.dtsi" | 12 | #include "imx6q.dtsi" |
13 | #include "imx6qdl-wandboard.dtsi" | 13 | #include "imx6qdl-wandboard-revc1.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "Wandboard i.MX6 Quad Board"; | 16 | model = "Wandboard i.MX6 Quad Board"; |
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi index addd3f881ce2..e9f3646d1760 100644 --- a/arch/arm/boot/dts/imx6q.dtsi +++ b/arch/arm/boot/dts/imx6q.dtsi | |||
@@ -43,8 +43,11 @@ | |||
43 | 396000 1175000 | 43 | 396000 1175000 |
44 | >; | 44 | >; |
45 | clock-latency = <61036>; /* two CLK32 periods */ | 45 | clock-latency = <61036>; /* two CLK32 periods */ |
46 | clocks = <&clks 104>, <&clks 6>, <&clks 16>, | 46 | clocks = <&clks IMX6QDL_CLK_ARM>, |
47 | <&clks 17>, <&clks 170>; | 47 | <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, |
48 | <&clks IMX6QDL_CLK_STEP>, | ||
49 | <&clks IMX6QDL_CLK_PLL1_SW>, | ||
50 | <&clks IMX6QDL_CLK_PLL1_SYS>; | ||
48 | clock-names = "arm", "pll2_pfd2_396m", "step", | 51 | clock-names = "arm", "pll2_pfd2_396m", "step", |
49 | "pll1_sw", "pll1_sys"; | 52 | "pll1_sw", "pll1_sys"; |
50 | arm-supply = <®_arm>; | 53 | arm-supply = <®_arm>; |
@@ -78,7 +81,7 @@ | |||
78 | ocram: sram@00900000 { | 81 | ocram: sram@00900000 { |
79 | compatible = "mmio-sram"; | 82 | compatible = "mmio-sram"; |
80 | reg = <0x00900000 0x40000>; | 83 | reg = <0x00900000 0x40000>; |
81 | clocks = <&clks 142>; | 84 | clocks = <&clks IMX6QDL_CLK_OCRAM>; |
82 | }; | 85 | }; |
83 | 86 | ||
84 | aips-bus@02000000 { /* AIPS1 */ | 87 | aips-bus@02000000 { /* AIPS1 */ |
@@ -89,7 +92,8 @@ | |||
89 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 92 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
90 | reg = <0x02018000 0x4000>; | 93 | reg = <0x02018000 0x4000>; |
91 | interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>; | 94 | interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>; |
92 | clocks = <&clks 116>, <&clks 116>; | 95 | clocks = <&clks IMX6Q_CLK_ECSPI5>, |
96 | <&clks IMX6Q_CLK_ECSPI5>; | ||
93 | clock-names = "ipg", "per"; | 97 | clock-names = "ipg", "per"; |
94 | status = "disabled"; | 98 | status = "disabled"; |
95 | }; | 99 | }; |
@@ -140,7 +144,9 @@ | |||
140 | compatible = "fsl,imx6q-ahci"; | 144 | compatible = "fsl,imx6q-ahci"; |
141 | reg = <0x02200000 0x4000>; | 145 | reg = <0x02200000 0x4000>; |
142 | interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; | 146 | interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; |
143 | clocks = <&clks 154>, <&clks 187>, <&clks 105>; | 147 | clocks = <&clks IMX6QDL_CLK_SATA>, |
148 | <&clks IMX6QDL_CLK_SATA_REF_100M>, | ||
149 | <&clks IMX6QDL_CLK_AHB>; | ||
144 | clock-names = "sata", "sata_ref", "ahb"; | 150 | clock-names = "sata", "sata_ref", "ahb"; |
145 | status = "disabled"; | 151 | status = "disabled"; |
146 | }; | 152 | }; |
@@ -152,10 +158,20 @@ | |||
152 | reg = <0x02800000 0x400000>; | 158 | reg = <0x02800000 0x400000>; |
153 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>, | 159 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>, |
154 | <0 7 IRQ_TYPE_LEVEL_HIGH>; | 160 | <0 7 IRQ_TYPE_LEVEL_HIGH>; |
155 | clocks = <&clks 133>, <&clks 134>, <&clks 137>; | 161 | clocks = <&clks IMX6QDL_CLK_IPU2>, |
162 | <&clks IMX6QDL_CLK_IPU2_DI0>, | ||
163 | <&clks IMX6QDL_CLK_IPU2_DI1>; | ||
156 | clock-names = "bus", "di0", "di1"; | 164 | clock-names = "bus", "di0", "di1"; |
157 | resets = <&src 4>; | 165 | resets = <&src 4>; |
158 | 166 | ||
167 | ipu2_csi0: port@0 { | ||
168 | reg = <0>; | ||
169 | }; | ||
170 | |||
171 | ipu2_csi1: port@1 { | ||
172 | reg = <1>; | ||
173 | }; | ||
174 | |||
159 | ipu2_di0: port@2 { | 175 | ipu2_di0: port@2 { |
160 | #address-cells = <1>; | 176 | #address-cells = <1>; |
161 | #size-cells = <0>; | 177 | #size-cells = <0>; |
@@ -230,9 +246,10 @@ | |||
230 | }; | 246 | }; |
231 | 247 | ||
232 | &ldb { | 248 | &ldb { |
233 | clocks = <&clks 33>, <&clks 34>, | 249 | clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>, |
234 | <&clks 39>, <&clks 40>, <&clks 41>, <&clks 42>, | 250 | <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>, |
235 | <&clks 135>, <&clks 136>; | 251 | <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, <&clks IMX6QDL_CLK_IPU2_DI1_SEL>, |
252 | <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>; | ||
236 | clock-names = "di0_pll", "di1_pll", | 253 | clock-names = "di0_pll", "di1_pll", |
237 | "di0_sel", "di1_sel", "di2_sel", "di3_sel", | 254 | "di0_sel", "di1_sel", "di2_sel", "di3_sel", |
238 | "di0", "di1"; | 255 | "di0", "di1"; |
diff --git a/arch/arm/boot/dts/imx6qdl-aristainetos.dtsi b/arch/arm/boot/dts/imx6qdl-aristainetos.dtsi new file mode 100644 index 000000000000..e6d9195a1da7 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-aristainetos.dtsi | |||
@@ -0,0 +1,418 @@ | |||
1 | /* | ||
2 | * support fot the imx6 based aristainetos board | ||
3 | * | ||
4 | * Copyright (C) 2014 Heiko Schocher <hs@denx.de> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <dt-bindings/gpio/gpio.h> | ||
13 | |||
14 | / { | ||
15 | regulators { | ||
16 | compatible = "simple-bus"; | ||
17 | #address-cells = <1>; | ||
18 | #size-cells = <0>; | ||
19 | |||
20 | reg_2p5v: regulator@0 { | ||
21 | compatible = "regulator-fixed"; | ||
22 | regulator-name = "2P5V"; | ||
23 | regulator-min-microvolt = <2500000>; | ||
24 | regulator-max-microvolt = <2500000>; | ||
25 | regulator-always-on; | ||
26 | }; | ||
27 | |||
28 | reg_3p3v: regulator@1 { | ||
29 | compatible = "regulator-fixed"; | ||
30 | regulator-name = "3P3V"; | ||
31 | regulator-min-microvolt = <3300000>; | ||
32 | regulator-max-microvolt = <3300000>; | ||
33 | regulator-always-on; | ||
34 | }; | ||
35 | |||
36 | reg_usbh1_vbus: regulator@2 { | ||
37 | compatible = "regulator-fixed"; | ||
38 | enable-active-high; | ||
39 | gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; | ||
40 | pinctrl-names = "default"; | ||
41 | pinctrl-0 = <&pinctrl_aristainetos_usbh1_vbus>; | ||
42 | regulator-name = "usb_h1_vbus"; | ||
43 | regulator-min-microvolt = <5000000>; | ||
44 | regulator-max-microvolt = <5000000>; | ||
45 | }; | ||
46 | |||
47 | reg_usbotg_vbus: regulator@3 { | ||
48 | compatible = "regulator-fixed"; | ||
49 | enable-active-high; | ||
50 | gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>; | ||
51 | pinctrl-names = "default"; | ||
52 | pinctrl-0 = <&pinctrl_aristainetos_usbotg_vbus>; | ||
53 | regulator-name = "usb_otg_vbus"; | ||
54 | regulator-min-microvolt = <5000000>; | ||
55 | regulator-max-microvolt = <5000000>; | ||
56 | }; | ||
57 | }; | ||
58 | }; | ||
59 | |||
60 | &audmux { | ||
61 | pinctrl-names = "default"; | ||
62 | pinctrl-0 = <&pinctrl_audmux>; | ||
63 | status = "okay"; | ||
64 | }; | ||
65 | |||
66 | &can1 { | ||
67 | pinctrl-names = "default"; | ||
68 | pinctrl-0 = <&pinctrl_flexcan1>; | ||
69 | status = "okay"; | ||
70 | }; | ||
71 | |||
72 | &can2 { | ||
73 | pinctrl-names = "default"; | ||
74 | pinctrl-0 = <&pinctrl_flexcan2>; | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | |||
78 | &i2c1 { | ||
79 | clock-frequency = <100000>; | ||
80 | pinctrl-names = "default"; | ||
81 | pinctrl-0 = <&pinctrl_i2c1>; | ||
82 | status = "okay"; | ||
83 | |||
84 | tmp103: tmp103@71 { | ||
85 | compatible = "ti,tmp103"; | ||
86 | reg = <0x71>; | ||
87 | }; | ||
88 | }; | ||
89 | |||
90 | &i2c3 { | ||
91 | clock-frequency = <100000>; | ||
92 | pinctrl-names = "default"; | ||
93 | pinctrl-0 = <&pinctrl_i2c3>; | ||
94 | status = "okay"; | ||
95 | |||
96 | rtc@68 { | ||
97 | compatible = "dallas,m41t00"; | ||
98 | reg = <0x68>; | ||
99 | }; | ||
100 | }; | ||
101 | |||
102 | &ecspi4 { | ||
103 | fsl,spi-num-chipselects = <1>; | ||
104 | cs-gpios = <&gpio3 20 0>; | ||
105 | pinctrl-names = "default"; | ||
106 | pinctrl-0 = <&pinctrl_ecspi4>; | ||
107 | status = "okay"; | ||
108 | |||
109 | flash: m25p80@0 { | ||
110 | #address-cells = <1>; | ||
111 | #size-cells = <1>; | ||
112 | compatible = "micron,n25q128a11"; | ||
113 | spi-max-frequency = <20000000>; | ||
114 | reg = <0>; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | &fec { | ||
119 | pinctrl-names = "default"; | ||
120 | pinctrl-0 = <&pinctrl_enet>; | ||
121 | phy-mode = "rmii"; | ||
122 | phy-reset-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>; | ||
123 | status = "okay"; | ||
124 | }; | ||
125 | |||
126 | &gpmi { | ||
127 | pinctrl-names = "default"; | ||
128 | pinctrl-0 = <&pinctrl_gpmi_nand>; | ||
129 | status = "okay"; | ||
130 | }; | ||
131 | |||
132 | &pcie { | ||
133 | status = "okay"; | ||
134 | }; | ||
135 | |||
136 | &uart2 { | ||
137 | pinctrl-names = "default"; | ||
138 | pinctrl-0 = <&pinctrl_uart2>; | ||
139 | status = "okay"; | ||
140 | }; | ||
141 | |||
142 | |||
143 | &uart4 { | ||
144 | pinctrl-names = "default"; | ||
145 | pinctrl-0 = <&pinctrl_uart4>; | ||
146 | fsl,uart-has-rtscts; | ||
147 | status = "okay"; | ||
148 | }; | ||
149 | |||
150 | &uart5 { | ||
151 | pinctrl-names = "default"; | ||
152 | pinctrl-0 = <&pinctrl_uart5>; | ||
153 | fsl,uart-has-rtscts; | ||
154 | status = "okay"; | ||
155 | }; | ||
156 | |||
157 | &usbh1 { | ||
158 | vbus-supply = <®_usbh1_vbus>; | ||
159 | dr_mode = "host"; | ||
160 | status = "okay"; | ||
161 | }; | ||
162 | |||
163 | &usbotg { | ||
164 | vbus-supply = <®_usbotg_vbus>; | ||
165 | pinctrl-names = "default"; | ||
166 | pinctrl-0 = <&pinctrl_usbotg>; | ||
167 | disable-over-current; | ||
168 | dr_mode = "host"; | ||
169 | status = "okay"; | ||
170 | }; | ||
171 | |||
172 | &usdhc1 { | ||
173 | pinctrl-names = "default"; | ||
174 | pinctrl-0 = <&pinctrl_usdhc1>; | ||
175 | vmmc-supply = <®_3p3v>; | ||
176 | cd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; | ||
177 | status = "okay"; | ||
178 | }; | ||
179 | |||
180 | &usdhc2 { | ||
181 | pinctrl-names = "default"; | ||
182 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
183 | vmmc-supply = <®_3p3v>; | ||
184 | cd-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; | ||
185 | status = "okay"; | ||
186 | }; | ||
187 | |||
188 | &iomuxc { | ||
189 | pinctrl-names = "default"; | ||
190 | pinctrl-0 = <&pinctrl_hog &pinctrl_gpio>; | ||
191 | |||
192 | imx6qdl-aristainetos { | ||
193 | pinctrl_aristainetos_usbh1_vbus: aristainetos-usbh1-vbus { | ||
194 | fsl,pins = <MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x130b0>; | ||
195 | }; | ||
196 | |||
197 | pinctrl_aristainetos_usbotg_vbus: aristainetos-usbotg-vbus { | ||
198 | fsl,pins = <MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x130b0>; | ||
199 | }; | ||
200 | |||
201 | pinctrl_audmux: audmuxgrp { | ||
202 | fsl,pins = < | ||
203 | MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x1b0b0 | ||
204 | MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x1b0b0 | ||
205 | MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x1b0b0 | ||
206 | MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x1b0b0 | ||
207 | >; | ||
208 | }; | ||
209 | |||
210 | pinctrl_backlight: backlightgrp { | ||
211 | fsl,pins = < | ||
212 | MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b0 | ||
213 | MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b0 | ||
214 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0 | ||
215 | >; | ||
216 | }; | ||
217 | |||
218 | pinctrl_ecspi2: ecspi2grp { | ||
219 | fsl,pins = < | ||
220 | MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 | ||
221 | MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 | ||
222 | MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 | ||
223 | MX6QDL_PAD_EIM_D24__GPIO3_IO24 0x100b1 | ||
224 | >; | ||
225 | }; | ||
226 | |||
227 | pinctrl_ecspi4: ecspi4grp { | ||
228 | fsl,pins = < | ||
229 | MX6QDL_PAD_EIM_D21__ECSPI4_SCLK 0x100b1 | ||
230 | MX6QDL_PAD_EIM_D22__ECSPI4_MISO 0x100b1 | ||
231 | MX6QDL_PAD_EIM_D28__ECSPI4_MOSI 0x100b1 | ||
232 | MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x100b1 | ||
233 | MX6QDL_PAD_SD4_DAT7__GPIO2_IO15 0x1b0b0 /* WP pin */ | ||
234 | >; | ||
235 | }; | ||
236 | |||
237 | pinctrl_enet: enetgrp { | ||
238 | fsl,pins = < | ||
239 | MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 | ||
240 | MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 | ||
241 | MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 | ||
242 | MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0 | ||
243 | MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 | ||
244 | MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 | ||
245 | MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0 | ||
246 | MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0 | ||
247 | MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0 | ||
248 | MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 | ||
249 | >; | ||
250 | }; | ||
251 | |||
252 | pinctrl_flexcan1: flexcan1grp { | ||
253 | fsl,pins = < | ||
254 | MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b0 | ||
255 | MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b0b0 | ||
256 | >; | ||
257 | }; | ||
258 | |||
259 | pinctrl_flexcan2: flexcan2grp { | ||
260 | fsl,pins = < | ||
261 | MX6QDL_PAD_SD3_DAT0__FLEXCAN2_TX 0x1b0b0 | ||
262 | MX6QDL_PAD_SD3_DAT1__FLEXCAN2_RX 0x1b0b0 | ||
263 | >; | ||
264 | }; | ||
265 | |||
266 | pinctrl_gpio: gpiogrp { | ||
267 | fsl,pins = < | ||
268 | MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x1b0b0 | ||
269 | MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b0 | ||
270 | MX6QDL_PAD_SD4_DAT4__GPIO2_IO12 0x1b0b0 | ||
271 | MX6QDL_PAD_SD4_DAT5__GPIO2_IO13 0x1b0b0 | ||
272 | MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x1b0b0 | ||
273 | MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0 | ||
274 | MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x1b0b0 | ||
275 | MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 | ||
276 | MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0 | ||
277 | MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x1b0b0 | ||
278 | MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x1b0b0 | ||
279 | >; | ||
280 | }; | ||
281 | |||
282 | pinctrl_gpmi_nand: gpminandgrp { | ||
283 | fsl,pins = < | ||
284 | MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1 | ||
285 | MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1 | ||
286 | MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1 | ||
287 | MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000 | ||
288 | MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1 | ||
289 | MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1 | ||
290 | MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1 | ||
291 | MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1 | ||
292 | MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1 | ||
293 | MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1 | ||
294 | MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1 | ||
295 | MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1 | ||
296 | MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1 | ||
297 | MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1 | ||
298 | MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1 | ||
299 | MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1 | ||
300 | MX6QDL_PAD_SD4_DAT0__NAND_DQS 0x00b1 | ||
301 | >; | ||
302 | }; | ||
303 | |||
304 | pinctrl_hog: hoggrp { | ||
305 | fsl,pins = < | ||
306 | MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x10 | ||
307 | >; | ||
308 | }; | ||
309 | |||
310 | pinctrl_i2c1: i2c1grp { | ||
311 | fsl,pins = < | ||
312 | MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 | ||
313 | MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1 | ||
314 | >; | ||
315 | }; | ||
316 | |||
317 | pinctrl_i2c2: i2c2grp { | ||
318 | fsl,pins = < | ||
319 | MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 | ||
320 | MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 | ||
321 | >; | ||
322 | }; | ||
323 | |||
324 | pinctrl_i2c3: i2c3grp { | ||
325 | fsl,pins = < | ||
326 | MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 | ||
327 | MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 | ||
328 | >; | ||
329 | }; | ||
330 | |||
331 | pinctrl_ipu_disp: ipudisp1grp { | ||
332 | fsl,pins = < | ||
333 | MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 | ||
334 | MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10 | ||
335 | MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10 | ||
336 | MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10 | ||
337 | MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x20000 | ||
338 | MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10 | ||
339 | MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10 | ||
340 | MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10 | ||
341 | MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10 | ||
342 | MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10 | ||
343 | MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10 | ||
344 | MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10 | ||
345 | MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10 | ||
346 | MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10 | ||
347 | MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10 | ||
348 | MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10 | ||
349 | MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10 | ||
350 | MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10 | ||
351 | MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10 | ||
352 | MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10 | ||
353 | MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10 | ||
354 | MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10 | ||
355 | MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10 | ||
356 | MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10 | ||
357 | MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10 | ||
358 | MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10 | ||
359 | MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10 | ||
360 | MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10 | ||
361 | MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10 | ||
362 | >; | ||
363 | }; | ||
364 | |||
365 | pinctrl_uart2: uart2grp { | ||
366 | fsl,pins = < | ||
367 | MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 | ||
368 | MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 | ||
369 | >; | ||
370 | }; | ||
371 | |||
372 | pinctrl_uart4: uart4grp { | ||
373 | fsl,pins = < | ||
374 | MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1 | ||
375 | MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1 | ||
376 | MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1 | ||
377 | MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1 | ||
378 | >; | ||
379 | }; | ||
380 | |||
381 | pinctrl_uart5: uart5grp { | ||
382 | fsl,pins = < | ||
383 | MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1 | ||
384 | MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1 | ||
385 | >; | ||
386 | }; | ||
387 | |||
388 | pinctrl_usbotg: usbotggrp { | ||
389 | fsl,pins = < | ||
390 | MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 | ||
391 | >; | ||
392 | }; | ||
393 | |||
394 | pinctrl_usdhc1: usdhc1grp { | ||
395 | fsl,pins = < | ||
396 | MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059 | ||
397 | MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059 | ||
398 | MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059 | ||
399 | MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059 | ||
400 | MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059 | ||
401 | MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059 | ||
402 | MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x1b0b0 | ||
403 | >; | ||
404 | }; | ||
405 | |||
406 | pinctrl_usdhc2: usdhc2grp { | ||
407 | fsl,pins = < | ||
408 | MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 | ||
409 | MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 | ||
410 | MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 | ||
411 | MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 | ||
412 | MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 | ||
413 | MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 | ||
414 | MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x1b0b0 | ||
415 | >; | ||
416 | }; | ||
417 | }; | ||
418 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi index 744c8a2d81f6..234e7b755232 100644 --- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | |||
@@ -121,9 +121,9 @@ | |||
121 | }; | 121 | }; |
122 | 122 | ||
123 | sound { | 123 | sound { |
124 | compatible = "fsl,imx6q-sabrelite-sgtl5000", | 124 | compatible = "fsl,imx6q-ventana-sgtl5000", |
125 | "fsl,imx-audio-sgtl5000"; | 125 | "fsl,imx-audio-sgtl5000"; |
126 | model = "imx6q-sabrelite-sgtl5000"; | 126 | model = "sgtl5000-audio"; |
127 | ssi-controller = <&ssi1>; | 127 | ssi-controller = <&ssi1>; |
128 | audio-codec = <&codec>; | 128 | audio-codec = <&codec>; |
129 | audio-routing = | 129 | audio-routing = |
@@ -489,7 +489,6 @@ | |||
489 | }; | 489 | }; |
490 | 490 | ||
491 | &ssi1 { | 491 | &ssi1 { |
492 | fsl,mode = "i2s-slave"; | ||
493 | status = "okay"; | 492 | status = "okay"; |
494 | }; | 493 | }; |
495 | 494 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi index adf150c1be90..143f84f7812c 100644 --- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | |||
@@ -124,9 +124,9 @@ | |||
124 | }; | 124 | }; |
125 | 125 | ||
126 | sound { | 126 | sound { |
127 | compatible = "fsl,imx6q-sabrelite-sgtl5000", | 127 | compatible = "fsl,imx6q-ventana-sgtl5000", |
128 | "fsl,imx-audio-sgtl5000"; | 128 | "fsl,imx-audio-sgtl5000"; |
129 | model = "imx6q-sabrelite-sgtl5000"; | 129 | model = "sgtl5000-audio"; |
130 | ssi-controller = <&ssi1>; | 130 | ssi-controller = <&ssi1>; |
131 | audio-codec = <&codec>; | 131 | audio-codec = <&codec>; |
132 | audio-routing = | 132 | audio-routing = |
@@ -533,7 +533,6 @@ | |||
533 | }; | 533 | }; |
534 | 534 | ||
535 | &ssi1 { | 535 | &ssi1 { |
536 | fsl,mode = "i2s-slave"; | ||
537 | status = "okay"; | 536 | status = "okay"; |
538 | }; | 537 | }; |
539 | 538 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi index 698d3063b295..16e7ad3d98ad 100644 --- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | |||
@@ -114,9 +114,9 @@ | |||
114 | }; | 114 | }; |
115 | 115 | ||
116 | sound { | 116 | sound { |
117 | compatible = "fsl,imx6q-sabrelite-sgtl5000", | 117 | compatible = "fsl,imx6q-ventana-sgtl5000", |
118 | "fsl,imx-audio-sgtl5000"; | 118 | "fsl,imx-audio-sgtl5000"; |
119 | model = "imx6q-sabrelite-sgtl5000"; | 119 | model = "sgtl5000-audio"; |
120 | ssi-controller = <&ssi1>; | 120 | ssi-controller = <&ssi1>; |
121 | audio-codec = <&codec>; | 121 | audio-codec = <&codec>; |
122 | audio-routing = | 122 | audio-routing = |
@@ -555,12 +555,10 @@ | |||
555 | }; | 555 | }; |
556 | 556 | ||
557 | &ssi1 { | 557 | &ssi1 { |
558 | fsl,mode = "i2s-slave"; | ||
559 | status = "okay"; | 558 | status = "okay"; |
560 | }; | 559 | }; |
561 | 560 | ||
562 | &ssi2 { | 561 | &ssi2 { |
563 | fsl,mode = "i2s-slave"; | ||
564 | status = "okay"; | 562 | status = "okay"; |
565 | }; | 563 | }; |
566 | 564 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi index 4c4b17596c8b..42ff525ebe13 100644 --- a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +++ b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | |||
@@ -381,7 +381,6 @@ | |||
381 | }; | 381 | }; |
382 | 382 | ||
383 | &ssi1 { | 383 | &ssi1 { |
384 | fsl,mode = "i2s-slave"; | ||
385 | status = "okay"; | 384 | status = "okay"; |
386 | }; | 385 | }; |
387 | 386 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi index faa3494a69d4..2694aa84e187 100644 --- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi +++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | |||
@@ -301,6 +301,7 @@ | |||
301 | pinctrl-0 = <&pinctrl_enet>; | 301 | pinctrl-0 = <&pinctrl_enet>; |
302 | phy-mode = "rgmii"; | 302 | phy-mode = "rgmii"; |
303 | phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; | 303 | phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; |
304 | phy-supply = <&vdd_eth_io_reg>; | ||
304 | status = "disabled"; | 305 | status = "disabled"; |
305 | }; | 306 | }; |
306 | 307 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-rex.dtsi b/arch/arm/boot/dts/imx6qdl-rex.dtsi new file mode 100644 index 000000000000..df7bcf86c156 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-rex.dtsi | |||
@@ -0,0 +1,357 @@ | |||
1 | /* | ||
2 | * Copyright 2014 FEDEVEL, Inc. | ||
3 | * | ||
4 | * Author: Robert Nelson <robertcnelson@gmail.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <dt-bindings/gpio/gpio.h> | ||
13 | #include <dt-bindings/input/input.h> | ||
14 | |||
15 | / { | ||
16 | chosen { | ||
17 | stdout-path = &uart1; | ||
18 | }; | ||
19 | |||
20 | regulators { | ||
21 | compatible = "simple-bus"; | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <0>; | ||
24 | |||
25 | reg_3p3v: regulator@0 { | ||
26 | compatible = "regulator-fixed"; | ||
27 | reg = <0>; | ||
28 | regulator-name = "3P3V"; | ||
29 | regulator-min-microvolt = <3300000>; | ||
30 | regulator-max-microvolt = <3300000>; | ||
31 | regulator-always-on; | ||
32 | }; | ||
33 | |||
34 | reg_usbh1_vbus: regulator@1 { | ||
35 | compatible = "regulator-fixed"; | ||
36 | reg = <1>; | ||
37 | pinctrl-names = "default"; | ||
38 | pinctrl-0 = <&pinctrl_usbh1>; | ||
39 | regulator-name = "usbh1_vbus"; | ||
40 | regulator-min-microvolt = <5000000>; | ||
41 | regulator-max-microvolt = <5000000>; | ||
42 | gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; | ||
43 | enable-active-high; | ||
44 | }; | ||
45 | |||
46 | reg_usb_otg_vbus: regulator@2 { | ||
47 | compatible = "regulator-fixed"; | ||
48 | reg = <2>; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_usbotg>; | ||
51 | regulator-name = "usb_otg_vbus"; | ||
52 | regulator-min-microvolt = <5000000>; | ||
53 | regulator-max-microvolt = <5000000>; | ||
54 | gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; | ||
55 | enable-active-high; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | leds { | ||
60 | compatible = "gpio-leds"; | ||
61 | pinctrl-names = "default"; | ||
62 | pinctrl-0 = <&pinctrl_led>; | ||
63 | |||
64 | led0: usr { | ||
65 | label = "usr"; | ||
66 | gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; | ||
67 | default-state = "off"; | ||
68 | linux,default-trigger = "heartbeat"; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | sound { | ||
73 | compatible = "fsl,imx6-rex-sgtl5000", | ||
74 | "fsl,imx-audio-sgtl5000"; | ||
75 | model = "imx6-rex-sgtl5000"; | ||
76 | ssi-controller = <&ssi1>; | ||
77 | audio-codec = <&codec>; | ||
78 | audio-routing = | ||
79 | "MIC_IN", "Mic Jack", | ||
80 | "Mic Jack", "Mic Bias", | ||
81 | "Headphone Jack", "HP_OUT"; | ||
82 | mux-int-port = <1>; | ||
83 | mux-ext-port = <3>; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | &audmux { | ||
88 | pinctrl-names = "default"; | ||
89 | pinctrl-0 = <&pinctrl_audmux>; | ||
90 | status = "okay"; | ||
91 | }; | ||
92 | |||
93 | &ecspi2 { | ||
94 | fsl,spi-num-chipselects = <1>; | ||
95 | cs-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; | ||
96 | pinctrl-names = "default"; | ||
97 | pinctrl-0 = <&pinctrl_ecspi2>; | ||
98 | status = "okay"; | ||
99 | }; | ||
100 | |||
101 | &ecspi3 { | ||
102 | fsl,spi-num-chipselects = <1>; | ||
103 | cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; | ||
104 | pinctrl-names = "default"; | ||
105 | pinctrl-0 = <&pinctrl_ecspi3>; | ||
106 | status = "okay"; | ||
107 | }; | ||
108 | |||
109 | &fec { | ||
110 | pinctrl-names = "default"; | ||
111 | pinctrl-0 = <&pinctrl_enet>; | ||
112 | phy-mode = "rgmii"; | ||
113 | phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; | ||
114 | status = "okay"; | ||
115 | }; | ||
116 | |||
117 | &hdmi { | ||
118 | ddc-i2c-bus = <&i2c2>; | ||
119 | status = "okay"; | ||
120 | }; | ||
121 | |||
122 | &i2c1 { | ||
123 | clock-frequency = <100000>; | ||
124 | pinctrl-names = "default"; | ||
125 | pinctrl-0 = <&pinctrl_i2c1>; | ||
126 | status = "okay"; | ||
127 | |||
128 | codec: sgtl5000@0a { | ||
129 | compatible = "fsl,sgtl5000"; | ||
130 | reg = <0x0a>; | ||
131 | clocks = <&clks 201>; | ||
132 | VDDA-supply = <®_3p3v>; | ||
133 | VDDIO-supply = <®_3p3v>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | &i2c2 { | ||
138 | clock-frequency = <100000>; | ||
139 | pinctrl-names = "default"; | ||
140 | pinctrl-0 = <&pinctrl_i2c2>; | ||
141 | status = "okay"; | ||
142 | |||
143 | eeprom@57 { | ||
144 | compatible = "at,24c02"; | ||
145 | reg = <0x57>; | ||
146 | }; | ||
147 | }; | ||
148 | |||
149 | &i2c3 { | ||
150 | clock-frequency = <100000>; | ||
151 | pinctrl-names = "default"; | ||
152 | pinctrl-0 = <&pinctrl_i2c3>; | ||
153 | status = "okay"; | ||
154 | }; | ||
155 | |||
156 | &iomuxc { | ||
157 | pinctrl-names = "default"; | ||
158 | pinctrl-0 = <&pinctrl_hog>; | ||
159 | |||
160 | imx6qdl-rex { | ||
161 | pinctrl_hog: hoggrp { | ||
162 | fsl,pins = < | ||
163 | /* SGTL5000 sys_mclk */ | ||
164 | MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x030b0 | ||
165 | >; | ||
166 | }; | ||
167 | |||
168 | pinctrl_audmux: audmuxgrp { | ||
169 | fsl,pins = < | ||
170 | MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 | ||
171 | MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 | ||
172 | MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 | ||
173 | MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 | ||
174 | >; | ||
175 | }; | ||
176 | |||
177 | pinctrl_ecspi2: ecspi2grp { | ||
178 | fsl,pins = < | ||
179 | MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1 | ||
180 | MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1 | ||
181 | MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1 | ||
182 | /* CS */ | ||
183 | MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26 0x000b1 | ||
184 | >; | ||
185 | }; | ||
186 | |||
187 | pinctrl_ecspi3: ecspi3grp { | ||
188 | fsl,pins = < | ||
189 | MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO 0x100b1 | ||
190 | MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI 0x100b1 | ||
191 | MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK 0x100b1 | ||
192 | /* CS */ | ||
193 | MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12 0x000b1 | ||
194 | >; | ||
195 | }; | ||
196 | |||
197 | pinctrl_enet: enetgrp { | ||
198 | fsl,pins = < | ||
199 | MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 | ||
200 | MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 | ||
201 | MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 | ||
202 | MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 | ||
203 | MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 | ||
204 | MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 | ||
205 | MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 | ||
206 | MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 | ||
207 | MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 | ||
208 | MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 | ||
209 | MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 | ||
210 | MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 | ||
211 | MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 | ||
212 | MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 | ||
213 | MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 | ||
214 | MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 | ||
215 | /* Phy reset */ | ||
216 | MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x000b0 | ||
217 | >; | ||
218 | }; | ||
219 | |||
220 | pinctrl_i2c1: i2c1grp { | ||
221 | fsl,pins = < | ||
222 | MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 | ||
223 | MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1 | ||
224 | >; | ||
225 | }; | ||
226 | |||
227 | pinctrl_i2c2: i2c2grp { | ||
228 | fsl,pins = < | ||
229 | MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 | ||
230 | MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 | ||
231 | >; | ||
232 | }; | ||
233 | |||
234 | pinctrl_i2c3: i2c3grp { | ||
235 | fsl,pins = < | ||
236 | MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 | ||
237 | MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 | ||
238 | >; | ||
239 | }; | ||
240 | |||
241 | pinctrl_led: ledgrp { | ||
242 | fsl,pins = < | ||
243 | /* user led */ | ||
244 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 | ||
245 | >; | ||
246 | }; | ||
247 | |||
248 | pinctrl_uart1: uart1grp { | ||
249 | fsl,pins = < | ||
250 | MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 | ||
251 | MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 | ||
252 | >; | ||
253 | }; | ||
254 | |||
255 | pinctrl_uart2: uart2grp { | ||
256 | fsl,pins = < | ||
257 | MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 | ||
258 | MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 | ||
259 | >; | ||
260 | }; | ||
261 | |||
262 | pinctrl_usbh1: usbh1grp { | ||
263 | fsl,pins = < | ||
264 | /* power enable, high active */ | ||
265 | MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x10b0 | ||
266 | >; | ||
267 | }; | ||
268 | |||
269 | pinctrl_usbotg: usbotggrp { | ||
270 | fsl,pins = < | ||
271 | MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 | ||
272 | MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x1b0b0 | ||
273 | /* power enable, high active */ | ||
274 | MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x10b0 | ||
275 | >; | ||
276 | }; | ||
277 | |||
278 | pinctrl_usdhc2: usdhc2grp { | ||
279 | fsl,pins = < | ||
280 | MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 | ||
281 | MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 | ||
282 | MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 | ||
283 | MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 | ||
284 | MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 | ||
285 | MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 | ||
286 | /* CD */ | ||
287 | MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0 | ||
288 | /* WP */ | ||
289 | MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1f0b0 | ||
290 | >; | ||
291 | }; | ||
292 | |||
293 | pinctrl_usdhc3: usdhc3grp { | ||
294 | fsl,pins = < | ||
295 | MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 | ||
296 | MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 | ||
297 | MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 | ||
298 | MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 | ||
299 | MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 | ||
300 | MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 | ||
301 | /* CD */ | ||
302 | MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0 | ||
303 | /* WP */ | ||
304 | MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1f0b0 | ||
305 | >; | ||
306 | }; | ||
307 | }; | ||
308 | }; | ||
309 | |||
310 | &ssi1 { | ||
311 | fsl,mode = "i2s-slave"; | ||
312 | status = "okay"; | ||
313 | }; | ||
314 | |||
315 | &uart1 { | ||
316 | pinctrl-names = "default"; | ||
317 | pinctrl-0 = <&pinctrl_uart1>; | ||
318 | status = "okay"; | ||
319 | }; | ||
320 | |||
321 | &uart2 { | ||
322 | pinctrl-names = "default"; | ||
323 | pinctrl-0 = <&pinctrl_uart2>; | ||
324 | status = "okay"; | ||
325 | }; | ||
326 | |||
327 | &usbh1 { | ||
328 | vbus-supply = <®_usbh1_vbus>; | ||
329 | pinctrl-names = "default"; | ||
330 | pinctrl-0 = <&pinctrl_usbh1>; | ||
331 | status = "okay"; | ||
332 | }; | ||
333 | |||
334 | &usbotg { | ||
335 | vbus-supply = <®_usb_otg_vbus>; | ||
336 | pinctrl-names = "default"; | ||
337 | pinctrl-0 = <&pinctrl_usbotg>; | ||
338 | status = "okay"; | ||
339 | }; | ||
340 | |||
341 | &usdhc2 { | ||
342 | pinctrl-names = "default"; | ||
343 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
344 | bus-width = <4>; | ||
345 | cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; | ||
346 | wp-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; | ||
347 | status = "okay"; | ||
348 | }; | ||
349 | |||
350 | &usdhc3 { | ||
351 | pinctrl-names = "default"; | ||
352 | pinctrl-0 = <&pinctrl_usdhc3>; | ||
353 | bus-width = <4>; | ||
354 | cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; | ||
355 | wp-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; | ||
356 | status = "okay"; | ||
357 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi index 6df6127bf835..0a36129152e0 100644 --- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | |||
@@ -381,7 +381,6 @@ | |||
381 | }; | 381 | }; |
382 | 382 | ||
383 | &ssi1 { | 383 | &ssi1 { |
384 | fsl,mode = "i2s-slave"; | ||
385 | status = "okay"; | 384 | status = "okay"; |
386 | }; | 385 | }; |
387 | 386 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi index 40ea36534643..ec43dde78525 100644 --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi | |||
@@ -340,6 +340,7 @@ | |||
340 | MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1 | 340 | MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1 |
341 | MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1 | 341 | MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1 |
342 | MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1 | 342 | MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1 |
343 | MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x1b0b0 | ||
343 | >; | 344 | >; |
344 | }; | 345 | }; |
345 | 346 | ||
@@ -512,7 +513,6 @@ | |||
512 | }; | 513 | }; |
513 | 514 | ||
514 | &ssi2 { | 515 | &ssi2 { |
515 | fsl,mode = "i2s-slave"; | ||
516 | status = "okay"; | 516 | status = "okay"; |
517 | }; | 517 | }; |
518 | 518 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-tx6.dtsi b/arch/arm/boot/dts/imx6qdl-tx6.dtsi new file mode 100644 index 000000000000..f02b80b41d4f --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-tx6.dtsi | |||
@@ -0,0 +1,696 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | #include <dt-bindings/gpio/gpio.h> | ||
13 | #include <dt-bindings/input/input.h> | ||
14 | #include <dt-bindings/pwm/pwm.h> | ||
15 | |||
16 | / { | ||
17 | aliases { | ||
18 | can0 = &can2; | ||
19 | can1 = &can1; | ||
20 | ethernet0 = &fec; | ||
21 | lcdif_23bit_pins_a = &pinctrl_disp0_1; | ||
22 | lcdif_24bit_pins_a = &pinctrl_disp0_2; | ||
23 | pwm0 = &pwm1; | ||
24 | pwm1 = &pwm2; | ||
25 | reg_can_xcvr = ®_can_xcvr; | ||
26 | stk5led = &user_led; | ||
27 | usbotg = &usbotg; | ||
28 | sdhc0 = &usdhc1; | ||
29 | sdhc1 = &usdhc2; | ||
30 | }; | ||
31 | |||
32 | memory { | ||
33 | reg = <0 0>; /* will be filled by U-Boot */ | ||
34 | }; | ||
35 | |||
36 | clocks { | ||
37 | #address-cells = <1>; | ||
38 | #size-cells = <0>; | ||
39 | mclk: clock@0 { | ||
40 | compatible = "fixed-clock"; | ||
41 | reg = <0>; | ||
42 | #clock-cells = <0>; | ||
43 | clock-frequency = <27000000>; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | gpio-keys { | ||
48 | compatible = "gpio-keys"; | ||
49 | |||
50 | power { | ||
51 | label = "Power Button"; | ||
52 | gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; | ||
53 | linux,code = <KEY_POWER>; | ||
54 | gpio-key,wakeup; | ||
55 | }; | ||
56 | }; | ||
57 | |||
58 | leds { | ||
59 | compatible = "gpio-leds"; | ||
60 | |||
61 | user_led: user { | ||
62 | label = "Heartbeat"; | ||
63 | gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; | ||
64 | linux,default-trigger = "heartbeat"; | ||
65 | }; | ||
66 | }; | ||
67 | |||
68 | regulators { | ||
69 | compatible = "simple-bus"; | ||
70 | #address-cells = <1>; | ||
71 | #size-cells = <0>; | ||
72 | |||
73 | reg_3v3_etn: regulator@0 { | ||
74 | compatible = "regulator-fixed"; | ||
75 | reg = <0>; | ||
76 | regulator-name = "3V3_ETN"; | ||
77 | regulator-min-microvolt = <3300000>; | ||
78 | regulator-max-microvolt = <3300000>; | ||
79 | pinctrl-names = "default"; | ||
80 | pinctrl-0 = <&pinctrl_etnphy_power>; | ||
81 | gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>; | ||
82 | enable-active-high; | ||
83 | }; | ||
84 | |||
85 | reg_2v5: regulator@1 { | ||
86 | compatible = "regulator-fixed"; | ||
87 | reg = <1>; | ||
88 | regulator-name = "2V5"; | ||
89 | regulator-min-microvolt = <2500000>; | ||
90 | regulator-max-microvolt = <2500000>; | ||
91 | regulator-always-on; | ||
92 | }; | ||
93 | |||
94 | reg_3v3: regulator@2 { | ||
95 | compatible = "regulator-fixed"; | ||
96 | reg = <2>; | ||
97 | regulator-name = "3V3"; | ||
98 | regulator-min-microvolt = <3300000>; | ||
99 | regulator-max-microvolt = <3300000>; | ||
100 | regulator-always-on; | ||
101 | }; | ||
102 | |||
103 | reg_can_xcvr: regulator@3 { | ||
104 | compatible = "regulator-fixed"; | ||
105 | reg = <3>; | ||
106 | regulator-name = "CAN XCVR"; | ||
107 | regulator-min-microvolt = <3300000>; | ||
108 | regulator-max-microvolt = <3300000>; | ||
109 | pinctrl-names = "default"; | ||
110 | pinctrl-0 = <&pinctrl_flexcan_xcvr>; | ||
111 | gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>; | ||
112 | enable-active-low; | ||
113 | }; | ||
114 | |||
115 | reg_lcd0_pwr: regulator@4 { | ||
116 | compatible = "regulator-fixed"; | ||
117 | reg = <4>; | ||
118 | regulator-name = "LCD0 POWER"; | ||
119 | regulator-min-microvolt = <3300000>; | ||
120 | regulator-max-microvolt = <3300000>; | ||
121 | pinctrl-names = "default"; | ||
122 | pinctrl-0 = <&pinctrl_lcd0_pwr>; | ||
123 | gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>; | ||
124 | enable-active-high; | ||
125 | regulator-boot-on; | ||
126 | regulator-always-on; | ||
127 | }; | ||
128 | |||
129 | reg_lcd1_pwr: regulator@5 { | ||
130 | compatible = "regulator-fixed"; | ||
131 | reg = <5>; | ||
132 | regulator-name = "LCD1 POWER"; | ||
133 | regulator-min-microvolt = <3300000>; | ||
134 | regulator-max-microvolt = <3300000>; | ||
135 | pinctrl-names = "default"; | ||
136 | pinctrl-0 = <&pinctrl_lcd1_pwr>; | ||
137 | gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; | ||
138 | enable-active-high; | ||
139 | regulator-boot-on; | ||
140 | regulator-always-on; | ||
141 | }; | ||
142 | |||
143 | reg_usbh1_vbus: regulator@6 { | ||
144 | compatible = "regulator-fixed"; | ||
145 | reg = <6>; | ||
146 | regulator-name = "usbh1_vbus"; | ||
147 | regulator-min-microvolt = <5000000>; | ||
148 | regulator-max-microvolt = <5000000>; | ||
149 | pinctrl-names = "default"; | ||
150 | pinctrl-0 = <&pinctrl_usbh1_vbus>; | ||
151 | gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; | ||
152 | enable-active-high; | ||
153 | }; | ||
154 | |||
155 | reg_usbotg_vbus: regulator@7 { | ||
156 | compatible = "regulator-fixed"; | ||
157 | reg = <7>; | ||
158 | regulator-name = "usbotg_vbus"; | ||
159 | regulator-min-microvolt = <5000000>; | ||
160 | regulator-max-microvolt = <5000000>; | ||
161 | pinctrl-names = "default"; | ||
162 | pinctrl-0 = <&pinctrl_usbotg_vbus>; | ||
163 | gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; | ||
164 | enable-active-high; | ||
165 | }; | ||
166 | }; | ||
167 | |||
168 | sound { | ||
169 | compatible = "karo,imx6qdl-tx6qdl-sgtl5000", | ||
170 | "fsl,imx-audio-sgtl5000"; | ||
171 | model = "sgtl5000-audio"; | ||
172 | pinctrl-names = "default"; | ||
173 | pinctrl-0 = <&pinctrl_audmux>; | ||
174 | ssi-controller = <&ssi1>; | ||
175 | audio-codec = <&sgtl5000>; | ||
176 | audio-routing = | ||
177 | "MIC_IN", "Mic Jack", | ||
178 | "Mic Jack", "Mic Bias", | ||
179 | "Headphone Jack", "HP_OUT"; | ||
180 | mux-int-port = <1>; | ||
181 | mux-ext-port = <5>; | ||
182 | }; | ||
183 | }; | ||
184 | |||
185 | &audmux { | ||
186 | status = "okay"; | ||
187 | }; | ||
188 | |||
189 | &can1 { | ||
190 | pinctrl-names = "default"; | ||
191 | pinctrl-0 = <&pinctrl_flexcan1>; | ||
192 | xceiver-supply = <®_can_xcvr>; | ||
193 | status = "okay"; | ||
194 | }; | ||
195 | |||
196 | &can2 { | ||
197 | pinctrl-names = "default"; | ||
198 | pinctrl-0 = <&pinctrl_flexcan2>; | ||
199 | xceiver-supply = <®_can_xcvr>; | ||
200 | status = "okay"; | ||
201 | }; | ||
202 | |||
203 | &ecspi1 { | ||
204 | pinctrl-names = "default"; | ||
205 | pinctrl-0 = <&pinctrl_ecspi1>; | ||
206 | fsl,spi-num-chipselects = <2>; | ||
207 | cs-gpios = < | ||
208 | &gpio2 30 GPIO_ACTIVE_HIGH | ||
209 | &gpio3 19 GPIO_ACTIVE_HIGH | ||
210 | >; | ||
211 | status = "okay"; | ||
212 | |||
213 | spidev0: spi@0 { | ||
214 | compatible = "spidev"; | ||
215 | reg = <0>; | ||
216 | spi-max-frequency = <54000000>; | ||
217 | }; | ||
218 | |||
219 | spidev1: spi@1 { | ||
220 | compatible = "spidev"; | ||
221 | reg = <1>; | ||
222 | spi-max-frequency = <54000000>; | ||
223 | }; | ||
224 | }; | ||
225 | |||
226 | &fec { | ||
227 | pinctrl-names = "default"; | ||
228 | pinctrl-0 = <&pinctrl_enet>; | ||
229 | phy-mode = "rmii"; | ||
230 | phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_HIGH>; | ||
231 | phy-supply = <®_3v3_etn>; | ||
232 | status = "okay"; | ||
233 | }; | ||
234 | |||
235 | &gpmi { | ||
236 | pinctrl-names = "default"; | ||
237 | pinctrl-0 = <&pinctrl_gpmi_nand>; | ||
238 | nand-on-flash-bbt; | ||
239 | fsl,no-blockmark-swap; | ||
240 | status = "okay"; | ||
241 | }; | ||
242 | |||
243 | &i2c1 { | ||
244 | pinctrl-names = "default"; | ||
245 | pinctrl-0 = <&pinctrl_i2c1>; | ||
246 | clock-frequency = <400000>; | ||
247 | status = "okay"; | ||
248 | |||
249 | ds1339: rtc@68 { | ||
250 | compatible = "dallas,ds1339"; | ||
251 | reg = <0x68>; | ||
252 | }; | ||
253 | }; | ||
254 | |||
255 | &i2c3 { | ||
256 | pinctrl-names = "default"; | ||
257 | pinctrl-0 = <&pinctrl_i2c3>; | ||
258 | clock-frequency = <400000>; | ||
259 | status = "okay"; | ||
260 | |||
261 | sgtl5000: sgtl5000@0a { | ||
262 | compatible = "fsl,sgtl5000"; | ||
263 | reg = <0x0a>; | ||
264 | VDDA-supply = <®_2v5>; | ||
265 | VDDIO-supply = <®_3v3>; | ||
266 | clocks = <&mclk>; | ||
267 | }; | ||
268 | |||
269 | polytouch: edt-ft5x06@38 { | ||
270 | compatible = "edt,edt-ft5x06"; | ||
271 | reg = <0x38>; | ||
272 | pinctrl-names = "default"; | ||
273 | pinctrl-0 = <&pinctrl_edt_ft5x06>; | ||
274 | interrupt-parent = <&gpio6>; | ||
275 | interrupts = <15 0>; | ||
276 | reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>; | ||
277 | wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; | ||
278 | linux,wakeup; | ||
279 | }; | ||
280 | |||
281 | touchscreen: tsc2007@48 { | ||
282 | compatible = "ti,tsc2007"; | ||
283 | reg = <0x48>; | ||
284 | pinctrl-names = "default"; | ||
285 | pinctrl-0 = <&pinctrl_tsc2007>; | ||
286 | interrupt-parent = <&gpio3>; | ||
287 | interrupts = <26 0>; | ||
288 | gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; | ||
289 | ti,x-plate-ohms = <660>; | ||
290 | linux,wakeup; | ||
291 | }; | ||
292 | }; | ||
293 | |||
294 | &iomuxc { | ||
295 | pinctrl-names = "default"; | ||
296 | pinctrl-0 = <&pinctrl_hog>; | ||
297 | |||
298 | imx6qdl-tx6 { | ||
299 | pinctrl_hog: hoggrp { | ||
300 | fsl,pins = < | ||
301 | MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x1b0b1 /* LED */ | ||
302 | MX6QDL_PAD_SD3_DAT2__GPIO7_IO06 0x1b0b1 /* ETN PHY RESET */ | ||
303 | MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1b0b1 /* ETN PHY INT */ | ||
304 | MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b1 /* PWR BTN */ | ||
305 | >; | ||
306 | }; | ||
307 | |||
308 | pinctrl_audmux: audmuxgrp { | ||
309 | fsl,pins = < | ||
310 | MX6QDL_PAD_KEY_ROW1__AUD5_RXD 0x130b0 /* SSI1_RXD */ | ||
311 | MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 /* SSI1_TXD */ | ||
312 | MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 /* SSI1_CLK */ | ||
313 | MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 /* SSI1_FS */ | ||
314 | >; | ||
315 | }; | ||
316 | |||
317 | pinctrl_disp0_1: disp0grp-1 { | ||
318 | fsl,pins = < | ||
319 | MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 | ||
320 | MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10 | ||
321 | MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10 | ||
322 | MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10 | ||
323 | /* PAD DISP0_DAT0 is used for the Flexcan transceiver control */ | ||
324 | MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10 | ||
325 | MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10 | ||
326 | MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10 | ||
327 | MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10 | ||
328 | MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10 | ||
329 | MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10 | ||
330 | MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10 | ||
331 | MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10 | ||
332 | MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10 | ||
333 | MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10 | ||
334 | MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10 | ||
335 | MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10 | ||
336 | MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10 | ||
337 | MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10 | ||
338 | MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10 | ||
339 | MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10 | ||
340 | MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10 | ||
341 | MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10 | ||
342 | MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10 | ||
343 | MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10 | ||
344 | MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10 | ||
345 | MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10 | ||
346 | MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10 | ||
347 | >; | ||
348 | }; | ||
349 | |||
350 | pinctrl_disp0_2: disp0grp-2 { | ||
351 | fsl,pins = < | ||
352 | MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 | ||
353 | MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10 | ||
354 | MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10 | ||
355 | MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10 | ||
356 | MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10 | ||
357 | MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10 | ||
358 | MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10 | ||
359 | MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10 | ||
360 | MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10 | ||
361 | MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10 | ||
362 | MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10 | ||
363 | MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10 | ||
364 | MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10 | ||
365 | MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10 | ||
366 | MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10 | ||
367 | MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10 | ||
368 | MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10 | ||
369 | MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10 | ||
370 | MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10 | ||
371 | MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10 | ||
372 | MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10 | ||
373 | MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10 | ||
374 | MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10 | ||
375 | MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10 | ||
376 | MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10 | ||
377 | MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10 | ||
378 | MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10 | ||
379 | MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10 | ||
380 | >; | ||
381 | }; | ||
382 | |||
383 | pinctrl_ecspi1: ecspi1grp { | ||
384 | fsl,pins = < | ||
385 | MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x0b0b0 | ||
386 | MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x0b0b0 | ||
387 | MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x0b0b0 | ||
388 | MX6QDL_PAD_GPIO_19__ECSPI1_RDY 0x0b0b0 | ||
389 | MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x0b0b0 /* SPI CS0 */ | ||
390 | MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x0b0b0 /* SPI CS1 */ | ||
391 | >; | ||
392 | }; | ||
393 | |||
394 | pinctrl_edt_ft5x06: edt-ft5x06grp { | ||
395 | fsl,pins = < | ||
396 | MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1b0b0 /* Interrupt */ | ||
397 | MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x1b0b0 /* Reset */ | ||
398 | MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x1b0b0 /* Wake */ | ||
399 | >; | ||
400 | }; | ||
401 | |||
402 | pinctrl_enet: enetgrp { | ||
403 | fsl,pins = < | ||
404 | MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 | ||
405 | MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 | ||
406 | MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0 | ||
407 | MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0 | ||
408 | MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0 | ||
409 | MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 | ||
410 | MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0 | ||
411 | MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 | ||
412 | MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 | ||
413 | >; | ||
414 | }; | ||
415 | |||
416 | pinctrl_etnphy_power: etnphy-pwrgrp { | ||
417 | fsl,pins = < | ||
418 | MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x1b0b1 /* ETN PHY POWER */ | ||
419 | >; | ||
420 | }; | ||
421 | |||
422 | pinctrl_flexcan1: flexcan1grp { | ||
423 | fsl,pins = < | ||
424 | MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0 | ||
425 | MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x1b0b0 | ||
426 | >; | ||
427 | }; | ||
428 | |||
429 | pinctrl_flexcan2: flexcan2grp { | ||
430 | fsl,pins = < | ||
431 | MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b0b0 | ||
432 | MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b0b0 | ||
433 | >; | ||
434 | }; | ||
435 | |||
436 | pinctrl_flexcan_xcvr: flexcan-xcvrgrp { | ||
437 | fsl,pins = < | ||
438 | MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21 0x1b0b0 /* Flexcan XCVR enable */ | ||
439 | >; | ||
440 | }; | ||
441 | |||
442 | pinctrl_gpmi_nand: gpminandgrp { | ||
443 | fsl,pins = < | ||
444 | MX6QDL_PAD_NANDF_CLE__NAND_CLE 0x0b0b1 | ||
445 | MX6QDL_PAD_NANDF_ALE__NAND_ALE 0x0b0b1 | ||
446 | MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0x0b0b1 | ||
447 | MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0x0b000 | ||
448 | MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0x0b0b1 | ||
449 | MX6QDL_PAD_SD4_CMD__NAND_RE_B 0x0b0b1 | ||
450 | MX6QDL_PAD_SD4_CLK__NAND_WE_B 0x0b0b1 | ||
451 | MX6QDL_PAD_NANDF_D0__NAND_DATA00 0x0b0b1 | ||
452 | MX6QDL_PAD_NANDF_D1__NAND_DATA01 0x0b0b1 | ||
453 | MX6QDL_PAD_NANDF_D2__NAND_DATA02 0x0b0b1 | ||
454 | MX6QDL_PAD_NANDF_D3__NAND_DATA03 0x0b0b1 | ||
455 | MX6QDL_PAD_NANDF_D4__NAND_DATA04 0x0b0b1 | ||
456 | MX6QDL_PAD_NANDF_D5__NAND_DATA05 0x0b0b1 | ||
457 | MX6QDL_PAD_NANDF_D6__NAND_DATA06 0x0b0b1 | ||
458 | MX6QDL_PAD_NANDF_D7__NAND_DATA07 0x0b0b1 | ||
459 | >; | ||
460 | }; | ||
461 | |||
462 | pinctrl_i2c1: i2c1grp { | ||
463 | fsl,pins = < | ||
464 | MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 | ||
465 | MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 | ||
466 | >; | ||
467 | }; | ||
468 | |||
469 | pinctrl_i2c3: i2c3grp { | ||
470 | fsl,pins = < | ||
471 | MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 | ||
472 | MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 | ||
473 | >; | ||
474 | }; | ||
475 | |||
476 | pinctrl_kpp: kppgrp { | ||
477 | fsl,pins = < | ||
478 | MX6QDL_PAD_GPIO_9__KEY_COL6 0x1b0b1 | ||
479 | MX6QDL_PAD_GPIO_4__KEY_COL7 0x1b0b1 | ||
480 | MX6QDL_PAD_KEY_COL2__KEY_COL2 0x1b0b1 | ||
481 | MX6QDL_PAD_KEY_COL3__KEY_COL3 0x1b0b1 | ||
482 | MX6QDL_PAD_GPIO_2__KEY_ROW6 0x1b0b1 | ||
483 | MX6QDL_PAD_GPIO_5__KEY_ROW7 0x1b0b1 | ||
484 | MX6QDL_PAD_KEY_ROW2__KEY_ROW2 0x1b0b1 | ||
485 | MX6QDL_PAD_KEY_ROW3__KEY_ROW3 0x1b0b1 | ||
486 | >; | ||
487 | }; | ||
488 | |||
489 | pinctrl_lcd0_pwr: lcd0-pwrgrp { | ||
490 | fsl,pins = < | ||
491 | MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1b0b1 /* LCD Reset */ | ||
492 | >; | ||
493 | }; | ||
494 | |||
495 | pinctrl_lcd1_pwr: lcd1-pwrgrp { | ||
496 | fsl,pins = < | ||
497 | MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x1b0b1 /* LCD Power Enable */ | ||
498 | >; | ||
499 | }; | ||
500 | |||
501 | pinctrl_pwm1: pwm1grp { | ||
502 | fsl,pins = < | ||
503 | MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1 | ||
504 | >; | ||
505 | }; | ||
506 | |||
507 | pinctrl_pwm2: pwm2grp { | ||
508 | fsl,pins = < | ||
509 | MX6QDL_PAD_GPIO_1__PWM2_OUT 0x1b0b1 | ||
510 | >; | ||
511 | }; | ||
512 | |||
513 | pinctrl_tsc2007: tsc2007grp { | ||
514 | fsl,pins = < | ||
515 | MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x1b0b0 /* Interrupt */ | ||
516 | >; | ||
517 | }; | ||
518 | |||
519 | pinctrl_uart1: uart1grp { | ||
520 | fsl,pins = < | ||
521 | MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 | ||
522 | MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 | ||
523 | >; | ||
524 | }; | ||
525 | |||
526 | pinctrl_uart1_rtscts: uart1_rtsctsgrp { | ||
527 | fsl,pins = < | ||
528 | MX6QDL_PAD_SD3_DAT1__UART1_RTS_B 0x1b0b1 | ||
529 | MX6QDL_PAD_SD3_DAT0__UART1_CTS_B 0x1b0b1 | ||
530 | >; | ||
531 | }; | ||
532 | |||
533 | pinctrl_uart2: uart2grp { | ||
534 | fsl,pins = < | ||
535 | MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 | ||
536 | MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 | ||
537 | >; | ||
538 | }; | ||
539 | |||
540 | pinctrl_uart2_rtscts: uart2_rtsctsgrp { | ||
541 | fsl,pins = < | ||
542 | MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1 | ||
543 | MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1 | ||
544 | >; | ||
545 | }; | ||
546 | |||
547 | pinctrl_uart3: uart3grp { | ||
548 | fsl,pins = < | ||
549 | MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 | ||
550 | MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 | ||
551 | >; | ||
552 | }; | ||
553 | |||
554 | pinctrl_uart3_rtscts: uart3_rtsctsgrp { | ||
555 | fsl,pins = < | ||
556 | MX6QDL_PAD_SD3_DAT3__UART3_CTS_B 0x1b0b1 | ||
557 | MX6QDL_PAD_SD3_RST__UART3_RTS_B 0x1b0b1 | ||
558 | >; | ||
559 | }; | ||
560 | |||
561 | pinctrl_usbh1_vbus: usbh1-vbusgrp { | ||
562 | fsl,pins = < | ||
563 | MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0 /* USBH1_VBUSEN */ | ||
564 | >; | ||
565 | }; | ||
566 | |||
567 | pinctrl_usbotg: usbotggrp { | ||
568 | fsl,pins = < | ||
569 | MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x17059 | ||
570 | >; | ||
571 | }; | ||
572 | |||
573 | pinctrl_usbotg_vbus: usbotg-vbusgrp { | ||
574 | fsl,pins = < | ||
575 | MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0 /* USBOTG_VBUSEN */ | ||
576 | >; | ||
577 | }; | ||
578 | |||
579 | pinctrl_usdhc1: usdhc1grp { | ||
580 | fsl,pins = < | ||
581 | MX6QDL_PAD_SD1_CMD__SD1_CMD 0x070b1 | ||
582 | MX6QDL_PAD_SD1_CLK__SD1_CLK 0x070b1 | ||
583 | MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x070b1 | ||
584 | MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x070b1 | ||
585 | MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x070b1 | ||
586 | MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x070b1 | ||
587 | MX6QDL_PAD_SD3_CMD__GPIO7_IO02 0x170b0 /* SD1 CD */ | ||
588 | >; | ||
589 | }; | ||
590 | |||
591 | pinctrl_usdhc2: usdhc2grp { | ||
592 | fsl,pins = < | ||
593 | MX6QDL_PAD_SD2_CMD__SD2_CMD 0x070b1 | ||
594 | MX6QDL_PAD_SD2_CLK__SD2_CLK 0x070b1 | ||
595 | MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x070b1 | ||
596 | MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x070b1 | ||
597 | MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x070b1 | ||
598 | MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x070b1 | ||
599 | MX6QDL_PAD_SD3_CLK__GPIO7_IO03 0x170b0 /* SD2 CD */ | ||
600 | >; | ||
601 | }; | ||
602 | }; | ||
603 | }; | ||
604 | |||
605 | &kpp { | ||
606 | pinctrl-names = "default"; | ||
607 | pinctrl-0 = <&pinctrl_kpp>; | ||
608 | /* sample keymap */ | ||
609 | /* row/col 0,1 are mapped to KPP row/col 6,7 */ | ||
610 | linux,keymap = < | ||
611 | MATRIX_KEY(6, 6, KEY_POWER) /* 0x06060074 */ | ||
612 | MATRIX_KEY(6, 7, KEY_KP0) /* 0x06070052 */ | ||
613 | MATRIX_KEY(6, 2, KEY_KP1) /* 0x0602004f */ | ||
614 | MATRIX_KEY(6, 3, KEY_KP2) /* 0x06030050 */ | ||
615 | MATRIX_KEY(7, 6, KEY_KP3) /* 0x07060051 */ | ||
616 | MATRIX_KEY(7, 7, KEY_KP4) /* 0x0707004b */ | ||
617 | MATRIX_KEY(7, 2, KEY_KP5) /* 0x0702004c */ | ||
618 | MATRIX_KEY(7, 3, KEY_KP6) /* 0x0703004d */ | ||
619 | MATRIX_KEY(2, 6, KEY_KP7) /* 0x02060047 */ | ||
620 | MATRIX_KEY(2, 7, KEY_KP8) /* 0x02070048 */ | ||
621 | MATRIX_KEY(2, 2, KEY_KP9) /* 0x02020049 */ | ||
622 | >; | ||
623 | status = "okay"; | ||
624 | }; | ||
625 | |||
626 | &pwm1 { | ||
627 | pinctrl-names = "default"; | ||
628 | pinctrl-0 = <&pinctrl_pwm1>; | ||
629 | #pwm-cells = <3>; | ||
630 | status = "disabled"; | ||
631 | }; | ||
632 | |||
633 | &pwm2 { | ||
634 | pinctrl-names = "default"; | ||
635 | pinctrl-0 = <&pinctrl_pwm2>; | ||
636 | #pwm-cells = <3>; | ||
637 | status = "okay"; | ||
638 | }; | ||
639 | |||
640 | &ssi1 { | ||
641 | status = "okay"; | ||
642 | }; | ||
643 | |||
644 | &uart1 { | ||
645 | pinctrl-names = "default"; | ||
646 | pinctrl-0 = <&pinctrl_uart1>; | ||
647 | status = "okay"; | ||
648 | }; | ||
649 | |||
650 | &uart2 { | ||
651 | pinctrl-names = "default"; | ||
652 | pinctrl-0 = <&pinctrl_uart2 &pinctrl_uart2_rtscts>; | ||
653 | status = "okay"; | ||
654 | }; | ||
655 | |||
656 | &uart3 { | ||
657 | pinctrl-names = "default"; | ||
658 | pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>; | ||
659 | status = "okay"; | ||
660 | }; | ||
661 | |||
662 | &usbh1 { | ||
663 | vbus-supply = <®_usbh1_vbus>; | ||
664 | dr_mode = "host"; | ||
665 | disable-over-current; | ||
666 | status = "okay"; | ||
667 | }; | ||
668 | |||
669 | &usbotg { | ||
670 | vbus-supply = <®_usbotg_vbus>; | ||
671 | pinctrl-names = "default"; | ||
672 | pinctrl-0 = <&pinctrl_usbotg>; | ||
673 | dr_mode = "peripheral"; | ||
674 | disable-over-current; | ||
675 | status = "okay"; | ||
676 | }; | ||
677 | |||
678 | &usdhc1 { | ||
679 | pinctrl-names = "default"; | ||
680 | pinctrl-0 = <&pinctrl_usdhc1>; | ||
681 | bus-width = <4>; | ||
682 | no-1-8-v; | ||
683 | cd-gpios = <&gpio7 2 0>; | ||
684 | fsl,wp-controller; | ||
685 | status = "okay"; | ||
686 | }; | ||
687 | |||
688 | &usdhc2 { | ||
689 | pinctrl-names = "default"; | ||
690 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
691 | bus-width = <4>; | ||
692 | no-1-8-v; | ||
693 | cd-gpios = <&gpio7 3 0>; | ||
694 | fsl,wp-controller; | ||
695 | status = "okay"; | ||
696 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi new file mode 100644 index 000000000000..ef7fa62b9898 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * Author: Fabio Estevam <fabio.estevam@freescale.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include "imx6qdl-wandboard.dtsi" | ||
13 | |||
14 | &iomuxc { | ||
15 | pinctrl-0 = <&pinctrl_hog>; | ||
16 | |||
17 | imx6qdl-wandboard { | ||
18 | pinctrl_hog: hoggrp { | ||
19 | fsl,pins = < | ||
20 | MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 /* GPIO_0_CLKO */ | ||
21 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* uSDHC1 CD */ | ||
22 | MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 /* uSDHC3 CD */ | ||
23 | MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x0f0b0 /* WL_REF_ON */ | ||
24 | MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x0f0b0 /* WL_RST_N */ | ||
25 | MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x000b0 /* WL_REG_ON */ | ||
26 | MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* WL_HOST_WAKE */ | ||
27 | MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* WL_WAKE */ | ||
28 | MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000 /* RGMII_nRST */ | ||
29 | MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x80000000 /* BT_ON */ | ||
30 | MX6QDL_PAD_EIM_DA14__GPIO3_IO14 0x80000000 /* BT_WAKE */ | ||
31 | MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x80000000 /* BT_HOST_WAKE */ | ||
32 | >; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | |||
37 | &usdhc2 { | ||
38 | pinctrl-names = "default"; | ||
39 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
40 | non-removable; | ||
41 | status = "okay"; | ||
42 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi new file mode 100644 index 000000000000..8d893a78cdf0 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi | |||
@@ -0,0 +1,41 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * Author: Fabio Estevam <fabio.estevam@freescale.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include "imx6qdl-wandboard.dtsi" | ||
13 | |||
14 | &iomuxc { | ||
15 | pinctrl-0 = <&pinctrl_hog>; | ||
16 | |||
17 | imx6qdl-wandboard { | ||
18 | pinctrl_hog: hoggrp { | ||
19 | fsl,pins = < | ||
20 | MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 /* GPIO_0_CLKO */ | ||
21 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* uSDHC1 CD */ | ||
22 | MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 /* uSDHC3 CD */ | ||
23 | MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00 0x0f0b0 /* WIFI_ON (reset, active low) */ | ||
24 | MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x000b0 /* WL_REG_ON (unused) */ | ||
25 | MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* WL_HOST_WAKE, input */ | ||
26 | MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31 0x0f0b0 /* GPIO5_IO31 (Wifi Power Enable) */ | ||
27 | MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* WL_WAKE (unused) */ | ||
28 | MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x80000000 /* BT_ON */ | ||
29 | MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30 0x80000000 /* BT_WAKE */ | ||
30 | MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x80000000 /* BT_HOST_WAKE */ | ||
31 | MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000 /* RGMII_nRST */ | ||
32 | >; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | |||
37 | &usdhc2 { | ||
38 | pinctrl-names = "default"; | ||
39 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
40 | status = "okay"; | ||
41 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi index 5c6f10c43f65..5fb091675582 100644 --- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi +++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi | |||
@@ -91,22 +91,8 @@ | |||
91 | 91 | ||
92 | &iomuxc { | 92 | &iomuxc { |
93 | pinctrl-names = "default"; | 93 | pinctrl-names = "default"; |
94 | pinctrl-0 = <&pinctrl_hog>; | ||
95 | 94 | ||
96 | imx6qdl-wandboard { | 95 | imx6qdl-wandboard { |
97 | pinctrl_hog: hoggrp { | ||
98 | fsl,pins = < | ||
99 | MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 | ||
100 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 | ||
101 | MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 | ||
102 | MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x80000000 /* WL_REF_ON */ | ||
103 | MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000 /* WL_RST_N */ | ||
104 | MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* WL_REG_ON */ | ||
105 | MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* WL_HOST_WAKE */ | ||
106 | MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* WL_WAKE */ | ||
107 | MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000 | ||
108 | >; | ||
109 | }; | ||
110 | 96 | ||
111 | pinctrl_audmux: audmuxgrp { | 97 | pinctrl_audmux: audmuxgrp { |
112 | fsl,pins = < | 98 | fsl,pins = < |
@@ -233,7 +219,6 @@ | |||
233 | }; | 219 | }; |
234 | 220 | ||
235 | &ssi1 { | 221 | &ssi1 { |
236 | fsl,mode = "i2s-slave"; | ||
237 | status = "okay"; | 222 | status = "okay"; |
238 | }; | 223 | }; |
239 | 224 | ||
@@ -269,13 +254,6 @@ | |||
269 | status = "okay"; | 254 | status = "okay"; |
270 | }; | 255 | }; |
271 | 256 | ||
272 | &usdhc2 { | ||
273 | pinctrl-names = "default"; | ||
274 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
275 | non-removable; | ||
276 | status = "okay"; | ||
277 | }; | ||
278 | |||
279 | &usdhc3 { | 257 | &usdhc3 { |
280 | pinctrl-names = "default"; | 258 | pinctrl-names = "default"; |
281 | pinctrl-0 = <&pinctrl_usdhc3>; | 259 | pinctrl-0 = <&pinctrl_usdhc3>; |
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi index ce0599134a69..c701af958006 100644 --- a/arch/arm/boot/dts/imx6qdl.dtsi +++ b/arch/arm/boot/dts/imx6qdl.dtsi | |||
@@ -10,6 +10,7 @@ | |||
10 | * http://www.gnu.org/copyleft/gpl.html | 10 | * http://www.gnu.org/copyleft/gpl.html |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <dt-bindings/clock/imx6qdl-clock.h> | ||
13 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 14 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
14 | 15 | ||
15 | #include "skeleton.dtsi" | 16 | #include "skeleton.dtsi" |
@@ -94,7 +95,7 @@ | |||
94 | interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3"; | 95 | interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3"; |
95 | #dma-cells = <1>; | 96 | #dma-cells = <1>; |
96 | dma-channels = <4>; | 97 | dma-channels = <4>; |
97 | clocks = <&clks 106>; | 98 | clocks = <&clks IMX6QDL_CLK_APBH_DMA>; |
98 | }; | 99 | }; |
99 | 100 | ||
100 | gpmi: gpmi-nand@00112000 { | 101 | gpmi: gpmi-nand@00112000 { |
@@ -105,8 +106,11 @@ | |||
105 | reg-names = "gpmi-nand", "bch"; | 106 | reg-names = "gpmi-nand", "bch"; |
106 | interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>; | 107 | interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>; |
107 | interrupt-names = "bch"; | 108 | interrupt-names = "bch"; |
108 | clocks = <&clks 152>, <&clks 153>, <&clks 151>, | 109 | clocks = <&clks IMX6QDL_CLK_GPMI_IO>, |
109 | <&clks 150>, <&clks 149>; | 110 | <&clks IMX6QDL_CLK_GPMI_APB>, |
111 | <&clks IMX6QDL_CLK_GPMI_BCH>, | ||
112 | <&clks IMX6QDL_CLK_GPMI_BCH_APB>, | ||
113 | <&clks IMX6QDL_CLK_PER1_BCH>; | ||
110 | clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch", | 114 | clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch", |
111 | "gpmi_bch_apb", "per1_bch"; | 115 | "gpmi_bch_apb", "per1_bch"; |
112 | dmas = <&dma_apbh 0>; | 116 | dmas = <&dma_apbh 0>; |
@@ -118,7 +122,7 @@ | |||
118 | compatible = "arm,cortex-a9-twd-timer"; | 122 | compatible = "arm,cortex-a9-twd-timer"; |
119 | reg = <0x00a00600 0x20>; | 123 | reg = <0x00a00600 0x20>; |
120 | interrupts = <1 13 0xf01>; | 124 | interrupts = <1 13 0xf01>; |
121 | clocks = <&clks 15>; | 125 | clocks = <&clks IMX6QDL_CLK_TWD>; |
122 | }; | 126 | }; |
123 | 127 | ||
124 | L2: l2-cache@00a02000 { | 128 | L2: l2-cache@00a02000 { |
@@ -149,7 +153,9 @@ | |||
149 | <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, | 153 | <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, |
150 | <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, | 154 | <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, |
151 | <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; | 155 | <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; |
152 | clocks = <&clks 144>, <&clks 206>, <&clks 189>; | 156 | clocks = <&clks IMX6QDL_CLK_PCIE_AXI>, |
157 | <&clks IMX6QDL_CLK_LVDS1_GATE>, | ||
158 | <&clks IMX6QDL_CLK_PCIE_REF_125M>; | ||
153 | clock-names = "pcie", "pcie_bus", "pcie_phy"; | 159 | clock-names = "pcie", "pcie_bus", "pcie_phy"; |
154 | status = "disabled"; | 160 | status = "disabled"; |
155 | }; | 161 | }; |
@@ -180,11 +186,11 @@ | |||
180 | dmas = <&sdma 14 18 0>, | 186 | dmas = <&sdma 14 18 0>, |
181 | <&sdma 15 18 0>; | 187 | <&sdma 15 18 0>; |
182 | dma-names = "rx", "tx"; | 188 | dma-names = "rx", "tx"; |
183 | clocks = <&clks 197>, <&clks 3>, | 189 | clocks = <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_OSC>, |
184 | <&clks 197>, <&clks 107>, | 190 | <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_DUMMY>, |
185 | <&clks 0>, <&clks 118>, | 191 | <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_DUMMY>, |
186 | <&clks 0>, <&clks 139>, | 192 | <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_DUMMY>, |
187 | <&clks 0>; | 193 | <&clks IMX6QDL_CLK_DUMMY>; |
188 | clock-names = "core", "rxtx0", | 194 | clock-names = "core", "rxtx0", |
189 | "rxtx1", "rxtx2", | 195 | "rxtx1", "rxtx2", |
190 | "rxtx3", "rxtx4", | 196 | "rxtx3", "rxtx4", |
@@ -199,7 +205,8 @@ | |||
199 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 205 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
200 | reg = <0x02008000 0x4000>; | 206 | reg = <0x02008000 0x4000>; |
201 | interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>; | 207 | interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>; |
202 | clocks = <&clks 112>, <&clks 112>; | 208 | clocks = <&clks IMX6QDL_CLK_ECSPI1>, |
209 | <&clks IMX6QDL_CLK_ECSPI1>; | ||
203 | clock-names = "ipg", "per"; | 210 | clock-names = "ipg", "per"; |
204 | dmas = <&sdma 3 7 1>, <&sdma 4 7 2>; | 211 | dmas = <&sdma 3 7 1>, <&sdma 4 7 2>; |
205 | dma-names = "rx", "tx"; | 212 | dma-names = "rx", "tx"; |
@@ -212,7 +219,8 @@ | |||
212 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 219 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
213 | reg = <0x0200c000 0x4000>; | 220 | reg = <0x0200c000 0x4000>; |
214 | interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>; | 221 | interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>; |
215 | clocks = <&clks 113>, <&clks 113>; | 222 | clocks = <&clks IMX6QDL_CLK_ECSPI2>, |
223 | <&clks IMX6QDL_CLK_ECSPI2>; | ||
216 | clock-names = "ipg", "per"; | 224 | clock-names = "ipg", "per"; |
217 | dmas = <&sdma 5 7 1>, <&sdma 6 7 2>; | 225 | dmas = <&sdma 5 7 1>, <&sdma 6 7 2>; |
218 | dma-names = "rx", "tx"; | 226 | dma-names = "rx", "tx"; |
@@ -225,7 +233,8 @@ | |||
225 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 233 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
226 | reg = <0x02010000 0x4000>; | 234 | reg = <0x02010000 0x4000>; |
227 | interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>; | 235 | interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>; |
228 | clocks = <&clks 114>, <&clks 114>; | 236 | clocks = <&clks IMX6QDL_CLK_ECSPI3>, |
237 | <&clks IMX6QDL_CLK_ECSPI3>; | ||
229 | clock-names = "ipg", "per"; | 238 | clock-names = "ipg", "per"; |
230 | dmas = <&sdma 7 7 1>, <&sdma 8 7 2>; | 239 | dmas = <&sdma 7 7 1>, <&sdma 8 7 2>; |
231 | dma-names = "rx", "tx"; | 240 | dma-names = "rx", "tx"; |
@@ -238,7 +247,8 @@ | |||
238 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 247 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
239 | reg = <0x02014000 0x4000>; | 248 | reg = <0x02014000 0x4000>; |
240 | interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>; | 249 | interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>; |
241 | clocks = <&clks 115>, <&clks 115>; | 250 | clocks = <&clks IMX6QDL_CLK_ECSPI4>, |
251 | <&clks IMX6QDL_CLK_ECSPI4>; | ||
242 | clock-names = "ipg", "per"; | 252 | clock-names = "ipg", "per"; |
243 | dmas = <&sdma 9 7 1>, <&sdma 10 7 2>; | 253 | dmas = <&sdma 9 7 1>, <&sdma 10 7 2>; |
244 | dma-names = "rx", "tx"; | 254 | dma-names = "rx", "tx"; |
@@ -249,7 +259,8 @@ | |||
249 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | 259 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; |
250 | reg = <0x02020000 0x4000>; | 260 | reg = <0x02020000 0x4000>; |
251 | interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; | 261 | interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; |
252 | clocks = <&clks 160>, <&clks 161>; | 262 | clocks = <&clks IMX6QDL_CLK_UART_IPG>, |
263 | <&clks IMX6QDL_CLK_UART_SERIAL>; | ||
253 | clock-names = "ipg", "per"; | 264 | clock-names = "ipg", "per"; |
254 | dmas = <&sdma 25 4 0>, <&sdma 26 4 0>; | 265 | dmas = <&sdma 25 4 0>, <&sdma 26 4 0>; |
255 | dma-names = "rx", "tx"; | 266 | dma-names = "rx", "tx"; |
@@ -263,46 +274,40 @@ | |||
263 | 274 | ||
264 | ssi1: ssi@02028000 { | 275 | ssi1: ssi@02028000 { |
265 | compatible = "fsl,imx6q-ssi", | 276 | compatible = "fsl,imx6q-ssi", |
266 | "fsl,imx51-ssi", | 277 | "fsl,imx51-ssi"; |
267 | "fsl,imx21-ssi"; | ||
268 | reg = <0x02028000 0x4000>; | 278 | reg = <0x02028000 0x4000>; |
269 | interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>; | 279 | interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>; |
270 | clocks = <&clks 178>; | 280 | clocks = <&clks IMX6QDL_CLK_SSI1_IPG>; |
271 | dmas = <&sdma 37 1 0>, | 281 | dmas = <&sdma 37 1 0>, |
272 | <&sdma 38 1 0>; | 282 | <&sdma 38 1 0>; |
273 | dma-names = "rx", "tx"; | 283 | dma-names = "rx", "tx"; |
274 | fsl,fifo-depth = <15>; | 284 | fsl,fifo-depth = <15>; |
275 | fsl,ssi-dma-events = <38 37>; | ||
276 | status = "disabled"; | 285 | status = "disabled"; |
277 | }; | 286 | }; |
278 | 287 | ||
279 | ssi2: ssi@0202c000 { | 288 | ssi2: ssi@0202c000 { |
280 | compatible = "fsl,imx6q-ssi", | 289 | compatible = "fsl,imx6q-ssi", |
281 | "fsl,imx51-ssi", | 290 | "fsl,imx51-ssi"; |
282 | "fsl,imx21-ssi"; | ||
283 | reg = <0x0202c000 0x4000>; | 291 | reg = <0x0202c000 0x4000>; |
284 | interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; | 292 | interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; |
285 | clocks = <&clks 179>; | 293 | clocks = <&clks IMX6QDL_CLK_SSI2_IPG>; |
286 | dmas = <&sdma 41 1 0>, | 294 | dmas = <&sdma 41 1 0>, |
287 | <&sdma 42 1 0>; | 295 | <&sdma 42 1 0>; |
288 | dma-names = "rx", "tx"; | 296 | dma-names = "rx", "tx"; |
289 | fsl,fifo-depth = <15>; | 297 | fsl,fifo-depth = <15>; |
290 | fsl,ssi-dma-events = <42 41>; | ||
291 | status = "disabled"; | 298 | status = "disabled"; |
292 | }; | 299 | }; |
293 | 300 | ||
294 | ssi3: ssi@02030000 { | 301 | ssi3: ssi@02030000 { |
295 | compatible = "fsl,imx6q-ssi", | 302 | compatible = "fsl,imx6q-ssi", |
296 | "fsl,imx51-ssi", | 303 | "fsl,imx51-ssi"; |
297 | "fsl,imx21-ssi"; | ||
298 | reg = <0x02030000 0x4000>; | 304 | reg = <0x02030000 0x4000>; |
299 | interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>; | 305 | interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>; |
300 | clocks = <&clks 180>; | 306 | clocks = <&clks IMX6QDL_CLK_SSI3_IPG>; |
301 | dmas = <&sdma 45 1 0>, | 307 | dmas = <&sdma 45 1 0>, |
302 | <&sdma 46 1 0>; | 308 | <&sdma 46 1 0>; |
303 | dma-names = "rx", "tx"; | 309 | dma-names = "rx", "tx"; |
304 | fsl,fifo-depth = <15>; | 310 | fsl,fifo-depth = <15>; |
305 | fsl,ssi-dma-events = <46 45>; | ||
306 | status = "disabled"; | 311 | status = "disabled"; |
307 | }; | 312 | }; |
308 | 313 | ||
@@ -331,7 +336,8 @@ | |||
331 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | 336 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; |
332 | reg = <0x02080000 0x4000>; | 337 | reg = <0x02080000 0x4000>; |
333 | interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>; | 338 | interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>; |
334 | clocks = <&clks 62>, <&clks 145>; | 339 | clocks = <&clks IMX6QDL_CLK_IPG>, |
340 | <&clks IMX6QDL_CLK_PWM1>; | ||
335 | clock-names = "ipg", "per"; | 341 | clock-names = "ipg", "per"; |
336 | }; | 342 | }; |
337 | 343 | ||
@@ -340,7 +346,8 @@ | |||
340 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | 346 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; |
341 | reg = <0x02084000 0x4000>; | 347 | reg = <0x02084000 0x4000>; |
342 | interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>; | 348 | interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>; |
343 | clocks = <&clks 62>, <&clks 146>; | 349 | clocks = <&clks IMX6QDL_CLK_IPG>, |
350 | <&clks IMX6QDL_CLK_PWM2>; | ||
344 | clock-names = "ipg", "per"; | 351 | clock-names = "ipg", "per"; |
345 | }; | 352 | }; |
346 | 353 | ||
@@ -349,7 +356,8 @@ | |||
349 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | 356 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; |
350 | reg = <0x02088000 0x4000>; | 357 | reg = <0x02088000 0x4000>; |
351 | interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>; | 358 | interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>; |
352 | clocks = <&clks 62>, <&clks 147>; | 359 | clocks = <&clks IMX6QDL_CLK_IPG>, |
360 | <&clks IMX6QDL_CLK_PWM3>; | ||
353 | clock-names = "ipg", "per"; | 361 | clock-names = "ipg", "per"; |
354 | }; | 362 | }; |
355 | 363 | ||
@@ -358,7 +366,8 @@ | |||
358 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | 366 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; |
359 | reg = <0x0208c000 0x4000>; | 367 | reg = <0x0208c000 0x4000>; |
360 | interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; | 368 | interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; |
361 | clocks = <&clks 62>, <&clks 148>; | 369 | clocks = <&clks IMX6QDL_CLK_IPG>, |
370 | <&clks IMX6QDL_CLK_PWM4>; | ||
362 | clock-names = "ipg", "per"; | 371 | clock-names = "ipg", "per"; |
363 | }; | 372 | }; |
364 | 373 | ||
@@ -366,7 +375,8 @@ | |||
366 | compatible = "fsl,imx6q-flexcan"; | 375 | compatible = "fsl,imx6q-flexcan"; |
367 | reg = <0x02090000 0x4000>; | 376 | reg = <0x02090000 0x4000>; |
368 | interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; | 377 | interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; |
369 | clocks = <&clks 108>, <&clks 109>; | 378 | clocks = <&clks IMX6QDL_CLK_CAN1_IPG>, |
379 | <&clks IMX6QDL_CLK_CAN1_SERIAL>; | ||
370 | clock-names = "ipg", "per"; | 380 | clock-names = "ipg", "per"; |
371 | status = "disabled"; | 381 | status = "disabled"; |
372 | }; | 382 | }; |
@@ -375,7 +385,8 @@ | |||
375 | compatible = "fsl,imx6q-flexcan"; | 385 | compatible = "fsl,imx6q-flexcan"; |
376 | reg = <0x02094000 0x4000>; | 386 | reg = <0x02094000 0x4000>; |
377 | interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>; | 387 | interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>; |
378 | clocks = <&clks 110>, <&clks 111>; | 388 | clocks = <&clks IMX6QDL_CLK_CAN2_IPG>, |
389 | <&clks IMX6QDL_CLK_CAN2_SERIAL>; | ||
379 | clock-names = "ipg", "per"; | 390 | clock-names = "ipg", "per"; |
380 | status = "disabled"; | 391 | status = "disabled"; |
381 | }; | 392 | }; |
@@ -384,7 +395,8 @@ | |||
384 | compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt"; | 395 | compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt"; |
385 | reg = <0x02098000 0x4000>; | 396 | reg = <0x02098000 0x4000>; |
386 | interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>; | 397 | interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>; |
387 | clocks = <&clks 119>, <&clks 120>; | 398 | clocks = <&clks IMX6QDL_CLK_GPT_IPG>, |
399 | <&clks IMX6QDL_CLK_GPT_IPG_PER>; | ||
388 | clock-names = "ipg", "per"; | 400 | clock-names = "ipg", "per"; |
389 | }; | 401 | }; |
390 | 402 | ||
@@ -466,22 +478,25 @@ | |||
466 | }; | 478 | }; |
467 | 479 | ||
468 | kpp: kpp@020b8000 { | 480 | kpp: kpp@020b8000 { |
481 | compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp"; | ||
469 | reg = <0x020b8000 0x4000>; | 482 | reg = <0x020b8000 0x4000>; |
470 | interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; | 483 | interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; |
484 | clocks = <&clks IMX6QDL_CLK_IPG>; | ||
485 | status = "disabled"; | ||
471 | }; | 486 | }; |
472 | 487 | ||
473 | wdog1: wdog@020bc000 { | 488 | wdog1: wdog@020bc000 { |
474 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; | 489 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; |
475 | reg = <0x020bc000 0x4000>; | 490 | reg = <0x020bc000 0x4000>; |
476 | interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>; | 491 | interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>; |
477 | clocks = <&clks 0>; | 492 | clocks = <&clks IMX6QDL_CLK_DUMMY>; |
478 | }; | 493 | }; |
479 | 494 | ||
480 | wdog2: wdog@020c0000 { | 495 | wdog2: wdog@020c0000 { |
481 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; | 496 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; |
482 | reg = <0x020c0000 0x4000>; | 497 | reg = <0x020c0000 0x4000>; |
483 | interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>; | 498 | interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>; |
484 | clocks = <&clks 0>; | 499 | clocks = <&clks IMX6QDL_CLK_DUMMY>; |
485 | status = "disabled"; | 500 | status = "disabled"; |
486 | }; | 501 | }; |
487 | 502 | ||
@@ -599,14 +614,14 @@ | |||
599 | interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>; | 614 | interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>; |
600 | fsl,tempmon = <&anatop>; | 615 | fsl,tempmon = <&anatop>; |
601 | fsl,tempmon-data = <&ocotp>; | 616 | fsl,tempmon-data = <&ocotp>; |
602 | clocks = <&clks 172>; | 617 | clocks = <&clks IMX6QDL_CLK_PLL3_USB_OTG>; |
603 | }; | 618 | }; |
604 | 619 | ||
605 | usbphy1: usbphy@020c9000 { | 620 | usbphy1: usbphy@020c9000 { |
606 | compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; | 621 | compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; |
607 | reg = <0x020c9000 0x1000>; | 622 | reg = <0x020c9000 0x1000>; |
608 | interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>; | 623 | interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>; |
609 | clocks = <&clks 182>; | 624 | clocks = <&clks IMX6QDL_CLK_USBPHY1>; |
610 | fsl,anatop = <&anatop>; | 625 | fsl,anatop = <&anatop>; |
611 | }; | 626 | }; |
612 | 627 | ||
@@ -614,7 +629,7 @@ | |||
614 | compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; | 629 | compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; |
615 | reg = <0x020ca000 0x1000>; | 630 | reg = <0x020ca000 0x1000>; |
616 | interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>; | 631 | interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>; |
617 | clocks = <&clks 183>; | 632 | clocks = <&clks IMX6QDL_CLK_USBPHY2>; |
618 | fsl,anatop = <&anatop>; | 633 | fsl,anatop = <&anatop>; |
619 | }; | 634 | }; |
620 | 635 | ||
@@ -727,7 +742,8 @@ | |||
727 | reg = <0x00120000 0x9000>; | 742 | reg = <0x00120000 0x9000>; |
728 | interrupts = <0 115 0x04>; | 743 | interrupts = <0 115 0x04>; |
729 | gpr = <&gpr>; | 744 | gpr = <&gpr>; |
730 | clocks = <&clks 123>, <&clks 124>; | 745 | clocks = <&clks IMX6QDL_CLK_HDMI_IAHB>, |
746 | <&clks IMX6QDL_CLK_HDMI_ISFR>; | ||
731 | clock-names = "iahb", "isfr"; | 747 | clock-names = "iahb", "isfr"; |
732 | status = "disabled"; | 748 | status = "disabled"; |
733 | 749 | ||
@@ -762,7 +778,8 @@ | |||
762 | compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma"; | 778 | compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma"; |
763 | reg = <0x020ec000 0x4000>; | 779 | reg = <0x020ec000 0x4000>; |
764 | interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>; | 780 | interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>; |
765 | clocks = <&clks 155>, <&clks 155>; | 781 | clocks = <&clks IMX6QDL_CLK_SDMA>, |
782 | <&clks IMX6QDL_CLK_SDMA>; | ||
766 | clock-names = "ipg", "ahb"; | 783 | clock-names = "ipg", "ahb"; |
767 | #dma-cells = <3>; | 784 | #dma-cells = <3>; |
768 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin"; | 785 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin"; |
@@ -790,7 +807,7 @@ | |||
790 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 807 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
791 | reg = <0x02184000 0x200>; | 808 | reg = <0x02184000 0x200>; |
792 | interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>; | 809 | interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>; |
793 | clocks = <&clks 162>; | 810 | clocks = <&clks IMX6QDL_CLK_USBOH3>; |
794 | fsl,usbphy = <&usbphy1>; | 811 | fsl,usbphy = <&usbphy1>; |
795 | fsl,usbmisc = <&usbmisc 0>; | 812 | fsl,usbmisc = <&usbmisc 0>; |
796 | status = "disabled"; | 813 | status = "disabled"; |
@@ -800,7 +817,7 @@ | |||
800 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 817 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
801 | reg = <0x02184200 0x200>; | 818 | reg = <0x02184200 0x200>; |
802 | interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>; | 819 | interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>; |
803 | clocks = <&clks 162>; | 820 | clocks = <&clks IMX6QDL_CLK_USBOH3>; |
804 | fsl,usbphy = <&usbphy2>; | 821 | fsl,usbphy = <&usbphy2>; |
805 | fsl,usbmisc = <&usbmisc 1>; | 822 | fsl,usbmisc = <&usbmisc 1>; |
806 | status = "disabled"; | 823 | status = "disabled"; |
@@ -810,7 +827,7 @@ | |||
810 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 827 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
811 | reg = <0x02184400 0x200>; | 828 | reg = <0x02184400 0x200>; |
812 | interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>; | 829 | interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>; |
813 | clocks = <&clks 162>; | 830 | clocks = <&clks IMX6QDL_CLK_USBOH3>; |
814 | fsl,usbmisc = <&usbmisc 2>; | 831 | fsl,usbmisc = <&usbmisc 2>; |
815 | status = "disabled"; | 832 | status = "disabled"; |
816 | }; | 833 | }; |
@@ -819,7 +836,7 @@ | |||
819 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 836 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
820 | reg = <0x02184600 0x200>; | 837 | reg = <0x02184600 0x200>; |
821 | interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>; | 838 | interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>; |
822 | clocks = <&clks 162>; | 839 | clocks = <&clks IMX6QDL_CLK_USBOH3>; |
823 | fsl,usbmisc = <&usbmisc 3>; | 840 | fsl,usbmisc = <&usbmisc 3>; |
824 | status = "disabled"; | 841 | status = "disabled"; |
825 | }; | 842 | }; |
@@ -828,7 +845,7 @@ | |||
828 | #index-cells = <1>; | 845 | #index-cells = <1>; |
829 | compatible = "fsl,imx6q-usbmisc"; | 846 | compatible = "fsl,imx6q-usbmisc"; |
830 | reg = <0x02184800 0x200>; | 847 | reg = <0x02184800 0x200>; |
831 | clocks = <&clks 162>; | 848 | clocks = <&clks IMX6QDL_CLK_USBOH3>; |
832 | }; | 849 | }; |
833 | 850 | ||
834 | fec: ethernet@02188000 { | 851 | fec: ethernet@02188000 { |
@@ -837,7 +854,9 @@ | |||
837 | interrupts-extended = | 854 | interrupts-extended = |
838 | <&intc 0 118 IRQ_TYPE_LEVEL_HIGH>, | 855 | <&intc 0 118 IRQ_TYPE_LEVEL_HIGH>, |
839 | <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; | 856 | <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; |
840 | clocks = <&clks 117>, <&clks 117>, <&clks 190>; | 857 | clocks = <&clks IMX6QDL_CLK_ENET>, |
858 | <&clks IMX6QDL_CLK_ENET>, | ||
859 | <&clks IMX6QDL_CLK_ENET_REF>; | ||
841 | clock-names = "ipg", "ahb", "ptp"; | 860 | clock-names = "ipg", "ahb", "ptp"; |
842 | status = "disabled"; | 861 | status = "disabled"; |
843 | }; | 862 | }; |
@@ -853,7 +872,9 @@ | |||
853 | compatible = "fsl,imx6q-usdhc"; | 872 | compatible = "fsl,imx6q-usdhc"; |
854 | reg = <0x02190000 0x4000>; | 873 | reg = <0x02190000 0x4000>; |
855 | interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>; | 874 | interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>; |
856 | clocks = <&clks 163>, <&clks 163>, <&clks 163>; | 875 | clocks = <&clks IMX6QDL_CLK_USDHC1>, |
876 | <&clks IMX6QDL_CLK_USDHC1>, | ||
877 | <&clks IMX6QDL_CLK_USDHC1>; | ||
857 | clock-names = "ipg", "ahb", "per"; | 878 | clock-names = "ipg", "ahb", "per"; |
858 | bus-width = <4>; | 879 | bus-width = <4>; |
859 | status = "disabled"; | 880 | status = "disabled"; |
@@ -863,7 +884,9 @@ | |||
863 | compatible = "fsl,imx6q-usdhc"; | 884 | compatible = "fsl,imx6q-usdhc"; |
864 | reg = <0x02194000 0x4000>; | 885 | reg = <0x02194000 0x4000>; |
865 | interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>; | 886 | interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>; |
866 | clocks = <&clks 164>, <&clks 164>, <&clks 164>; | 887 | clocks = <&clks IMX6QDL_CLK_USDHC2>, |
888 | <&clks IMX6QDL_CLK_USDHC2>, | ||
889 | <&clks IMX6QDL_CLK_USDHC2>; | ||
867 | clock-names = "ipg", "ahb", "per"; | 890 | clock-names = "ipg", "ahb", "per"; |
868 | bus-width = <4>; | 891 | bus-width = <4>; |
869 | status = "disabled"; | 892 | status = "disabled"; |
@@ -873,7 +896,9 @@ | |||
873 | compatible = "fsl,imx6q-usdhc"; | 896 | compatible = "fsl,imx6q-usdhc"; |
874 | reg = <0x02198000 0x4000>; | 897 | reg = <0x02198000 0x4000>; |
875 | interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>; | 898 | interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>; |
876 | clocks = <&clks 165>, <&clks 165>, <&clks 165>; | 899 | clocks = <&clks IMX6QDL_CLK_USDHC3>, |
900 | <&clks IMX6QDL_CLK_USDHC3>, | ||
901 | <&clks IMX6QDL_CLK_USDHC3>; | ||
877 | clock-names = "ipg", "ahb", "per"; | 902 | clock-names = "ipg", "ahb", "per"; |
878 | bus-width = <4>; | 903 | bus-width = <4>; |
879 | status = "disabled"; | 904 | status = "disabled"; |
@@ -883,7 +908,9 @@ | |||
883 | compatible = "fsl,imx6q-usdhc"; | 908 | compatible = "fsl,imx6q-usdhc"; |
884 | reg = <0x0219c000 0x4000>; | 909 | reg = <0x0219c000 0x4000>; |
885 | interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>; | 910 | interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>; |
886 | clocks = <&clks 166>, <&clks 166>, <&clks 166>; | 911 | clocks = <&clks IMX6QDL_CLK_USDHC4>, |
912 | <&clks IMX6QDL_CLK_USDHC4>, | ||
913 | <&clks IMX6QDL_CLK_USDHC4>; | ||
887 | clock-names = "ipg", "ahb", "per"; | 914 | clock-names = "ipg", "ahb", "per"; |
888 | bus-width = <4>; | 915 | bus-width = <4>; |
889 | status = "disabled"; | 916 | status = "disabled"; |
@@ -895,7 +922,7 @@ | |||
895 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; | 922 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; |
896 | reg = <0x021a0000 0x4000>; | 923 | reg = <0x021a0000 0x4000>; |
897 | interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>; | 924 | interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>; |
898 | clocks = <&clks 125>; | 925 | clocks = <&clks IMX6QDL_CLK_I2C1>; |
899 | status = "disabled"; | 926 | status = "disabled"; |
900 | }; | 927 | }; |
901 | 928 | ||
@@ -905,7 +932,7 @@ | |||
905 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; | 932 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; |
906 | reg = <0x021a4000 0x4000>; | 933 | reg = <0x021a4000 0x4000>; |
907 | interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>; | 934 | interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>; |
908 | clocks = <&clks 126>; | 935 | clocks = <&clks IMX6QDL_CLK_I2C2>; |
909 | status = "disabled"; | 936 | status = "disabled"; |
910 | }; | 937 | }; |
911 | 938 | ||
@@ -915,7 +942,7 @@ | |||
915 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; | 942 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; |
916 | reg = <0x021a8000 0x4000>; | 943 | reg = <0x021a8000 0x4000>; |
917 | interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>; | 944 | interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>; |
918 | clocks = <&clks 127>; | 945 | clocks = <&clks IMX6QDL_CLK_I2C3>; |
919 | status = "disabled"; | 946 | status = "disabled"; |
920 | }; | 947 | }; |
921 | 948 | ||
@@ -936,7 +963,7 @@ | |||
936 | compatible = "fsl,imx6q-weim"; | 963 | compatible = "fsl,imx6q-weim"; |
937 | reg = <0x021b8000 0x4000>; | 964 | reg = <0x021b8000 0x4000>; |
938 | interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>; | 965 | interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>; |
939 | clocks = <&clks 196>; | 966 | clocks = <&clks IMX6QDL_CLK_EIM_SLOW>; |
940 | }; | 967 | }; |
941 | 968 | ||
942 | ocotp: ocotp@021bc000 { | 969 | ocotp: ocotp@021bc000 { |
@@ -996,7 +1023,8 @@ | |||
996 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | 1023 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; |
997 | reg = <0x021e8000 0x4000>; | 1024 | reg = <0x021e8000 0x4000>; |
998 | interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>; | 1025 | interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>; |
999 | clocks = <&clks 160>, <&clks 161>; | 1026 | clocks = <&clks IMX6QDL_CLK_UART_IPG>, |
1027 | <&clks IMX6QDL_CLK_UART_SERIAL>; | ||
1000 | clock-names = "ipg", "per"; | 1028 | clock-names = "ipg", "per"; |
1001 | dmas = <&sdma 27 4 0>, <&sdma 28 4 0>; | 1029 | dmas = <&sdma 27 4 0>, <&sdma 28 4 0>; |
1002 | dma-names = "rx", "tx"; | 1030 | dma-names = "rx", "tx"; |
@@ -1007,7 +1035,8 @@ | |||
1007 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | 1035 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; |
1008 | reg = <0x021ec000 0x4000>; | 1036 | reg = <0x021ec000 0x4000>; |
1009 | interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>; | 1037 | interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>; |
1010 | clocks = <&clks 160>, <&clks 161>; | 1038 | clocks = <&clks IMX6QDL_CLK_UART_IPG>, |
1039 | <&clks IMX6QDL_CLK_UART_SERIAL>; | ||
1011 | clock-names = "ipg", "per"; | 1040 | clock-names = "ipg", "per"; |
1012 | dmas = <&sdma 29 4 0>, <&sdma 30 4 0>; | 1041 | dmas = <&sdma 29 4 0>, <&sdma 30 4 0>; |
1013 | dma-names = "rx", "tx"; | 1042 | dma-names = "rx", "tx"; |
@@ -1018,7 +1047,8 @@ | |||
1018 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | 1047 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; |
1019 | reg = <0x021f0000 0x4000>; | 1048 | reg = <0x021f0000 0x4000>; |
1020 | interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>; | 1049 | interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>; |
1021 | clocks = <&clks 160>, <&clks 161>; | 1050 | clocks = <&clks IMX6QDL_CLK_UART_IPG>, |
1051 | <&clks IMX6QDL_CLK_UART_SERIAL>; | ||
1022 | clock-names = "ipg", "per"; | 1052 | clock-names = "ipg", "per"; |
1023 | dmas = <&sdma 31 4 0>, <&sdma 32 4 0>; | 1053 | dmas = <&sdma 31 4 0>, <&sdma 32 4 0>; |
1024 | dma-names = "rx", "tx"; | 1054 | dma-names = "rx", "tx"; |
@@ -1029,7 +1059,8 @@ | |||
1029 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | 1059 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; |
1030 | reg = <0x021f4000 0x4000>; | 1060 | reg = <0x021f4000 0x4000>; |
1031 | interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>; | 1061 | interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>; |
1032 | clocks = <&clks 160>, <&clks 161>; | 1062 | clocks = <&clks IMX6QDL_CLK_UART_IPG>, |
1063 | <&clks IMX6QDL_CLK_UART_SERIAL>; | ||
1033 | clock-names = "ipg", "per"; | 1064 | clock-names = "ipg", "per"; |
1034 | dmas = <&sdma 33 4 0>, <&sdma 34 4 0>; | 1065 | dmas = <&sdma 33 4 0>, <&sdma 34 4 0>; |
1035 | dma-names = "rx", "tx"; | 1066 | dma-names = "rx", "tx"; |
@@ -1044,10 +1075,20 @@ | |||
1044 | reg = <0x02400000 0x400000>; | 1075 | reg = <0x02400000 0x400000>; |
1045 | interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>, | 1076 | interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>, |
1046 | <0 5 IRQ_TYPE_LEVEL_HIGH>; | 1077 | <0 5 IRQ_TYPE_LEVEL_HIGH>; |
1047 | clocks = <&clks 130>, <&clks 131>, <&clks 132>; | 1078 | clocks = <&clks IMX6QDL_CLK_IPU1>, |
1079 | <&clks IMX6QDL_CLK_IPU1_DI0>, | ||
1080 | <&clks IMX6QDL_CLK_IPU1_DI1>; | ||
1048 | clock-names = "bus", "di0", "di1"; | 1081 | clock-names = "bus", "di0", "di1"; |
1049 | resets = <&src 2>; | 1082 | resets = <&src 2>; |
1050 | 1083 | ||
1084 | ipu1_csi0: port@0 { | ||
1085 | reg = <0>; | ||
1086 | }; | ||
1087 | |||
1088 | ipu1_csi1: port@1 { | ||
1089 | reg = <1>; | ||
1090 | }; | ||
1091 | |||
1051 | ipu1_di0: port@2 { | 1092 | ipu1_di0: port@2 { |
1052 | #address-cells = <1>; | 1093 | #address-cells = <1>; |
1053 | #size-cells = <0>; | 1094 | #size-cells = <0>; |
diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts index a8d9a93fab85..3f9e041c0252 100644 --- a/arch/arm/boot/dts/imx6sl-evk.dts +++ b/arch/arm/boot/dts/imx6sl-evk.dts | |||
@@ -116,8 +116,9 @@ | |||
116 | }; | 116 | }; |
117 | 117 | ||
118 | &fec { | 118 | &fec { |
119 | pinctrl-names = "default"; | 119 | pinctrl-names = "default", "sleep"; |
120 | pinctrl-0 = <&pinctrl_fec>; | 120 | pinctrl-0 = <&pinctrl_fec>; |
121 | pinctrl-1 = <&pinctrl_fec_sleep>; | ||
121 | phy-mode = "rmii"; | 122 | phy-mode = "rmii"; |
122 | status = "okay"; | 123 | status = "okay"; |
123 | }; | 124 | }; |
@@ -300,6 +301,19 @@ | |||
300 | >; | 301 | >; |
301 | }; | 302 | }; |
302 | 303 | ||
304 | pinctrl_fec_sleep: fecgrp-sleep { | ||
305 | fsl,pins = < | ||
306 | MX6SL_PAD_FEC_MDC__GPIO4_IO23 0x3080 | ||
307 | MX6SL_PAD_FEC_CRS_DV__GPIO4_IO25 0x3080 | ||
308 | MX6SL_PAD_FEC_RXD0__GPIO4_IO17 0x3080 | ||
309 | MX6SL_PAD_FEC_RXD1__GPIO4_IO18 0x3080 | ||
310 | MX6SL_PAD_FEC_TX_EN__GPIO4_IO22 0x3080 | ||
311 | MX6SL_PAD_FEC_TXD0__GPIO4_IO24 0x3080 | ||
312 | MX6SL_PAD_FEC_TXD1__GPIO4_IO16 0x3080 | ||
313 | MX6SL_PAD_FEC_REF_CLK__GPIO4_IO26 0x3080 | ||
314 | >; | ||
315 | }; | ||
316 | |||
303 | pinctrl_i2c1: i2c1grp { | 317 | pinctrl_i2c1: i2c1grp { |
304 | fsl,pins = < | 318 | fsl,pins = < |
305 | MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x4001b8b1 | 319 | MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x4001b8b1 |
@@ -475,7 +489,6 @@ | |||
475 | }; | 489 | }; |
476 | 490 | ||
477 | &ssi2 { | 491 | &ssi2 { |
478 | fsl,mode = "i2s-slave"; | ||
479 | status = "okay"; | 492 | status = "okay"; |
480 | }; | 493 | }; |
481 | 494 | ||
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi index 57d4abe03a94..c75800ca8b35 100644 --- a/arch/arm/boot/dts/imx6sl.dtsi +++ b/arch/arm/boot/dts/imx6sl.dtsi | |||
@@ -227,8 +227,7 @@ | |||
227 | 227 | ||
228 | ssi1: ssi@02028000 { | 228 | ssi1: ssi@02028000 { |
229 | compatible = "fsl,imx6sl-ssi", | 229 | compatible = "fsl,imx6sl-ssi", |
230 | "fsl,imx51-ssi", | 230 | "fsl,imx51-ssi"; |
231 | "fsl,imx21-ssi"; | ||
232 | reg = <0x02028000 0x4000>; | 231 | reg = <0x02028000 0x4000>; |
233 | interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>; | 232 | interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>; |
234 | clocks = <&clks IMX6SL_CLK_SSI1>; | 233 | clocks = <&clks IMX6SL_CLK_SSI1>; |
@@ -241,8 +240,7 @@ | |||
241 | 240 | ||
242 | ssi2: ssi@0202c000 { | 241 | ssi2: ssi@0202c000 { |
243 | compatible = "fsl,imx6sl-ssi", | 242 | compatible = "fsl,imx6sl-ssi", |
244 | "fsl,imx51-ssi", | 243 | "fsl,imx51-ssi"; |
245 | "fsl,imx21-ssi"; | ||
246 | reg = <0x0202c000 0x4000>; | 244 | reg = <0x0202c000 0x4000>; |
247 | interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; | 245 | interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; |
248 | clocks = <&clks IMX6SL_CLK_SSI2>; | 246 | clocks = <&clks IMX6SL_CLK_SSI2>; |
@@ -255,8 +253,7 @@ | |||
255 | 253 | ||
256 | ssi3: ssi@02030000 { | 254 | ssi3: ssi@02030000 { |
257 | compatible = "fsl,imx6sl-ssi", | 255 | compatible = "fsl,imx6sl-ssi", |
258 | "fsl,imx51-ssi", | 256 | "fsl,imx51-ssi"; |
259 | "fsl,imx21-ssi"; | ||
260 | reg = <0x02030000 0x4000>; | 257 | reg = <0x02030000 0x4000>; |
261 | interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>; | 258 | interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>; |
262 | clocks = <&clks IMX6SL_CLK_SSI3>; | 259 | clocks = <&clks IMX6SL_CLK_SSI3>; |
@@ -403,6 +400,7 @@ | |||
403 | reg = <0x020b8000 0x4000>; | 400 | reg = <0x020b8000 0x4000>; |
404 | interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; | 401 | interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; |
405 | clocks = <&clks IMX6SL_CLK_DUMMY>; | 402 | clocks = <&clks IMX6SL_CLK_DUMMY>; |
403 | status = "disabled"; | ||
406 | }; | 404 | }; |
407 | 405 | ||
408 | wdog1: wdog@020bc000 { | 406 | wdog1: wdog@020bc000 { |
@@ -607,7 +605,7 @@ | |||
607 | }; | 605 | }; |
608 | 606 | ||
609 | sdma: sdma@020ec000 { | 607 | sdma: sdma@020ec000 { |
610 | compatible = "fsl,imx6sl-sdma", "fsl,imx35-sdma"; | 608 | compatible = "fsl,imx6sl-sdma", "fsl,imx6q-sdma"; |
611 | reg = <0x020ec000 0x4000>; | 609 | reg = <0x020ec000 0x4000>; |
612 | interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>; | 610 | interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>; |
613 | clocks = <&clks IMX6SL_CLK_SDMA>, | 611 | clocks = <&clks IMX6SL_CLK_SDMA>, |
diff --git a/arch/arm/boot/dts/imx6sx-pinfunc.h b/arch/arm/boot/dts/imx6sx-pinfunc.h new file mode 100644 index 000000000000..3e0b816dac08 --- /dev/null +++ b/arch/arm/boot/dts/imx6sx-pinfunc.h | |||
@@ -0,0 +1,1544 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Freescale Semiconductor, Inc. | ||
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 | */ | ||
9 | |||
10 | #ifndef __DTS_IMX6SX_PINFUNC_H | ||
11 | #define __DTS_IMX6SX_PINFUNC_H | ||
12 | |||
13 | /* | ||
14 | * The pin function ID is a tuple of | ||
15 | * <mux_reg conf_reg input_reg mux_mode input_val> | ||
16 | */ | ||
17 | #define MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x0014 0x035C 0x07A8 0x0 0x1 | ||
18 | #define MX6SX_PAD_GPIO1_IO00__USDHC1_VSELECT 0x0014 0x035C 0x0000 0x1 0x0 | ||
19 | #define MX6SX_PAD_GPIO1_IO00__SPDIF_LOCK 0x0014 0x035C 0x0000 0x2 0x0 | ||
20 | #define MX6SX_PAD_GPIO1_IO00__CCM_WAIT 0x0014 0x035C 0x0000 0x3 0x0 | ||
21 | #define MX6SX_PAD_GPIO1_IO00__WDOG1_WDOG_ANY 0x0014 0x035C 0x0000 0x4 0x0 | ||
22 | #define MX6SX_PAD_GPIO1_IO00__GPIO1_IO_0 0x0014 0x035C 0x0000 0x5 0x0 | ||
23 | #define MX6SX_PAD_GPIO1_IO00__SNVS_HP_WRAPPER_VIO_5 0x0014 0x035C 0x0000 0x6 0x0 | ||
24 | #define MX6SX_PAD_GPIO1_IO00__PHY_DTB_1 0x0014 0x035C 0x0000 0x7 0x0 | ||
25 | #define MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x0018 0x0360 0x07AC 0x0 0x1 | ||
26 | #define MX6SX_PAD_GPIO1_IO01__USDHC1_RESET_B 0x0018 0x0360 0x0000 0x1 0x0 | ||
27 | #define MX6SX_PAD_GPIO1_IO01__SPDIF_SR_CLK 0x0018 0x0360 0x0000 0x2 0x0 | ||
28 | #define MX6SX_PAD_GPIO1_IO01__CCM_STOP 0x0018 0x0360 0x0000 0x3 0x0 | ||
29 | #define MX6SX_PAD_GPIO1_IO01__WDOG3_WDOG_B 0x0018 0x0360 0x0000 0x4 0x0 | ||
30 | #define MX6SX_PAD_GPIO1_IO01__GPIO1_IO_1 0x0018 0x0360 0x0000 0x5 0x0 | ||
31 | #define MX6SX_PAD_GPIO1_IO01__SNVS_HP_WRAPPER_VIO_5_CTL 0x0018 0x0360 0x0000 0x6 0x0 | ||
32 | #define MX6SX_PAD_GPIO1_IO01__PHY_DTB_0 0x0018 0x0360 0x0000 0x7 0x0 | ||
33 | #define MX6SX_PAD_GPIO1_IO02__I2C2_SCL 0x001C 0x0364 0x07B0 0x0 0x1 | ||
34 | #define MX6SX_PAD_GPIO1_IO02__USDHC1_CD_B 0x001C 0x0364 0x0864 0x1 0x1 | ||
35 | #define MX6SX_PAD_GPIO1_IO02__CSI2_MCLK 0x001C 0x0364 0x0000 0x2 0x0 | ||
36 | #define MX6SX_PAD_GPIO1_IO02__CCM_DI0_EXT_CLK 0x001C 0x0364 0x0000 0x3 0x0 | ||
37 | #define MX6SX_PAD_GPIO1_IO02__WDOG1_WDOG_B 0x001C 0x0364 0x0000 0x4 0x0 | ||
38 | #define MX6SX_PAD_GPIO1_IO02__GPIO1_IO_2 0x001C 0x0364 0x0000 0x5 0x0 | ||
39 | #define MX6SX_PAD_GPIO1_IO02__CCM_REF_EN_B 0x001C 0x0364 0x0000 0x6 0x0 | ||
40 | #define MX6SX_PAD_GPIO1_IO02__PHY_TDI 0x001C 0x0364 0x0000 0x7 0x0 | ||
41 | #define MX6SX_PAD_GPIO1_IO03__I2C2_SDA 0x0020 0x0368 0x07B4 0x0 0x1 | ||
42 | #define MX6SX_PAD_GPIO1_IO03__USDHC1_WP 0x0020 0x0368 0x0868 0x1 0x1 | ||
43 | #define MX6SX_PAD_GPIO1_IO03__ENET1_REF_CLK_25M 0x0020 0x0368 0x0000 0x2 0x0 | ||
44 | #define MX6SX_PAD_GPIO1_IO03__CCM_DI1_EXT_CLK 0x0020 0x0368 0x0000 0x3 0x0 | ||
45 | #define MX6SX_PAD_GPIO1_IO03__WDOG2_WDOG_B 0x0020 0x0368 0x0000 0x4 0x0 | ||
46 | #define MX6SX_PAD_GPIO1_IO03__GPIO1_IO_3 0x0020 0x0368 0x0000 0x5 0x0 | ||
47 | #define MX6SX_PAD_GPIO1_IO03__CCM_PLL3_BYP 0x0020 0x0368 0x0000 0x6 0x0 | ||
48 | #define MX6SX_PAD_GPIO1_IO03__PHY_TCK 0x0020 0x0368 0x0000 0x7 0x0 | ||
49 | #define MX6SX_PAD_GPIO1_IO04__UART1_RX 0x0024 0x036C 0x0830 0x0 0x0 | ||
50 | #define MX6SX_PAD_GPIO1_IO04__UART1_TX 0x0024 0x036C 0x0000 0x0 0x0 | ||
51 | #define MX6SX_PAD_GPIO1_IO04__USDHC2_RESET_B 0x0024 0x036C 0x0000 0x1 0x0 | ||
52 | #define MX6SX_PAD_GPIO1_IO04__ENET1_MDC 0x0024 0x036C 0x0000 0x2 0x0 | ||
53 | #define MX6SX_PAD_GPIO1_IO04__OSC32K_32K_OUT 0x0024 0x036C 0x0000 0x3 0x0 | ||
54 | #define MX6SX_PAD_GPIO1_IO04__ENET2_REF_CLK2 0x0024 0x036C 0x076C 0x4 0x0 | ||
55 | #define MX6SX_PAD_GPIO1_IO04__GPIO1_IO_4 0x0024 0x036C 0x0000 0x5 0x0 | ||
56 | #define MX6SX_PAD_GPIO1_IO04__CCM_PLL2_BYP 0x0024 0x036C 0x0000 0x6 0x0 | ||
57 | #define MX6SX_PAD_GPIO1_IO04__PHY_TMS 0x0024 0x036C 0x0000 0x7 0x0 | ||
58 | #define MX6SX_PAD_GPIO1_IO05__UART1_RX 0x0028 0x0370 0x0830 0x0 0x1 | ||
59 | #define MX6SX_PAD_GPIO1_IO05__UART1_TX 0x0028 0x0370 0x0000 0x0 0x0 | ||
60 | #define MX6SX_PAD_GPIO1_IO05__USDHC2_VSELECT 0x0028 0x0370 0x0000 0x1 0x0 | ||
61 | #define MX6SX_PAD_GPIO1_IO05__ENET1_MDIO 0x0028 0x0370 0x0764 0x2 0x0 | ||
62 | #define MX6SX_PAD_GPIO1_IO05__ASRC_ASRC_EXT_CLK 0x0028 0x0370 0x0000 0x3 0x0 | ||
63 | #define MX6SX_PAD_GPIO1_IO05__ENET1_REF_CLK1 0x0028 0x0370 0x0760 0x4 0x0 | ||
64 | #define MX6SX_PAD_GPIO1_IO05__GPIO1_IO_5 0x0028 0x0370 0x0000 0x5 0x0 | ||
65 | #define MX6SX_PAD_GPIO1_IO05__SRC_TESTER_ACK 0x0028 0x0370 0x0000 0x6 0x0 | ||
66 | #define MX6SX_PAD_GPIO1_IO05__PHY_TDO 0x0028 0x0370 0x0000 0x7 0x0 | ||
67 | #define MX6SX_PAD_GPIO1_IO06__UART2_RX 0x002C 0x0374 0x0838 0x0 0x0 | ||
68 | #define MX6SX_PAD_GPIO1_IO06__UART2_TX 0x002C 0x0374 0x0000 0x0 0x0 | ||
69 | #define MX6SX_PAD_GPIO1_IO06__USDHC2_CD_B 0x002C 0x0374 0x086C 0x1 0x1 | ||
70 | #define MX6SX_PAD_GPIO1_IO06__ENET2_MDC 0x002C 0x0374 0x0000 0x2 0x0 | ||
71 | #define MX6SX_PAD_GPIO1_IO06__CSI1_MCLK 0x002C 0x0374 0x0000 0x3 0x0 | ||
72 | #define MX6SX_PAD_GPIO1_IO06__UART1_RTS_B 0x002C 0x0374 0x082C 0x4 0x0 | ||
73 | #define MX6SX_PAD_GPIO1_IO06__GPIO1_IO_6 0x002C 0x0374 0x0000 0x5 0x0 | ||
74 | #define MX6SX_PAD_GPIO1_IO06__SRC_ANY_PU_RESET 0x002C 0x0374 0x0000 0x6 0x0 | ||
75 | #define MX6SX_PAD_GPIO1_IO06__OCOTP_CTRL_WRAPPER_FUSE_LATCHED 0x002C 0x0374 0x0000 0x7 0x0 | ||
76 | #define MX6SX_PAD_GPIO1_IO07__UART2_RX 0x0030 0x0378 0x0838 0x0 0x1 | ||
77 | #define MX6SX_PAD_GPIO1_IO07__UART2_TX 0x0030 0x0378 0x0000 0x0 0x0 | ||
78 | #define MX6SX_PAD_GPIO1_IO07__USDHC2_WP 0x0030 0x0378 0x0870 0x1 0x1 | ||
79 | #define MX6SX_PAD_GPIO1_IO07__ENET2_MDIO 0x0030 0x0378 0x0770 0x2 0x0 | ||
80 | #define MX6SX_PAD_GPIO1_IO07__AUDMUX_MCLK 0x0030 0x0378 0x0000 0x3 0x0 | ||
81 | #define MX6SX_PAD_GPIO1_IO07__UART1_CTS_B 0x0030 0x0378 0x082C 0x4 0x1 | ||
82 | #define MX6SX_PAD_GPIO1_IO07__GPIO1_IO_7 0x0030 0x0378 0x0000 0x5 0x0 | ||
83 | #define MX6SX_PAD_GPIO1_IO07__SRC_EARLY_RESET 0x0030 0x0378 0x0000 0x6 0x0 | ||
84 | #define MX6SX_PAD_GPIO1_IO07__DCIC2_OUT 0x0030 0x0378 0x0000 0x7 0x0 | ||
85 | #define MX6SX_PAD_GPIO1_IO07__VDEC_DEBUG_44 0x0030 0x0378 0x0000 0x8 0x0 | ||
86 | #define MX6SX_PAD_GPIO1_IO08__USB_OTG1_OC 0x0034 0x037C 0x0860 0x0 0x0 | ||
87 | #define MX6SX_PAD_GPIO1_IO08__WDOG1_WDOG_B 0x0034 0x037C 0x0000 0x1 0x0 | ||
88 | #define MX6SX_PAD_GPIO1_IO08__SDMA_EXT_EVENT_0 0x0034 0x037C 0x081C 0x2 0x0 | ||
89 | #define MX6SX_PAD_GPIO1_IO08__CCM_PMIC_RDY 0x0034 0x037C 0x069C 0x3 0x1 | ||
90 | #define MX6SX_PAD_GPIO1_IO08__UART2_RTS_B 0x0034 0x037C 0x0834 0x4 0x0 | ||
91 | #define MX6SX_PAD_GPIO1_IO08__GPIO1_IO_8 0x0034 0x037C 0x0000 0x5 0x0 | ||
92 | #define MX6SX_PAD_GPIO1_IO08__SRC_SYSTEM_RESET 0x0034 0x037C 0x0000 0x6 0x0 | ||
93 | #define MX6SX_PAD_GPIO1_IO08__DCIC1_OUT 0x0034 0x037C 0x0000 0x7 0x0 | ||
94 | #define MX6SX_PAD_GPIO1_IO08__VDEC_DEBUG_43 0x0034 0x037C 0x0000 0x8 0x0 | ||
95 | #define MX6SX_PAD_GPIO1_IO09__USB_OTG1_PWR 0x0038 0x0380 0x0000 0x0 0x0 | ||
96 | #define MX6SX_PAD_GPIO1_IO09__WDOG2_WDOG_B 0x0038 0x0380 0x0000 0x1 0x0 | ||
97 | #define MX6SX_PAD_GPIO1_IO09__SDMA_EXT_EVENT_1 0x0038 0x0380 0x0820 0x2 0x0 | ||
98 | #define MX6SX_PAD_GPIO1_IO09__CCM_OUT0 0x0038 0x0380 0x0000 0x3 0x0 | ||
99 | #define MX6SX_PAD_GPIO1_IO09__UART2_CTS_B 0x0038 0x0380 0x0834 0x4 0x1 | ||
100 | #define MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x0038 0x0380 0x0000 0x5 0x0 | ||
101 | #define MX6SX_PAD_GPIO1_IO09__SRC_INT_BOOT 0x0038 0x0380 0x0000 0x6 0x0 | ||
102 | #define MX6SX_PAD_GPIO1_IO09__OBSERVE_MUX_OUT_4 0x0038 0x0380 0x0000 0x7 0x0 | ||
103 | #define MX6SX_PAD_GPIO1_IO09__VDEC_DEBUG_42 0x0038 0x0380 0x0000 0x8 0x0 | ||
104 | #define MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x003C 0x0384 0x0624 0x0 0x0 | ||
105 | #define MX6SX_PAD_GPIO1_IO10__SPDIF_EXT_CLK 0x003C 0x0384 0x0828 0x1 0x0 | ||
106 | #define MX6SX_PAD_GPIO1_IO10__PWM1_OUT 0x003C 0x0384 0x0000 0x2 0x0 | ||
107 | #define MX6SX_PAD_GPIO1_IO10__CCM_OUT1 0x003C 0x0384 0x0000 0x3 0x0 | ||
108 | #define MX6SX_PAD_GPIO1_IO10__CSI1_FIELD 0x003C 0x0384 0x070C 0x4 0x1 | ||
109 | #define MX6SX_PAD_GPIO1_IO10__GPIO1_IO_10 0x003C 0x0384 0x0000 0x5 0x0 | ||
110 | #define MX6SX_PAD_GPIO1_IO10__CSU_CSU_INT_DEB 0x003C 0x0384 0x0000 0x6 0x0 | ||
111 | #define MX6SX_PAD_GPIO1_IO10__OBSERVE_MUX_OUT_3 0x003C 0x0384 0x0000 0x7 0x0 | ||
112 | #define MX6SX_PAD_GPIO1_IO10__VDEC_DEBUG_41 0x003C 0x0384 0x0000 0x8 0x0 | ||
113 | #define MX6SX_PAD_GPIO1_IO11__USB_OTG2_OC 0x0040 0x0388 0x085C 0x0 0x0 | ||
114 | #define MX6SX_PAD_GPIO1_IO11__SPDIF_IN 0x0040 0x0388 0x0824 0x1 0x2 | ||
115 | #define MX6SX_PAD_GPIO1_IO11__PWM2_OUT 0x0040 0x0388 0x0000 0x2 0x0 | ||
116 | #define MX6SX_PAD_GPIO1_IO11__CCM_CLKO1 0x0040 0x0388 0x0000 0x3 0x0 | ||
117 | #define MX6SX_PAD_GPIO1_IO11__MLB_DATA 0x0040 0x0388 0x07EC 0x4 0x0 | ||
118 | #define MX6SX_PAD_GPIO1_IO11__GPIO1_IO_11 0x0040 0x0388 0x0000 0x5 0x0 | ||
119 | #define MX6SX_PAD_GPIO1_IO11__CSU_CSU_ALARM_AUT_0 0x0040 0x0388 0x0000 0x6 0x0 | ||
120 | #define MX6SX_PAD_GPIO1_IO11__OBSERVE_MUX_OUT_2 0x0040 0x0388 0x0000 0x7 0x0 | ||
121 | #define MX6SX_PAD_GPIO1_IO11__VDEC_DEBUG_40 0x0040 0x0388 0x0000 0x8 0x0 | ||
122 | #define MX6SX_PAD_GPIO1_IO12__USB_OTG2_PWR 0x0044 0x038C 0x0000 0x0 0x0 | ||
123 | #define MX6SX_PAD_GPIO1_IO12__SPDIF_OUT 0x0044 0x038C 0x0000 0x1 0x0 | ||
124 | #define MX6SX_PAD_GPIO1_IO12__PWM3_OUT 0x0044 0x038C 0x0000 0x2 0x0 | ||
125 | #define MX6SX_PAD_GPIO1_IO12__CCM_CLKO2 0x0044 0x038C 0x0000 0x3 0x0 | ||
126 | #define MX6SX_PAD_GPIO1_IO12__MLB_CLK 0x0044 0x038C 0x07E8 0x4 0x0 | ||
127 | #define MX6SX_PAD_GPIO1_IO12__GPIO1_IO_12 0x0044 0x038C 0x0000 0x5 0x0 | ||
128 | #define MX6SX_PAD_GPIO1_IO12__CSU_CSU_ALARM_AUT_1 0x0044 0x038C 0x0000 0x6 0x0 | ||
129 | #define MX6SX_PAD_GPIO1_IO12__OBSERVE_MUX_OUT_1 0x0044 0x038C 0x0000 0x7 0x0 | ||
130 | #define MX6SX_PAD_GPIO1_IO12__VDEC_DEBUG_39 0x0044 0x038C 0x0000 0x8 0x0 | ||
131 | #define MX6SX_PAD_GPIO1_IO13__WDOG1_WDOG_ANY 0x0048 0x0390 0x0000 0x0 0x0 | ||
132 | #define MX6SX_PAD_GPIO1_IO13__ANATOP_OTG2_ID 0x0048 0x0390 0x0628 0x1 0x0 | ||
133 | #define MX6SX_PAD_GPIO1_IO13__PWM4_OUT 0x0048 0x0390 0x0000 0x2 0x0 | ||
134 | #define MX6SX_PAD_GPIO1_IO13__CCM_OUT2 0x0048 0x0390 0x0000 0x3 0x0 | ||
135 | #define MX6SX_PAD_GPIO1_IO13__MLB_SIG 0x0048 0x0390 0x07F0 0x4 0x0 | ||
136 | #define MX6SX_PAD_GPIO1_IO13__GPIO1_IO_13 0x0048 0x0390 0x0000 0x5 0x0 | ||
137 | #define MX6SX_PAD_GPIO1_IO13__CSU_CSU_ALARM_AUT_2 0x0048 0x0390 0x0000 0x6 0x0 | ||
138 | #define MX6SX_PAD_GPIO1_IO13__OBSERVE_MUX_OUT_0 0x0048 0x0390 0x0000 0x7 0x0 | ||
139 | #define MX6SX_PAD_GPIO1_IO13__VDEC_DEBUG_38 0x0048 0x0390 0x0000 0x8 0x0 | ||
140 | #define MX6SX_PAD_CSI_DATA00__CSI1_DATA_2 0x004C 0x0394 0x06A8 0x0 0x0 | ||
141 | #define MX6SX_PAD_CSI_DATA00__ESAI_TX_CLK 0x004C 0x0394 0x078C 0x1 0x1 | ||
142 | #define MX6SX_PAD_CSI_DATA00__AUDMUX_AUD6_TXC 0x004C 0x0394 0x0684 0x2 0x1 | ||
143 | #define MX6SX_PAD_CSI_DATA00__I2C1_SCL 0x004C 0x0394 0x07A8 0x3 0x0 | ||
144 | #define MX6SX_PAD_CSI_DATA00__UART6_RI_B 0x004C 0x0394 0x0000 0x4 0x0 | ||
145 | #define MX6SX_PAD_CSI_DATA00__GPIO1_IO_14 0x004C 0x0394 0x0000 0x5 0x0 | ||
146 | #define MX6SX_PAD_CSI_DATA00__WEIM_DATA_23 0x004C 0x0394 0x0000 0x6 0x0 | ||
147 | #define MX6SX_PAD_CSI_DATA00__SAI1_TX_BCLK 0x004C 0x0394 0x0800 0x7 0x0 | ||
148 | #define MX6SX_PAD_CSI_DATA00__VADC_DATA_4 0x004C 0x0394 0x0000 0x8 0x0 | ||
149 | #define MX6SX_PAD_CSI_DATA00__MMDC_DEBUG_37 0x004C 0x0394 0x0000 0x9 0x0 | ||
150 | #define MX6SX_PAD_CSI_DATA01__CSI1_DATA_3 0x0050 0x0398 0x06AC 0x0 0x0 | ||
151 | #define MX6SX_PAD_CSI_DATA01__ESAI_TX_FS 0x0050 0x0398 0x077C 0x1 0x1 | ||
152 | #define MX6SX_PAD_CSI_DATA01__AUDMUX_AUD6_TXFS 0x0050 0x0398 0x0688 0x2 0x1 | ||
153 | #define MX6SX_PAD_CSI_DATA01__I2C1_SDA 0x0050 0x0398 0x07AC 0x3 0x0 | ||
154 | #define MX6SX_PAD_CSI_DATA01__UART6_DSR_B 0x0050 0x0398 0x0000 0x4 0x0 | ||
155 | #define MX6SX_PAD_CSI_DATA01__GPIO1_IO_15 0x0050 0x0398 0x0000 0x5 0x0 | ||
156 | #define MX6SX_PAD_CSI_DATA01__WEIM_DATA_22 0x0050 0x0398 0x0000 0x6 0x0 | ||
157 | #define MX6SX_PAD_CSI_DATA01__SAI1_TX_SYNC 0x0050 0x0398 0x0804 0x7 0x0 | ||
158 | #define MX6SX_PAD_CSI_DATA01__VADC_DATA_5 0x0050 0x0398 0x0000 0x8 0x0 | ||
159 | #define MX6SX_PAD_CSI_DATA01__MMDC_DEBUG_38 0x0050 0x0398 0x0000 0x9 0x0 | ||
160 | #define MX6SX_PAD_CSI_DATA02__CSI1_DATA_4 0x0054 0x039C 0x06B0 0x0 0x0 | ||
161 | #define MX6SX_PAD_CSI_DATA02__ESAI_RX_CLK 0x0054 0x039C 0x0788 0x1 0x1 | ||
162 | #define MX6SX_PAD_CSI_DATA02__AUDMUX_AUD6_RXC 0x0054 0x039C 0x067C 0x2 0x1 | ||
163 | #define MX6SX_PAD_CSI_DATA02__KPP_COL_5 0x0054 0x039C 0x07C8 0x3 0x0 | ||
164 | #define MX6SX_PAD_CSI_DATA02__UART6_DTR_B 0x0054 0x039C 0x0000 0x4 0x0 | ||
165 | #define MX6SX_PAD_CSI_DATA02__GPIO1_IO_16 0x0054 0x039C 0x0000 0x5 0x0 | ||
166 | #define MX6SX_PAD_CSI_DATA02__WEIM_DATA_21 0x0054 0x039C 0x0000 0x6 0x0 | ||
167 | #define MX6SX_PAD_CSI_DATA02__SAI1_RX_BCLK 0x0054 0x039C 0x07F4 0x7 0x0 | ||
168 | #define MX6SX_PAD_CSI_DATA02__VADC_DATA_6 0x0054 0x039C 0x0000 0x8 0x0 | ||
169 | #define MX6SX_PAD_CSI_DATA02__MMDC_DEBUG_39 0x0054 0x039C 0x0000 0x9 0x0 | ||
170 | #define MX6SX_PAD_CSI_DATA03__CSI1_DATA_5 0x0058 0x03A0 0x06B4 0x0 0x0 | ||
171 | #define MX6SX_PAD_CSI_DATA03__ESAI_RX_FS 0x0058 0x03A0 0x0778 0x1 0x1 | ||
172 | #define MX6SX_PAD_CSI_DATA03__AUDMUX_AUD6_RXFS 0x0058 0x03A0 0x0680 0x2 0x1 | ||
173 | #define MX6SX_PAD_CSI_DATA03__KPP_ROW_5 0x0058 0x03A0 0x07D4 0x3 0x0 | ||
174 | #define MX6SX_PAD_CSI_DATA03__UART6_DCD_B 0x0058 0x03A0 0x0000 0x4 0x0 | ||
175 | #define MX6SX_PAD_CSI_DATA03__GPIO1_IO_17 0x0058 0x03A0 0x0000 0x5 0x0 | ||
176 | #define MX6SX_PAD_CSI_DATA03__WEIM_DATA_20 0x0058 0x03A0 0x0000 0x6 0x0 | ||
177 | #define MX6SX_PAD_CSI_DATA03__SAI1_RX_SYNC 0x0058 0x03A0 0x07FC 0x7 0x0 | ||
178 | #define MX6SX_PAD_CSI_DATA03__VADC_DATA_7 0x0058 0x03A0 0x0000 0x8 0x0 | ||
179 | #define MX6SX_PAD_CSI_DATA03__MMDC_DEBUG_40 0x0058 0x03A0 0x0000 0x9 0x0 | ||
180 | #define MX6SX_PAD_CSI_DATA04__CSI1_DATA_6 0x005C 0x03A4 0x06B8 0x0 0x0 | ||
181 | #define MX6SX_PAD_CSI_DATA04__ESAI_TX1 0x005C 0x03A4 0x0794 0x1 0x1 | ||
182 | #define MX6SX_PAD_CSI_DATA04__SPDIF_OUT 0x005C 0x03A4 0x0000 0x2 0x0 | ||
183 | #define MX6SX_PAD_CSI_DATA04__KPP_COL_6 0x005C 0x03A4 0x07CC 0x3 0x0 | ||
184 | #define MX6SX_PAD_CSI_DATA04__UART6_RX 0x005C 0x03A4 0x0858 0x4 0x0 | ||
185 | #define MX6SX_PAD_CSI_DATA04__UART6_TX 0x005C 0x03A4 0x0000 0x4 0x0 | ||
186 | #define MX6SX_PAD_CSI_DATA04__GPIO1_IO_18 0x005C 0x03A4 0x0000 0x5 0x0 | ||
187 | #define MX6SX_PAD_CSI_DATA04__WEIM_DATA_19 0x005C 0x03A4 0x0000 0x6 0x0 | ||
188 | #define MX6SX_PAD_CSI_DATA04__PWM5_OUT 0x005C 0x03A4 0x0000 0x7 0x0 | ||
189 | #define MX6SX_PAD_CSI_DATA04__VADC_DATA_8 0x005C 0x03A4 0x0000 0x8 0x0 | ||
190 | #define MX6SX_PAD_CSI_DATA04__MMDC_DEBUG_41 0x005C 0x03A4 0x0000 0x9 0x0 | ||
191 | #define MX6SX_PAD_CSI_DATA05__CSI1_DATA_7 0x0060 0x03A8 0x06BC 0x0 0x0 | ||
192 | #define MX6SX_PAD_CSI_DATA05__ESAI_TX4_RX1 0x0060 0x03A8 0x07A0 0x1 0x1 | ||
193 | #define MX6SX_PAD_CSI_DATA05__SPDIF_IN 0x0060 0x03A8 0x0824 0x2 0x1 | ||
194 | #define MX6SX_PAD_CSI_DATA05__KPP_ROW_6 0x0060 0x03A8 0x07D8 0x3 0x0 | ||
195 | #define MX6SX_PAD_CSI_DATA05__UART6_RX 0x0060 0x03A8 0x0858 0x4 0x1 | ||
196 | #define MX6SX_PAD_CSI_DATA05__UART6_TX 0x0060 0x03A8 0x0000 0x4 0x0 | ||
197 | #define MX6SX_PAD_CSI_DATA05__GPIO1_IO_19 0x0060 0x03A8 0x0000 0x5 0x0 | ||
198 | #define MX6SX_PAD_CSI_DATA05__WEIM_DATA_18 0x0060 0x03A8 0x0000 0x6 0x0 | ||
199 | #define MX6SX_PAD_CSI_DATA05__PWM6_OUT 0x0060 0x03A8 0x0000 0x7 0x0 | ||
200 | #define MX6SX_PAD_CSI_DATA05__VADC_DATA_9 0x0060 0x03A8 0x0000 0x8 0x0 | ||
201 | #define MX6SX_PAD_CSI_DATA05__MMDC_DEBUG_42 0x0060 0x03A8 0x0000 0x9 0x0 | ||
202 | #define MX6SX_PAD_CSI_DATA06__CSI1_DATA_8 0x0064 0x03AC 0x06C0 0x0 0x0 | ||
203 | #define MX6SX_PAD_CSI_DATA06__ESAI_TX2_RX3 0x0064 0x03AC 0x0798 0x1 0x1 | ||
204 | #define MX6SX_PAD_CSI_DATA06__I2C4_SCL 0x0064 0x03AC 0x07C0 0x2 0x2 | ||
205 | #define MX6SX_PAD_CSI_DATA06__KPP_COL_7 0x0064 0x03AC 0x07D0 0x3 0x0 | ||
206 | #define MX6SX_PAD_CSI_DATA06__UART6_RTS_B 0x0064 0x03AC 0x0854 0x4 0x0 | ||
207 | #define MX6SX_PAD_CSI_DATA06__GPIO1_IO_20 0x0064 0x03AC 0x0000 0x5 0x0 | ||
208 | #define MX6SX_PAD_CSI_DATA06__WEIM_DATA_17 0x0064 0x03AC 0x0000 0x6 0x0 | ||
209 | #define MX6SX_PAD_CSI_DATA06__DCIC2_OUT 0x0064 0x03AC 0x0000 0x7 0x0 | ||
210 | #define MX6SX_PAD_CSI_DATA06__VADC_DATA_10 0x0064 0x03AC 0x0000 0x8 0x0 | ||
211 | #define MX6SX_PAD_CSI_DATA06__MMDC_DEBUG_43 0x0064 0x03AC 0x0000 0x9 0x0 | ||
212 | #define MX6SX_PAD_CSI_DATA07__CSI1_DATA_9 0x0068 0x03B0 0x06C4 0x0 0x0 | ||
213 | #define MX6SX_PAD_CSI_DATA07__ESAI_TX3_RX2 0x0068 0x03B0 0x079C 0x1 0x1 | ||
214 | #define MX6SX_PAD_CSI_DATA07__I2C4_SDA 0x0068 0x03B0 0x07C4 0x2 0x2 | ||
215 | #define MX6SX_PAD_CSI_DATA07__KPP_ROW_7 0x0068 0x03B0 0x07DC 0x3 0x0 | ||
216 | #define MX6SX_PAD_CSI_DATA07__UART6_CTS_B 0x0068 0x03B0 0x0854 0x4 0x1 | ||
217 | #define MX6SX_PAD_CSI_DATA07__GPIO1_IO_21 0x0068 0x03B0 0x0000 0x5 0x0 | ||
218 | #define MX6SX_PAD_CSI_DATA07__WEIM_DATA_16 0x0068 0x03B0 0x0000 0x6 0x0 | ||
219 | #define MX6SX_PAD_CSI_DATA07__DCIC1_OUT 0x0068 0x03B0 0x0000 0x7 0x0 | ||
220 | #define MX6SX_PAD_CSI_DATA07__VADC_DATA_11 0x0068 0x03B0 0x0000 0x8 0x0 | ||
221 | #define MX6SX_PAD_CSI_DATA07__MMDC_DEBUG_44 0x0068 0x03B0 0x0000 0x9 0x0 | ||
222 | #define MX6SX_PAD_CSI_HSYNC__CSI1_HSYNC 0x006C 0x03B4 0x0700 0x0 0x0 | ||
223 | #define MX6SX_PAD_CSI_HSYNC__ESAI_TX0 0x006C 0x03B4 0x0790 0x1 0x1 | ||
224 | #define MX6SX_PAD_CSI_HSYNC__AUDMUX_AUD6_TXD 0x006C 0x03B4 0x0678 0x2 0x1 | ||
225 | #define MX6SX_PAD_CSI_HSYNC__UART4_RTS_B 0x006C 0x03B4 0x0844 0x3 0x2 | ||
226 | #define MX6SX_PAD_CSI_HSYNC__MQS_LEFT 0x006C 0x03B4 0x0000 0x4 0x0 | ||
227 | #define MX6SX_PAD_CSI_HSYNC__GPIO1_IO_22 0x006C 0x03B4 0x0000 0x5 0x0 | ||
228 | #define MX6SX_PAD_CSI_HSYNC__WEIM_DATA_25 0x006C 0x03B4 0x0000 0x6 0x0 | ||
229 | #define MX6SX_PAD_CSI_HSYNC__SAI1_TX_DATA_0 0x006C 0x03B4 0x0000 0x7 0x0 | ||
230 | #define MX6SX_PAD_CSI_HSYNC__VADC_DATA_2 0x006C 0x03B4 0x0000 0x8 0x0 | ||
231 | #define MX6SX_PAD_CSI_HSYNC__MMDC_DEBUG_35 0x006C 0x03B4 0x0000 0x9 0x0 | ||
232 | #define MX6SX_PAD_CSI_MCLK__CSI1_MCLK 0x0070 0x03B8 0x0000 0x0 0x0 | ||
233 | #define MX6SX_PAD_CSI_MCLK__ESAI_TX_HF_CLK 0x0070 0x03B8 0x0784 0x1 0x1 | ||
234 | #define MX6SX_PAD_CSI_MCLK__OSC32K_32K_OUT 0x0070 0x03B8 0x0000 0x2 0x0 | ||
235 | #define MX6SX_PAD_CSI_MCLK__UART4_RX 0x0070 0x03B8 0x0848 0x3 0x2 | ||
236 | #define MX6SX_PAD_CSI_MCLK__UART4_TX 0x0070 0x03B8 0x0000 0x3 0x0 | ||
237 | #define MX6SX_PAD_CSI_MCLK__ANATOP_32K_OUT 0x0070 0x03B8 0x0000 0x4 0x0 | ||
238 | #define MX6SX_PAD_CSI_MCLK__GPIO1_IO_23 0x0070 0x03B8 0x0000 0x5 0x0 | ||
239 | #define MX6SX_PAD_CSI_MCLK__WEIM_DATA_26 0x0070 0x03B8 0x0000 0x6 0x0 | ||
240 | #define MX6SX_PAD_CSI_MCLK__CSI1_FIELD 0x0070 0x03B8 0x070C 0x7 0x0 | ||
241 | #define MX6SX_PAD_CSI_MCLK__VADC_DATA_1 0x0070 0x03B8 0x0000 0x8 0x0 | ||
242 | #define MX6SX_PAD_CSI_MCLK__MMDC_DEBUG_34 0x0070 0x03B8 0x0000 0x9 0x0 | ||
243 | #define MX6SX_PAD_CSI_PIXCLK__CSI1_PIXCLK 0x0074 0x03BC 0x0704 0x0 0x0 | ||
244 | #define MX6SX_PAD_CSI_PIXCLK__ESAI_RX_HF_CLK 0x0074 0x03BC 0x0780 0x1 0x1 | ||
245 | #define MX6SX_PAD_CSI_PIXCLK__AUDMUX_MCLK 0x0074 0x03BC 0x0000 0x2 0x0 | ||
246 | #define MX6SX_PAD_CSI_PIXCLK__UART4_RX 0x0074 0x03BC 0x0848 0x3 0x3 | ||
247 | #define MX6SX_PAD_CSI_PIXCLK__UART4_TX 0x0074 0x03BC 0x0000 0x3 0x0 | ||
248 | #define MX6SX_PAD_CSI_PIXCLK__ANATOP_24M_OUT 0x0074 0x03BC 0x0000 0x4 0x0 | ||
249 | #define MX6SX_PAD_CSI_PIXCLK__GPIO1_IO_24 0x0074 0x03BC 0x0000 0x5 0x0 | ||
250 | #define MX6SX_PAD_CSI_PIXCLK__WEIM_DATA_27 0x0074 0x03BC 0x0000 0x6 0x0 | ||
251 | #define MX6SX_PAD_CSI_PIXCLK__ESAI_TX_HF_CLK 0x0074 0x03BC 0x0784 0x7 0x2 | ||
252 | #define MX6SX_PAD_CSI_PIXCLK__VADC_CLK 0x0074 0x03BC 0x0000 0x8 0x0 | ||
253 | #define MX6SX_PAD_CSI_PIXCLK__MMDC_DEBUG_33 0x0074 0x03BC 0x0000 0x9 0x0 | ||
254 | #define MX6SX_PAD_CSI_VSYNC__CSI1_VSYNC 0x0078 0x03C0 0x0708 0x0 0x0 | ||
255 | #define MX6SX_PAD_CSI_VSYNC__ESAI_TX5_RX0 0x0078 0x03C0 0x07A4 0x1 0x1 | ||
256 | #define MX6SX_PAD_CSI_VSYNC__AUDMUX_AUD6_RXD 0x0078 0x03C0 0x0674 0x2 0x1 | ||
257 | #define MX6SX_PAD_CSI_VSYNC__UART4_CTS_B 0x0078 0x03C0 0x0844 0x3 0x3 | ||
258 | #define MX6SX_PAD_CSI_VSYNC__MQS_RIGHT 0x0078 0x03C0 0x0000 0x4 0x0 | ||
259 | #define MX6SX_PAD_CSI_VSYNC__GPIO1_IO_25 0x0078 0x03C0 0x0000 0x5 0x0 | ||
260 | #define MX6SX_PAD_CSI_VSYNC__WEIM_DATA_24 0x0078 0x03C0 0x0000 0x6 0x0 | ||
261 | #define MX6SX_PAD_CSI_VSYNC__SAI1_RX_DATA_0 0x0078 0x03C0 0x07F8 0x7 0x0 | ||
262 | #define MX6SX_PAD_CSI_VSYNC__VADC_DATA_3 0x0078 0x03C0 0x0000 0x8 0x0 | ||
263 | #define MX6SX_PAD_CSI_VSYNC__MMDC_DEBUG_36 0x0078 0x03C0 0x0000 0x9 0x0 | ||
264 | #define MX6SX_PAD_ENET1_COL__ENET1_COL 0x007C 0x03C4 0x0000 0x0 0x0 | ||
265 | #define MX6SX_PAD_ENET1_COL__ENET2_MDC 0x007C 0x03C4 0x0000 0x1 0x0 | ||
266 | #define MX6SX_PAD_ENET1_COL__AUDMUX_AUD4_TXC 0x007C 0x03C4 0x0654 0x2 0x1 | ||
267 | #define MX6SX_PAD_ENET1_COL__UART1_RI_B 0x007C 0x03C4 0x0000 0x3 0x0 | ||
268 | #define MX6SX_PAD_ENET1_COL__SPDIF_EXT_CLK 0x007C 0x03C4 0x0828 0x4 0x1 | ||
269 | #define MX6SX_PAD_ENET1_COL__GPIO2_IO_0 0x007C 0x03C4 0x0000 0x5 0x0 | ||
270 | #define MX6SX_PAD_ENET1_COL__CSI2_DATA_23 0x007C 0x03C4 0x0000 0x6 0x0 | ||
271 | #define MX6SX_PAD_ENET1_COL__LCDIF2_DATA_16 0x007C 0x03C4 0x0000 0x7 0x0 | ||
272 | #define MX6SX_PAD_ENET1_COL__VDEC_DEBUG_37 0x007C 0x03C4 0x0000 0x8 0x0 | ||
273 | #define MX6SX_PAD_ENET1_COL__PCIE_CTRL_DEBUG_31 0x007C 0x03C4 0x0000 0x9 0x0 | ||
274 | #define MX6SX_PAD_ENET1_CRS__ENET1_CRS 0x0080 0x03C8 0x0000 0x0 0x0 | ||
275 | #define MX6SX_PAD_ENET1_CRS__ENET2_MDIO 0x0080 0x03C8 0x0770 0x1 0x1 | ||
276 | #define MX6SX_PAD_ENET1_CRS__AUDMUX_AUD4_TXD 0x0080 0x03C8 0x0648 0x2 0x1 | ||
277 | #define MX6SX_PAD_ENET1_CRS__UART1_DCD_B 0x0080 0x03C8 0x0000 0x3 0x0 | ||
278 | #define MX6SX_PAD_ENET1_CRS__SPDIF_LOCK 0x0080 0x03C8 0x0000 0x4 0x0 | ||
279 | #define MX6SX_PAD_ENET1_CRS__GPIO2_IO_1 0x0080 0x03C8 0x0000 0x5 0x0 | ||
280 | #define MX6SX_PAD_ENET1_CRS__CSI2_DATA_22 0x0080 0x03C8 0x0000 0x6 0x0 | ||
281 | #define MX6SX_PAD_ENET1_CRS__LCDIF2_DATA_17 0x0080 0x03C8 0x0000 0x7 0x0 | ||
282 | #define MX6SX_PAD_ENET1_CRS__VDEC_DEBUG_36 0x0080 0x03C8 0x0000 0x8 0x0 | ||
283 | #define MX6SX_PAD_ENET1_CRS__PCIE_CTRL_DEBUG_30 0x0080 0x03C8 0x0000 0x9 0x0 | ||
284 | #define MX6SX_PAD_ENET1_MDC__ENET1_MDC 0x0084 0x03CC 0x0000 0x0 0x0 | ||
285 | #define MX6SX_PAD_ENET1_MDC__ENET2_MDC 0x0084 0x03CC 0x0000 0x1 0x0 | ||
286 | #define MX6SX_PAD_ENET1_MDC__AUDMUX_AUD3_RXFS 0x0084 0x03CC 0x0638 0x2 0x1 | ||
287 | #define MX6SX_PAD_ENET1_MDC__ANATOP_24M_OUT 0x0084 0x03CC 0x0000 0x3 0x0 | ||
288 | #define MX6SX_PAD_ENET1_MDC__EPIT2_OUT 0x0084 0x03CC 0x0000 0x4 0x0 | ||
289 | #define MX6SX_PAD_ENET1_MDC__GPIO2_IO_2 0x0084 0x03CC 0x0000 0x5 0x0 | ||
290 | #define MX6SX_PAD_ENET1_MDC__USB_OTG1_PWR 0x0084 0x03CC 0x0000 0x6 0x0 | ||
291 | #define MX6SX_PAD_ENET1_MDC__PWM7_OUT 0x0084 0x03CC 0x0000 0x7 0x0 | ||
292 | #define MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0x0088 0x03D0 0x0764 0x0 0x1 | ||
293 | #define MX6SX_PAD_ENET1_MDIO__ENET2_MDIO 0x0088 0x03D0 0x0770 0x1 0x2 | ||
294 | #define MX6SX_PAD_ENET1_MDIO__AUDMUX_MCLK 0x0088 0x03D0 0x0000 0x2 0x0 | ||
295 | #define MX6SX_PAD_ENET1_MDIO__OSC32K_32K_OUT 0x0088 0x03D0 0x0000 0x3 0x0 | ||
296 | #define MX6SX_PAD_ENET1_MDIO__EPIT1_OUT 0x0088 0x03D0 0x0000 0x4 0x0 | ||
297 | #define MX6SX_PAD_ENET1_MDIO__GPIO2_IO_3 0x0088 0x03D0 0x0000 0x5 0x0 | ||
298 | #define MX6SX_PAD_ENET1_MDIO__USB_OTG1_OC 0x0088 0x03D0 0x0860 0x6 0x1 | ||
299 | #define MX6SX_PAD_ENET1_MDIO__PWM8_OUT 0x0088 0x03D0 0x0000 0x7 0x0 | ||
300 | #define MX6SX_PAD_ENET1_RX_CLK__ENET1_RX_CLK 0x008C 0x03D4 0x0768 0x0 0x0 | ||
301 | #define MX6SX_PAD_ENET1_RX_CLK__ENET1_REF_CLK_25M 0x008C 0x03D4 0x0000 0x1 0x0 | ||
302 | #define MX6SX_PAD_ENET1_RX_CLK__AUDMUX_AUD4_TXFS 0x008C 0x03D4 0x0658 0x2 0x1 | ||
303 | #define MX6SX_PAD_ENET1_RX_CLK__UART1_DSR_B 0x008C 0x03D4 0x0000 0x3 0x0 | ||
304 | #define MX6SX_PAD_ENET1_RX_CLK__SPDIF_OUT 0x008C 0x03D4 0x0000 0x4 0x0 | ||
305 | #define MX6SX_PAD_ENET1_RX_CLK__GPIO2_IO_4 0x008C 0x03D4 0x0000 0x5 0x0 | ||
306 | #define MX6SX_PAD_ENET1_RX_CLK__CSI2_DATA_21 0x008C 0x03D4 0x0000 0x6 0x0 | ||
307 | #define MX6SX_PAD_ENET1_RX_CLK__LCDIF2_DATA_18 0x008C 0x03D4 0x0000 0x7 0x0 | ||
308 | #define MX6SX_PAD_ENET1_RX_CLK__VDEC_DEBUG_35 0x008C 0x03D4 0x0000 0x8 0x0 | ||
309 | #define MX6SX_PAD_ENET1_RX_CLK__PCIE_CTRL_DEBUG_29 0x008C 0x03D4 0x0000 0x9 0x0 | ||
310 | #define MX6SX_PAD_ENET1_TX_CLK__ENET1_TX_CLK 0x0090 0x03D8 0x0000 0x0 0x0 | ||
311 | #define MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x0090 0x03D8 0x0760 0x1 0x1 | ||
312 | #define MX6SX_PAD_ENET1_TX_CLK__AUDMUX_AUD4_RXD 0x0090 0x03D8 0x0644 0x2 0x1 | ||
313 | #define MX6SX_PAD_ENET1_TX_CLK__UART1_DTR_B 0x0090 0x03D8 0x0000 0x3 0x0 | ||
314 | #define MX6SX_PAD_ENET1_TX_CLK__SPDIF_SR_CLK 0x0090 0x03D8 0x0000 0x4 0x0 | ||
315 | #define MX6SX_PAD_ENET1_TX_CLK__GPIO2_IO_5 0x0090 0x03D8 0x0000 0x5 0x0 | ||
316 | #define MX6SX_PAD_ENET1_TX_CLK__CSI2_DATA_20 0x0090 0x03D8 0x0000 0x6 0x0 | ||
317 | #define MX6SX_PAD_ENET1_TX_CLK__LCDIF2_DATA_19 0x0090 0x03D8 0x0000 0x7 0x0 | ||
318 | #define MX6SX_PAD_ENET1_TX_CLK__VDEC_DEBUG_34 0x0090 0x03D8 0x0000 0x8 0x0 | ||
319 | #define MX6SX_PAD_ENET1_TX_CLK__PCIE_CTRL_DEBUG_28 0x0090 0x03D8 0x0000 0x9 0x0 | ||
320 | #define MX6SX_PAD_ENET2_COL__ENET2_COL 0x0094 0x03DC 0x0000 0x0 0x0 | ||
321 | #define MX6SX_PAD_ENET2_COL__ENET1_MDC 0x0094 0x03DC 0x0000 0x1 0x0 | ||
322 | #define MX6SX_PAD_ENET2_COL__AUDMUX_AUD4_RXC 0x0094 0x03DC 0x064C 0x2 0x1 | ||
323 | #define MX6SX_PAD_ENET2_COL__UART1_RX 0x0094 0x03DC 0x0830 0x3 0x2 | ||
324 | #define MX6SX_PAD_ENET2_COL__UART1_TX 0x0094 0x03DC 0x0000 0x3 0x0 | ||
325 | #define MX6SX_PAD_ENET2_COL__SPDIF_IN 0x0094 0x03DC 0x0824 0x4 0x3 | ||
326 | #define MX6SX_PAD_ENET2_COL__GPIO2_IO_6 0x0094 0x03DC 0x0000 0x5 0x0 | ||
327 | #define MX6SX_PAD_ENET2_COL__ANATOP_OTG1_ID 0x0094 0x03DC 0x0624 0x6 0x1 | ||
328 | #define MX6SX_PAD_ENET2_COL__LCDIF2_DATA_20 0x0094 0x03DC 0x0000 0x7 0x0 | ||
329 | #define MX6SX_PAD_ENET2_COL__VDEC_DEBUG_33 0x0094 0x03DC 0x0000 0x8 0x0 | ||
330 | #define MX6SX_PAD_ENET2_COL__PCIE_CTRL_DEBUG_27 0x0094 0x03DC 0x0000 0x9 0x0 | ||
331 | #define MX6SX_PAD_ENET2_CRS__ENET2_CRS 0x0098 0x03E0 0x0000 0x0 0x0 | ||
332 | #define MX6SX_PAD_ENET2_CRS__ENET1_MDIO 0x0098 0x03E0 0x0764 0x1 0x2 | ||
333 | #define MX6SX_PAD_ENET2_CRS__AUDMUX_AUD4_RXFS 0x0098 0x03E0 0x0650 0x2 0x1 | ||
334 | #define MX6SX_PAD_ENET2_CRS__UART1_RX 0x0098 0x03E0 0x0830 0x3 0x3 | ||
335 | #define MX6SX_PAD_ENET2_CRS__UART1_TX 0x0098 0x03E0 0x0000 0x3 0x0 | ||
336 | #define MX6SX_PAD_ENET2_CRS__MLB_SIG 0x0098 0x03E0 0x07F0 0x4 0x1 | ||
337 | #define MX6SX_PAD_ENET2_CRS__GPIO2_IO_7 0x0098 0x03E0 0x0000 0x5 0x0 | ||
338 | #define MX6SX_PAD_ENET2_CRS__ANATOP_OTG2_ID 0x0098 0x03E0 0x0628 0x6 0x1 | ||
339 | #define MX6SX_PAD_ENET2_CRS__LCDIF2_DATA_21 0x0098 0x03E0 0x0000 0x7 0x0 | ||
340 | #define MX6SX_PAD_ENET2_CRS__VDEC_DEBUG_32 0x0098 0x03E0 0x0000 0x8 0x0 | ||
341 | #define MX6SX_PAD_ENET2_CRS__PCIE_CTRL_DEBUG_26 0x0098 0x03E0 0x0000 0x9 0x0 | ||
342 | #define MX6SX_PAD_ENET2_RX_CLK__ENET2_RX_CLK 0x009C 0x03E4 0x0774 0x0 0x0 | ||
343 | #define MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M 0x009C 0x03E4 0x0000 0x1 0x0 | ||
344 | #define MX6SX_PAD_ENET2_RX_CLK__I2C3_SCL 0x009C 0x03E4 0x07B8 0x2 0x1 | ||
345 | #define MX6SX_PAD_ENET2_RX_CLK__UART1_RTS_B 0x009C 0x03E4 0x082C 0x3 0x2 | ||
346 | #define MX6SX_PAD_ENET2_RX_CLK__MLB_DATA 0x009C 0x03E4 0x07EC 0x4 0x1 | ||
347 | #define MX6SX_PAD_ENET2_RX_CLK__GPIO2_IO_8 0x009C 0x03E4 0x0000 0x5 0x0 | ||
348 | #define MX6SX_PAD_ENET2_RX_CLK__USB_OTG2_OC 0x009C 0x03E4 0x085C 0x6 0x1 | ||
349 | #define MX6SX_PAD_ENET2_RX_CLK__LCDIF2_DATA_22 0x009C 0x03E4 0x0000 0x7 0x0 | ||
350 | #define MX6SX_PAD_ENET2_RX_CLK__VDEC_DEBUG_31 0x009C 0x03E4 0x0000 0x8 0x0 | ||
351 | #define MX6SX_PAD_ENET2_RX_CLK__PCIE_CTRL_DEBUG_25 0x009C 0x03E4 0x0000 0x9 0x0 | ||
352 | #define MX6SX_PAD_ENET2_TX_CLK__ENET2_TX_CLK 0x00A0 0x03E8 0x0000 0x0 0x0 | ||
353 | #define MX6SX_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x00A0 0x03E8 0x076C 0x1 0x1 | ||
354 | #define MX6SX_PAD_ENET2_TX_CLK__I2C3_SDA 0x00A0 0x03E8 0x07BC 0x2 0x1 | ||
355 | #define MX6SX_PAD_ENET2_TX_CLK__UART1_CTS_B 0x00A0 0x03E8 0x082C 0x3 0x3 | ||
356 | #define MX6SX_PAD_ENET2_TX_CLK__MLB_CLK 0x00A0 0x03E8 0x07E8 0x4 0x1 | ||
357 | #define MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9 0x00A0 0x03E8 0x0000 0x5 0x0 | ||
358 | #define MX6SX_PAD_ENET2_TX_CLK__USB_OTG2_PWR 0x00A0 0x03E8 0x0000 0x6 0x0 | ||
359 | #define MX6SX_PAD_ENET2_TX_CLK__LCDIF2_DATA_23 0x00A0 0x03E8 0x0000 0x7 0x0 | ||
360 | #define MX6SX_PAD_ENET2_TX_CLK__VDEC_DEBUG_30 0x00A0 0x03E8 0x0000 0x8 0x0 | ||
361 | #define MX6SX_PAD_ENET2_TX_CLK__PCIE_CTRL_DEBUG_24 0x00A0 0x03E8 0x0000 0x9 0x0 | ||
362 | #define MX6SX_PAD_KEY_COL0__KPP_COL_0 0x00A4 0x03EC 0x0000 0x0 0x0 | ||
363 | #define MX6SX_PAD_KEY_COL0__USDHC3_CD_B 0x00A4 0x03EC 0x0000 0x1 0x0 | ||
364 | #define MX6SX_PAD_KEY_COL0__UART6_RTS_B 0x00A4 0x03EC 0x0854 0x2 0x2 | ||
365 | #define MX6SX_PAD_KEY_COL0__ECSPI1_SCLK 0x00A4 0x03EC 0x0710 0x3 0x0 | ||
366 | #define MX6SX_PAD_KEY_COL0__AUDMUX_AUD5_TXC 0x00A4 0x03EC 0x066C 0x4 0x0 | ||
367 | #define MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x00A4 0x03EC 0x0000 0x5 0x0 | ||
368 | #define MX6SX_PAD_KEY_COL0__SDMA_EXT_EVENT_1 0x00A4 0x03EC 0x0820 0x6 0x1 | ||
369 | #define MX6SX_PAD_KEY_COL0__SAI2_TX_BCLK 0x00A4 0x03EC 0x0814 0x7 0x0 | ||
370 | #define MX6SX_PAD_KEY_COL0__VADC_DATA_0 0x00A4 0x03EC 0x0000 0x8 0x0 | ||
371 | #define MX6SX_PAD_KEY_COL1__KPP_COL_1 0x00A8 0x03F0 0x0000 0x0 0x0 | ||
372 | #define MX6SX_PAD_KEY_COL1__USDHC3_RESET_B 0x00A8 0x03F0 0x0000 0x1 0x0 | ||
373 | #define MX6SX_PAD_KEY_COL1__UART6_RX 0x00A8 0x03F0 0x0858 0x2 0x2 | ||
374 | #define MX6SX_PAD_KEY_COL1__UART6_TX 0x00A8 0x03F0 0x0000 0x2 0x0 | ||
375 | #define MX6SX_PAD_KEY_COL1__ECSPI1_MISO 0x00A8 0x03F0 0x0714 0x3 0x0 | ||
376 | #define MX6SX_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 0x00A8 0x03F0 0x0670 0x4 0x0 | ||
377 | #define MX6SX_PAD_KEY_COL1__GPIO2_IO_11 0x00A8 0x03F0 0x0000 0x5 0x0 | ||
378 | #define MX6SX_PAD_KEY_COL1__USDHC3_RESET 0x00A8 0x03F0 0x0000 0x6 0x0 | ||
379 | #define MX6SX_PAD_KEY_COL1__SAI2_TX_SYNC 0x00A8 0x03F0 0x0818 0x7 0x0 | ||
380 | #define MX6SX_PAD_KEY_COL2__KPP_COL_2 0x00AC 0x03F4 0x0000 0x0 0x0 | ||
381 | #define MX6SX_PAD_KEY_COL2__USDHC4_CD_B 0x00AC 0x03F4 0x0874 0x1 0x1 | ||
382 | #define MX6SX_PAD_KEY_COL2__UART5_RTS_B 0x00AC 0x03F4 0x084C 0x2 0x2 | ||
383 | #define MX6SX_PAD_KEY_COL2__CAN1_TX 0x00AC 0x03F4 0x0000 0x3 0x0 | ||
384 | #define MX6SX_PAD_KEY_COL2__CANFD_TX1 0x00AC 0x03F4 0x0000 0x4 0x0 | ||
385 | #define MX6SX_PAD_KEY_COL2__GPIO2_IO_12 0x00AC 0x03F4 0x0000 0x5 0x0 | ||
386 | #define MX6SX_PAD_KEY_COL2__WEIM_DATA_30 0x00AC 0x03F4 0x0000 0x6 0x0 | ||
387 | #define MX6SX_PAD_KEY_COL2__ECSPI1_RDY 0x00AC 0x03F4 0x0000 0x7 0x0 | ||
388 | #define MX6SX_PAD_KEY_COL3__KPP_COL_3 0x00B0 0x03F8 0x0000 0x0 0x0 | ||
389 | #define MX6SX_PAD_KEY_COL3__USDHC4_LCTL 0x00B0 0x03F8 0x0000 0x1 0x0 | ||
390 | #define MX6SX_PAD_KEY_COL3__UART5_RX 0x00B0 0x03F8 0x0850 0x2 0x2 | ||
391 | #define MX6SX_PAD_KEY_COL3__UART5_TX 0x00B0 0x03F8 0x0000 0x2 0x0 | ||
392 | #define MX6SX_PAD_KEY_COL3__CAN2_TX 0x00B0 0x03F8 0x0000 0x3 0x0 | ||
393 | #define MX6SX_PAD_KEY_COL3__CANFD_TX2 0x00B0 0x03F8 0x0000 0x4 0x0 | ||
394 | #define MX6SX_PAD_KEY_COL3__GPIO2_IO_13 0x00B0 0x03F8 0x0000 0x5 0x0 | ||
395 | #define MX6SX_PAD_KEY_COL3__WEIM_DATA_28 0x00B0 0x03F8 0x0000 0x6 0x0 | ||
396 | #define MX6SX_PAD_KEY_COL3__ECSPI1_SS2 0x00B0 0x03F8 0x0000 0x7 0x0 | ||
397 | #define MX6SX_PAD_KEY_COL4__KPP_COL_4 0x00B4 0x03FC 0x0000 0x0 0x0 | ||
398 | #define MX6SX_PAD_KEY_COL4__ENET2_MDC 0x00B4 0x03FC 0x0000 0x1 0x0 | ||
399 | #define MX6SX_PAD_KEY_COL4__I2C3_SCL 0x00B4 0x03FC 0x07B8 0x2 0x2 | ||
400 | #define MX6SX_PAD_KEY_COL4__USDHC2_LCTL 0x00B4 0x03FC 0x0000 0x3 0x0 | ||
401 | #define MX6SX_PAD_KEY_COL4__AUDMUX_AUD5_RXC 0x00B4 0x03FC 0x0664 0x4 0x0 | ||
402 | #define MX6SX_PAD_KEY_COL4__GPIO2_IO_14 0x00B4 0x03FC 0x0000 0x5 0x0 | ||
403 | #define MX6SX_PAD_KEY_COL4__WEIM_CRE 0x00B4 0x03FC 0x0000 0x6 0x0 | ||
404 | #define MX6SX_PAD_KEY_COL4__SAI2_RX_BCLK 0x00B4 0x03FC 0x0808 0x7 0x0 | ||
405 | #define MX6SX_PAD_KEY_ROW0__KPP_ROW_0 0x00B8 0x0400 0x0000 0x0 0x0 | ||
406 | #define MX6SX_PAD_KEY_ROW0__USDHC3_WP 0x00B8 0x0400 0x0000 0x1 0x0 | ||
407 | #define MX6SX_PAD_KEY_ROW0__UART6_CTS_B 0x00B8 0x0400 0x0854 0x2 0x3 | ||
408 | #define MX6SX_PAD_KEY_ROW0__ECSPI1_MOSI 0x00B8 0x0400 0x0718 0x3 0x0 | ||
409 | #define MX6SX_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 0x00B8 0x0400 0x0660 0x4 0x0 | ||
410 | #define MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x00B8 0x0400 0x0000 0x5 0x0 | ||
411 | #define MX6SX_PAD_KEY_ROW0__SDMA_EXT_EVENT_0 0x00B8 0x0400 0x081C 0x6 0x1 | ||
412 | #define MX6SX_PAD_KEY_ROW0__SAI2_TX_DATA_0 0x00B8 0x0400 0x0000 0x7 0x0 | ||
413 | #define MX6SX_PAD_KEY_ROW0__GPU_IDLE 0x00B8 0x0400 0x0000 0x8 0x0 | ||
414 | #define MX6SX_PAD_KEY_ROW1__KPP_ROW_1 0x00BC 0x0404 0x0000 0x0 0x0 | ||
415 | #define MX6SX_PAD_KEY_ROW1__USDHC4_VSELECT 0x00BC 0x0404 0x0000 0x1 0x0 | ||
416 | #define MX6SX_PAD_KEY_ROW1__UART6_RX 0x00BC 0x0404 0x0858 0x2 0x3 | ||
417 | #define MX6SX_PAD_KEY_ROW1__UART6_TX 0x00BC 0x0404 0x0000 0x2 0x0 | ||
418 | #define MX6SX_PAD_KEY_ROW1__ECSPI1_SS0 0x00BC 0x0404 0x071C 0x3 0x0 | ||
419 | #define MX6SX_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 0x00BC 0x0404 0x065C 0x4 0x0 | ||
420 | #define MX6SX_PAD_KEY_ROW1__GPIO2_IO_16 0x00BC 0x0404 0x0000 0x5 0x0 | ||
421 | #define MX6SX_PAD_KEY_ROW1__WEIM_DATA_31 0x00BC 0x0404 0x0000 0x6 0x0 | ||
422 | #define MX6SX_PAD_KEY_ROW1__SAI2_RX_DATA_0 0x00BC 0x0404 0x080C 0x7 0x0 | ||
423 | #define MX6SX_PAD_KEY_ROW1__M4_NMI 0x00BC 0x0404 0x0000 0x8 0x0 | ||
424 | #define MX6SX_PAD_KEY_ROW2__KPP_ROW_2 0x00C0 0x0408 0x0000 0x0 0x0 | ||
425 | #define MX6SX_PAD_KEY_ROW2__USDHC4_WP 0x00C0 0x0408 0x0878 0x1 0x1 | ||
426 | #define MX6SX_PAD_KEY_ROW2__UART5_CTS_B 0x00C0 0x0408 0x084C 0x2 0x3 | ||
427 | #define MX6SX_PAD_KEY_ROW2__CAN1_RX 0x00C0 0x0408 0x068C 0x3 0x1 | ||
428 | #define MX6SX_PAD_KEY_ROW2__CANFD_RX1 0x00C0 0x0408 0x0694 0x4 0x1 | ||
429 | #define MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x00C0 0x0408 0x0000 0x5 0x0 | ||
430 | #define MX6SX_PAD_KEY_ROW2__WEIM_DATA_29 0x00C0 0x0408 0x0000 0x6 0x0 | ||
431 | #define MX6SX_PAD_KEY_ROW2__ECSPI1_SS3 0x00C0 0x0408 0x0000 0x7 0x0 | ||
432 | #define MX6SX_PAD_KEY_ROW3__KPP_ROW_3 0x00C4 0x040C 0x0000 0x0 0x0 | ||
433 | #define MX6SX_PAD_KEY_ROW3__USDHC3_LCTL 0x00C4 0x040C 0x0000 0x1 0x0 | ||
434 | #define MX6SX_PAD_KEY_ROW3__UART5_RX 0x00C4 0x040C 0x0850 0x2 0x3 | ||
435 | #define MX6SX_PAD_KEY_ROW3__UART5_TX 0x00C4 0x040C 0x0000 0x2 0x0 | ||
436 | #define MX6SX_PAD_KEY_ROW3__CAN2_RX 0x00C4 0x040C 0x0690 0x3 0x1 | ||
437 | #define MX6SX_PAD_KEY_ROW3__CANFD_RX2 0x00C4 0x040C 0x0698 0x4 0x1 | ||
438 | #define MX6SX_PAD_KEY_ROW3__GPIO2_IO_18 0x00C4 0x040C 0x0000 0x5 0x0 | ||
439 | #define MX6SX_PAD_KEY_ROW3__WEIM_DTACK_B 0x00C4 0x040C 0x0000 0x6 0x0 | ||
440 | #define MX6SX_PAD_KEY_ROW3__ECSPI1_SS1 0x00C4 0x040C 0x0000 0x7 0x0 | ||
441 | #define MX6SX_PAD_KEY_ROW4__KPP_ROW_4 0x00C8 0x0410 0x0000 0x0 0x0 | ||
442 | #define MX6SX_PAD_KEY_ROW4__ENET2_MDIO 0x00C8 0x0410 0x0770 0x1 0x3 | ||
443 | #define MX6SX_PAD_KEY_ROW4__I2C3_SDA 0x00C8 0x0410 0x07BC 0x2 0x2 | ||
444 | #define MX6SX_PAD_KEY_ROW4__USDHC1_LCTL 0x00C8 0x0410 0x0000 0x3 0x0 | ||
445 | #define MX6SX_PAD_KEY_ROW4__AUDMUX_AUD5_RXFS 0x00C8 0x0410 0x0668 0x4 0x0 | ||
446 | #define MX6SX_PAD_KEY_ROW4__GPIO2_IO_19 0x00C8 0x0410 0x0000 0x5 0x0 | ||
447 | #define MX6SX_PAD_KEY_ROW4__WEIM_ACLK_FREERUN 0x00C8 0x0410 0x0000 0x6 0x0 | ||
448 | #define MX6SX_PAD_KEY_ROW4__SAI2_RX_SYNC 0x00C8 0x0410 0x0810 0x7 0x0 | ||
449 | #define MX6SX_PAD_LCD1_CLK__LCDIF1_CLK 0x00CC 0x0414 0x0000 0x0 0x0 | ||
450 | #define MX6SX_PAD_LCD1_CLK__LCDIF1_WR_RWN 0x00CC 0x0414 0x0000 0x1 0x0 | ||
451 | #define MX6SX_PAD_LCD1_CLK__AUDMUX_AUD3_RXC 0x00CC 0x0414 0x0634 0x2 0x1 | ||
452 | #define MX6SX_PAD_LCD1_CLK__ENET1_1588_EVENT2_IN 0x00CC 0x0414 0x0000 0x3 0x0 | ||
453 | #define MX6SX_PAD_LCD1_CLK__CSI1_DATA_16 0x00CC 0x0414 0x06DC 0x4 0x0 | ||
454 | #define MX6SX_PAD_LCD1_CLK__GPIO3_IO_0 0x00CC 0x0414 0x0000 0x5 0x0 | ||
455 | #define MX6SX_PAD_LCD1_CLK__USDHC1_WP 0x00CC 0x0414 0x0868 0x6 0x0 | ||
456 | #define MX6SX_PAD_LCD1_CLK__SIM_M_HADDR_16 0x00CC 0x0414 0x0000 0x7 0x0 | ||
457 | #define MX6SX_PAD_LCD1_CLK__VADC_TEST_0 0x00CC 0x0414 0x0000 0x8 0x0 | ||
458 | #define MX6SX_PAD_LCD1_CLK__MMDC_DEBUG_0 0x00CC 0x0414 0x0000 0x9 0x0 | ||
459 | #define MX6SX_PAD_LCD1_DATA00__LCDIF1_DATA_0 0x00D0 0x0418 0x0000 0x0 0x0 | ||
460 | #define MX6SX_PAD_LCD1_DATA00__WEIM_CS1_B 0x00D0 0x0418 0x0000 0x1 0x0 | ||
461 | #define MX6SX_PAD_LCD1_DATA00__M4_TRACE_0 0x00D0 0x0418 0x0000 0x2 0x0 | ||
462 | #define MX6SX_PAD_LCD1_DATA00__KITTEN_TRACE_0 0x00D0 0x0418 0x0000 0x3 0x0 | ||
463 | #define MX6SX_PAD_LCD1_DATA00__CSI1_DATA_20 0x00D0 0x0418 0x06EC 0x4 0x0 | ||
464 | #define MX6SX_PAD_LCD1_DATA00__GPIO3_IO_1 0x00D0 0x0418 0x0000 0x5 0x0 | ||
465 | #define MX6SX_PAD_LCD1_DATA00__SRC_BT_CFG_0 0x00D0 0x0418 0x0000 0x6 0x0 | ||
466 | #define MX6SX_PAD_LCD1_DATA00__SIM_M_HADDR_21 0x00D0 0x0418 0x0000 0x7 0x0 | ||
467 | #define MX6SX_PAD_LCD1_DATA00__VADC_TEST_5 0x00D0 0x0418 0x0000 0x8 0x0 | ||
468 | #define MX6SX_PAD_LCD1_DATA00__MMDC_DEBUG_5 0x00D0 0x0418 0x0000 0x9 0x0 | ||
469 | #define MX6SX_PAD_LCD1_DATA01__LCDIF1_DATA_1 0x00D4 0x041C 0x0000 0x0 0x0 | ||
470 | #define MX6SX_PAD_LCD1_DATA01__WEIM_CS2_B 0x00D4 0x041C 0x0000 0x1 0x0 | ||
471 | #define MX6SX_PAD_LCD1_DATA01__M4_TRACE_1 0x00D4 0x041C 0x0000 0x2 0x0 | ||
472 | #define MX6SX_PAD_LCD1_DATA01__KITTEN_TRACE_1 0x00D4 0x041C 0x0000 0x3 0x0 | ||
473 | #define MX6SX_PAD_LCD1_DATA01__CSI1_DATA_21 0x00D4 0x041C 0x06F0 0x4 0x0 | ||
474 | #define MX6SX_PAD_LCD1_DATA01__GPIO3_IO_2 0x00D4 0x041C 0x0000 0x5 0x0 | ||
475 | #define MX6SX_PAD_LCD1_DATA01__SRC_BT_CFG_1 0x00D4 0x041C 0x0000 0x6 0x0 | ||
476 | #define MX6SX_PAD_LCD1_DATA01__SIM_M_HADDR_22 0x00D4 0x041C 0x0000 0x7 0x0 | ||
477 | #define MX6SX_PAD_LCD1_DATA01__VADC_TEST_6 0x00D4 0x041C 0x0000 0x8 0x0 | ||
478 | #define MX6SX_PAD_LCD1_DATA01__MMDC_DEBUG_6 0x00D4 0x041C 0x0000 0x9 0x0 | ||
479 | #define MX6SX_PAD_LCD1_DATA02__LCDIF1_DATA_2 0x00D8 0x0420 0x0000 0x0 0x0 | ||
480 | #define MX6SX_PAD_LCD1_DATA02__WEIM_CS3_B 0x00D8 0x0420 0x0000 0x1 0x0 | ||
481 | #define MX6SX_PAD_LCD1_DATA02__M4_TRACE_2 0x00D8 0x0420 0x0000 0x2 0x0 | ||
482 | #define MX6SX_PAD_LCD1_DATA02__KITTEN_TRACE_2 0x00D8 0x0420 0x0000 0x3 0x0 | ||
483 | #define MX6SX_PAD_LCD1_DATA02__CSI1_DATA_22 0x00D8 0x0420 0x06F4 0x4 0x0 | ||
484 | #define MX6SX_PAD_LCD1_DATA02__GPIO3_IO_3 0x00D8 0x0420 0x0000 0x5 0x0 | ||
485 | #define MX6SX_PAD_LCD1_DATA02__SRC_BT_CFG_2 0x00D8 0x0420 0x0000 0x6 0x0 | ||
486 | #define MX6SX_PAD_LCD1_DATA02__SIM_M_HADDR_23 0x00D8 0x0420 0x0000 0x7 0x0 | ||
487 | #define MX6SX_PAD_LCD1_DATA02__VADC_TEST_7 0x00D8 0x0420 0x0000 0x8 0x0 | ||
488 | #define MX6SX_PAD_LCD1_DATA02__MMDC_DEBUG_7 0x00D8 0x0420 0x0000 0x9 0x0 | ||
489 | #define MX6SX_PAD_LCD1_DATA03__LCDIF1_DATA_3 0x00DC 0x0424 0x0000 0x0 0x0 | ||
490 | #define MX6SX_PAD_LCD1_DATA03__WEIM_ADDR_24 0x00DC 0x0424 0x0000 0x1 0x0 | ||
491 | #define MX6SX_PAD_LCD1_DATA03__M4_TRACE_3 0x00DC 0x0424 0x0000 0x2 0x0 | ||
492 | #define MX6SX_PAD_LCD1_DATA03__KITTEN_TRACE_3 0x00DC 0x0424 0x0000 0x3 0x0 | ||
493 | #define MX6SX_PAD_LCD1_DATA03__CSI1_DATA_23 0x00DC 0x0424 0x06F8 0x4 0x0 | ||
494 | #define MX6SX_PAD_LCD1_DATA03__GPIO3_IO_4 0x00DC 0x0424 0x0000 0x5 0x0 | ||
495 | #define MX6SX_PAD_LCD1_DATA03__SRC_BT_CFG_3 0x00DC 0x0424 0x0000 0x6 0x0 | ||
496 | #define MX6SX_PAD_LCD1_DATA03__SIM_M_HADDR_24 0x00DC 0x0424 0x0000 0x7 0x0 | ||
497 | #define MX6SX_PAD_LCD1_DATA03__VADC_TEST_8 0x00DC 0x0424 0x0000 0x8 0x0 | ||
498 | #define MX6SX_PAD_LCD1_DATA03__MMDC_DEBUG_8 0x00DC 0x0424 0x0000 0x9 0x0 | ||
499 | #define MX6SX_PAD_LCD1_DATA04__LCDIF1_DATA_4 0x00E0 0x0428 0x0000 0x0 0x0 | ||
500 | #define MX6SX_PAD_LCD1_DATA04__WEIM_ADDR_25 0x00E0 0x0428 0x0000 0x1 0x0 | ||
501 | #define MX6SX_PAD_LCD1_DATA04__KITTEN_TRACE_4 0x00E0 0x0428 0x0000 0x3 0x0 | ||
502 | #define MX6SX_PAD_LCD1_DATA04__CSI1_VSYNC 0x00E0 0x0428 0x0708 0x4 0x1 | ||
503 | #define MX6SX_PAD_LCD1_DATA04__GPIO3_IO_5 0x00E0 0x0428 0x0000 0x5 0x0 | ||
504 | #define MX6SX_PAD_LCD1_DATA04__SRC_BT_CFG_4 0x00E0 0x0428 0x0000 0x6 0x0 | ||
505 | #define MX6SX_PAD_LCD1_DATA04__SIM_M_HADDR_25 0x00E0 0x0428 0x0000 0x7 0x0 | ||
506 | #define MX6SX_PAD_LCD1_DATA04__VADC_TEST_9 0x00E0 0x0428 0x0000 0x8 0x0 | ||
507 | #define MX6SX_PAD_LCD1_DATA04__MMDC_DEBUG_9 0x00E0 0x0428 0x0000 0x9 0x0 | ||
508 | #define MX6SX_PAD_LCD1_DATA05__LCDIF1_DATA_5 0x00E4 0x042C 0x0000 0x0 0x0 | ||
509 | #define MX6SX_PAD_LCD1_DATA05__WEIM_ADDR_26 0x00E4 0x042C 0x0000 0x1 0x0 | ||
510 | #define MX6SX_PAD_LCD1_DATA05__KITTEN_TRACE_5 0x00E4 0x042C 0x0000 0x3 0x0 | ||
511 | #define MX6SX_PAD_LCD1_DATA05__CSI1_HSYNC 0x00E4 0x042C 0x0700 0x4 0x1 | ||
512 | #define MX6SX_PAD_LCD1_DATA05__GPIO3_IO_6 0x00E4 0x042C 0x0000 0x5 0x0 | ||
513 | #define MX6SX_PAD_LCD1_DATA05__SRC_BT_CFG_5 0x00E4 0x042C 0x0000 0x6 0x0 | ||
514 | #define MX6SX_PAD_LCD1_DATA05__SIM_M_HADDR_26 0x00E4 0x042C 0x0000 0x7 0x0 | ||
515 | #define MX6SX_PAD_LCD1_DATA05__VADC_TEST_10 0x00E4 0x042C 0x0000 0x8 0x0 | ||
516 | #define MX6SX_PAD_LCD1_DATA05__MMDC_DEBUG_10 0x00E4 0x042C 0x0000 0x9 0x0 | ||
517 | #define MX6SX_PAD_LCD1_DATA06__LCDIF1_DATA_6 0x00E8 0x0430 0x0000 0x0 0x0 | ||
518 | #define MX6SX_PAD_LCD1_DATA06__WEIM_EB_B_2 0x00E8 0x0430 0x0000 0x1 0x0 | ||
519 | #define MX6SX_PAD_LCD1_DATA06__KITTEN_TRACE_6 0x00E8 0x0430 0x0000 0x3 0x0 | ||
520 | #define MX6SX_PAD_LCD1_DATA06__CSI1_PIXCLK 0x00E8 0x0430 0x0704 0x4 0x1 | ||
521 | #define MX6SX_PAD_LCD1_DATA06__GPIO3_IO_7 0x00E8 0x0430 0x0000 0x5 0x0 | ||
522 | #define MX6SX_PAD_LCD1_DATA06__SRC_BT_CFG_6 0x00E8 0x0430 0x0000 0x6 0x0 | ||
523 | #define MX6SX_PAD_LCD1_DATA06__SIM_M_HADDR_27 0x00E8 0x0430 0x0000 0x7 0x0 | ||
524 | #define MX6SX_PAD_LCD1_DATA06__VADC_TEST_11 0x00E8 0x0430 0x0000 0x8 0x0 | ||
525 | #define MX6SX_PAD_LCD1_DATA06__MMDC_DEBUG_11 0x00E8 0x0430 0x0000 0x9 0x0 | ||
526 | #define MX6SX_PAD_LCD1_DATA07__LCDIF1_DATA_7 0x00EC 0x0434 0x0000 0x0 0x0 | ||
527 | #define MX6SX_PAD_LCD1_DATA07__WEIM_EB_B_3 0x00EC 0x0434 0x0000 0x1 0x0 | ||
528 | #define MX6SX_PAD_LCD1_DATA07__KITTEN_TRACE_7 0x00EC 0x0434 0x0000 0x3 0x0 | ||
529 | #define MX6SX_PAD_LCD1_DATA07__CSI1_MCLK 0x00EC 0x0434 0x0000 0x4 0x0 | ||
530 | #define MX6SX_PAD_LCD1_DATA07__GPIO3_IO_8 0x00EC 0x0434 0x0000 0x5 0x0 | ||
531 | #define MX6SX_PAD_LCD1_DATA07__SRC_BT_CFG_7 0x00EC 0x0434 0x0000 0x6 0x0 | ||
532 | #define MX6SX_PAD_LCD1_DATA07__SIM_M_HADDR_28 0x00EC 0x0434 0x0000 0x7 0x0 | ||
533 | #define MX6SX_PAD_LCD1_DATA07__VADC_TEST_12 0x00EC 0x0434 0x0000 0x8 0x0 | ||
534 | #define MX6SX_PAD_LCD1_DATA07__MMDC_DEBUG_12 0x00EC 0x0434 0x0000 0x9 0x0 | ||
535 | #define MX6SX_PAD_LCD1_DATA08__LCDIF1_DATA_8 0x00F0 0x0438 0x0000 0x0 0x0 | ||
536 | #define MX6SX_PAD_LCD1_DATA08__WEIM_AD_8 0x00F0 0x0438 0x0000 0x1 0x0 | ||
537 | #define MX6SX_PAD_LCD1_DATA08__KITTEN_TRACE_8 0x00F0 0x0438 0x0000 0x3 0x0 | ||
538 | #define MX6SX_PAD_LCD1_DATA08__CSI1_DATA_9 0x00F0 0x0438 0x06C4 0x4 0x1 | ||
539 | #define MX6SX_PAD_LCD1_DATA08__GPIO3_IO_9 0x00F0 0x0438 0x0000 0x5 0x0 | ||
540 | #define MX6SX_PAD_LCD1_DATA08__SRC_BT_CFG_8 0x00F0 0x0438 0x0000 0x6 0x0 | ||
541 | #define MX6SX_PAD_LCD1_DATA08__SIM_M_HADDR_29 0x00F0 0x0438 0x0000 0x7 0x0 | ||
542 | #define MX6SX_PAD_LCD1_DATA08__VADC_TEST_13 0x00F0 0x0438 0x0000 0x8 0x0 | ||
543 | #define MX6SX_PAD_LCD1_DATA08__MMDC_DEBUG_13 0x00F0 0x0438 0x0000 0x9 0x0 | ||
544 | #define MX6SX_PAD_LCD1_DATA09__LCDIF1_DATA_9 0x00F4 0x043C 0x0000 0x0 0x0 | ||
545 | #define MX6SX_PAD_LCD1_DATA09__WEIM_AD_9 0x00F4 0x043C 0x0000 0x1 0x0 | ||
546 | #define MX6SX_PAD_LCD1_DATA09__KITTEN_TRACE_9 0x00F4 0x043C 0x0000 0x3 0x0 | ||
547 | #define MX6SX_PAD_LCD1_DATA09__CSI1_DATA_8 0x00F4 0x043C 0x06C0 0x4 0x1 | ||
548 | #define MX6SX_PAD_LCD1_DATA09__GPIO3_IO_10 0x00F4 0x043C 0x0000 0x5 0x0 | ||
549 | #define MX6SX_PAD_LCD1_DATA09__SRC_BT_CFG_9 0x00F4 0x043C 0x0000 0x6 0x0 | ||
550 | #define MX6SX_PAD_LCD1_DATA09__SIM_M_HADDR_30 0x00F4 0x043C 0x0000 0x7 0x0 | ||
551 | #define MX6SX_PAD_LCD1_DATA09__VADC_TEST_14 0x00F4 0x043C 0x0000 0x8 0x0 | ||
552 | #define MX6SX_PAD_LCD1_DATA09__MMDC_DEBUG_14 0x00F4 0x043C 0x0000 0x9 0x0 | ||
553 | #define MX6SX_PAD_LCD1_DATA10__LCDIF1_DATA_10 0x00F8 0x0440 0x0000 0x0 0x0 | ||
554 | #define MX6SX_PAD_LCD1_DATA10__WEIM_AD_10 0x00F8 0x0440 0x0000 0x1 0x0 | ||
555 | #define MX6SX_PAD_LCD1_DATA10__KITTEN_TRACE_10 0x00F8 0x0440 0x0000 0x3 0x0 | ||
556 | #define MX6SX_PAD_LCD1_DATA10__CSI1_DATA_7 0x00F8 0x0440 0x06BC 0x4 0x1 | ||
557 | #define MX6SX_PAD_LCD1_DATA10__GPIO3_IO_11 0x00F8 0x0440 0x0000 0x5 0x0 | ||
558 | #define MX6SX_PAD_LCD1_DATA10__SRC_BT_CFG_10 0x00F8 0x0440 0x0000 0x6 0x0 | ||
559 | #define MX6SX_PAD_LCD1_DATA10__SIM_M_HADDR_31 0x00F8 0x0440 0x0000 0x7 0x0 | ||
560 | #define MX6SX_PAD_LCD1_DATA10__VADC_TEST_15 0x00F8 0x0440 0x0000 0x8 0x0 | ||
561 | #define MX6SX_PAD_LCD1_DATA10__MMDC_DEBUG_15 0x00F8 0x0440 0x0000 0x9 0x0 | ||
562 | #define MX6SX_PAD_LCD1_DATA11__LCDIF1_DATA_11 0x00FC 0x0444 0x0000 0x0 0x0 | ||
563 | #define MX6SX_PAD_LCD1_DATA11__WEIM_AD_11 0x00FC 0x0444 0x0000 0x1 0x0 | ||
564 | #define MX6SX_PAD_LCD1_DATA11__KITTEN_TRACE_11 0x00FC 0x0444 0x0000 0x3 0x0 | ||
565 | #define MX6SX_PAD_LCD1_DATA11__CSI1_DATA_6 0x00FC 0x0444 0x06B8 0x4 0x1 | ||
566 | #define MX6SX_PAD_LCD1_DATA11__GPIO3_IO_12 0x00FC 0x0444 0x0000 0x5 0x0 | ||
567 | #define MX6SX_PAD_LCD1_DATA11__SRC_BT_CFG_11 0x00FC 0x0444 0x0000 0x6 0x0 | ||
568 | #define MX6SX_PAD_LCD1_DATA11__SIM_M_HBURST_0 0x00FC 0x0444 0x0000 0x7 0x0 | ||
569 | #define MX6SX_PAD_LCD1_DATA11__VADC_TEST_16 0x00FC 0x0444 0x0000 0x8 0x0 | ||
570 | #define MX6SX_PAD_LCD1_DATA11__MMDC_DEBUG_16 0x00FC 0x0444 0x0000 0x9 0x0 | ||
571 | #define MX6SX_PAD_LCD1_DATA12__LCDIF1_DATA_12 0x0100 0x0448 0x0000 0x0 0x0 | ||
572 | #define MX6SX_PAD_LCD1_DATA12__WEIM_AD_12 0x0100 0x0448 0x0000 0x1 0x0 | ||
573 | #define MX6SX_PAD_LCD1_DATA12__KITTEN_TRACE_12 0x0100 0x0448 0x0000 0x3 0x0 | ||
574 | #define MX6SX_PAD_LCD1_DATA12__CSI1_DATA_5 0x0100 0x0448 0x06B4 0x4 0x1 | ||
575 | #define MX6SX_PAD_LCD1_DATA12__GPIO3_IO_13 0x0100 0x0448 0x0000 0x5 0x0 | ||
576 | #define MX6SX_PAD_LCD1_DATA12__SRC_BT_CFG_12 0x0100 0x0448 0x0000 0x6 0x0 | ||
577 | #define MX6SX_PAD_LCD1_DATA12__SIM_M_HBURST_1 0x0100 0x0448 0x0000 0x7 0x0 | ||
578 | #define MX6SX_PAD_LCD1_DATA12__VADC_TEST_17 0x0100 0x0448 0x0000 0x8 0x0 | ||
579 | #define MX6SX_PAD_LCD1_DATA12__MMDC_DEBUG_17 0x0100 0x0448 0x0000 0x9 0x0 | ||
580 | #define MX6SX_PAD_LCD1_DATA13__LCDIF1_DATA_13 0x0104 0x044C 0x0000 0x0 0x0 | ||
581 | #define MX6SX_PAD_LCD1_DATA13__WEIM_AD_13 0x0104 0x044C 0x0000 0x1 0x0 | ||
582 | #define MX6SX_PAD_LCD1_DATA13__KITTEN_TRACE_13 0x0104 0x044C 0x0000 0x3 0x0 | ||
583 | #define MX6SX_PAD_LCD1_DATA13__CSI1_DATA_4 0x0104 0x044C 0x06B0 0x4 0x1 | ||
584 | #define MX6SX_PAD_LCD1_DATA13__GPIO3_IO_14 0x0104 0x044C 0x0000 0x5 0x0 | ||
585 | #define MX6SX_PAD_LCD1_DATA13__SRC_BT_CFG_13 0x0104 0x044C 0x0000 0x6 0x0 | ||
586 | #define MX6SX_PAD_LCD1_DATA13__SIM_M_HBURST_2 0x0104 0x044C 0x0000 0x7 0x0 | ||
587 | #define MX6SX_PAD_LCD1_DATA13__VADC_TEST_18 0x0104 0x044C 0x0000 0x8 0x0 | ||
588 | #define MX6SX_PAD_LCD1_DATA13__MMDC_DEBUG_18 0x0104 0x044C 0x0000 0x9 0x0 | ||
589 | #define MX6SX_PAD_LCD1_DATA14__LCDIF1_DATA_14 0x0108 0x0450 0x0000 0x0 0x0 | ||
590 | #define MX6SX_PAD_LCD1_DATA14__WEIM_AD_14 0x0108 0x0450 0x0000 0x1 0x0 | ||
591 | #define MX6SX_PAD_LCD1_DATA14__KITTEN_TRACE_14 0x0108 0x0450 0x0000 0x3 0x0 | ||
592 | #define MX6SX_PAD_LCD1_DATA14__CSI1_DATA_3 0x0108 0x0450 0x06AC 0x4 0x1 | ||
593 | #define MX6SX_PAD_LCD1_DATA14__GPIO3_IO_15 0x0108 0x0450 0x0000 0x5 0x0 | ||
594 | #define MX6SX_PAD_LCD1_DATA14__SRC_BT_CFG_14 0x0108 0x0450 0x0000 0x6 0x0 | ||
595 | #define MX6SX_PAD_LCD1_DATA14__SIM_M_HMASTLOCK 0x0108 0x0450 0x0000 0x7 0x0 | ||
596 | #define MX6SX_PAD_LCD1_DATA14__VADC_TEST_19 0x0108 0x0450 0x0000 0x8 0x0 | ||
597 | #define MX6SX_PAD_LCD1_DATA14__MMDC_DEBUG_19 0x0108 0x0450 0x0000 0x9 0x0 | ||
598 | #define MX6SX_PAD_LCD1_DATA15__LCDIF1_DATA_15 0x010C 0x0454 0x0000 0x0 0x0 | ||
599 | #define MX6SX_PAD_LCD1_DATA15__WEIM_AD_15 0x010C 0x0454 0x0000 0x1 0x0 | ||
600 | #define MX6SX_PAD_LCD1_DATA15__KITTEN_TRACE_15 0x010C 0x0454 0x0000 0x3 0x0 | ||
601 | #define MX6SX_PAD_LCD1_DATA15__CSI1_DATA_2 0x010C 0x0454 0x06A8 0x4 0x1 | ||
602 | #define MX6SX_PAD_LCD1_DATA15__GPIO3_IO_16 0x010C 0x0454 0x0000 0x5 0x0 | ||
603 | #define MX6SX_PAD_LCD1_DATA15__SRC_BT_CFG_15 0x010C 0x0454 0x0000 0x6 0x0 | ||
604 | #define MX6SX_PAD_LCD1_DATA15__SIM_M_HPROT_0 0x010C 0x0454 0x0000 0x7 0x0 | ||
605 | #define MX6SX_PAD_LCD1_DATA15__VDEC_DEBUG_0 0x010C 0x0454 0x0000 0x8 0x0 | ||
606 | #define MX6SX_PAD_LCD1_DATA15__MMDC_DEBUG_20 0x010C 0x0454 0x0000 0x9 0x0 | ||
607 | #define MX6SX_PAD_LCD1_DATA16__LCDIF1_DATA_16 0x0110 0x0458 0x0000 0x0 0x0 | ||
608 | #define MX6SX_PAD_LCD1_DATA16__WEIM_ADDR_16 0x0110 0x0458 0x0000 0x1 0x0 | ||
609 | #define MX6SX_PAD_LCD1_DATA16__M4_TRACE_CLK 0x0110 0x0458 0x0000 0x2 0x0 | ||
610 | #define MX6SX_PAD_LCD1_DATA16__KITTEN_TRACE_CLK 0x0110 0x0458 0x0000 0x3 0x0 | ||
611 | #define MX6SX_PAD_LCD1_DATA16__CSI1_DATA_1 0x0110 0x0458 0x06A4 0x4 0x0 | ||
612 | #define MX6SX_PAD_LCD1_DATA16__GPIO3_IO_17 0x0110 0x0458 0x0000 0x5 0x0 | ||
613 | #define MX6SX_PAD_LCD1_DATA16__SRC_BT_CFG_24 0x0110 0x0458 0x0000 0x6 0x0 | ||
614 | #define MX6SX_PAD_LCD1_DATA16__SIM_M_HPROT_1 0x0110 0x0458 0x0000 0x7 0x0 | ||
615 | #define MX6SX_PAD_LCD1_DATA16__VDEC_DEBUG_1 0x0110 0x0458 0x0000 0x8 0x0 | ||
616 | #define MX6SX_PAD_LCD1_DATA16__MMDC_DEBUG_21 0x0110 0x0458 0x0000 0x9 0x0 | ||
617 | #define MX6SX_PAD_LCD1_DATA17__LCDIF1_DATA_17 0x0114 0x045C 0x0000 0x0 0x0 | ||
618 | #define MX6SX_PAD_LCD1_DATA17__WEIM_ADDR_17 0x0114 0x045C 0x0000 0x1 0x0 | ||
619 | #define MX6SX_PAD_LCD1_DATA17__KITTEN_TRACE_CTL 0x0114 0x045C 0x0000 0x3 0x0 | ||
620 | #define MX6SX_PAD_LCD1_DATA17__CSI1_DATA_0 0x0114 0x045C 0x06A0 0x4 0x0 | ||
621 | #define MX6SX_PAD_LCD1_DATA17__GPIO3_IO_18 0x0114 0x045C 0x0000 0x5 0x0 | ||
622 | #define MX6SX_PAD_LCD1_DATA17__SRC_BT_CFG_25 0x0114 0x045C 0x0000 0x6 0x0 | ||
623 | #define MX6SX_PAD_LCD1_DATA17__SIM_M_HPROT_2 0x0114 0x045C 0x0000 0x7 0x0 | ||
624 | #define MX6SX_PAD_LCD1_DATA17__VDEC_DEBUG_2 0x0114 0x045C 0x0000 0x8 0x0 | ||
625 | #define MX6SX_PAD_LCD1_DATA17__MMDC_DEBUG_22 0x0114 0x045C 0x0000 0x9 0x0 | ||
626 | #define MX6SX_PAD_LCD1_DATA18__LCDIF1_DATA_18 0x0118 0x0460 0x0000 0x0 0x0 | ||
627 | #define MX6SX_PAD_LCD1_DATA18__WEIM_ADDR_18 0x0118 0x0460 0x0000 0x1 0x0 | ||
628 | #define MX6SX_PAD_LCD1_DATA18__M4_EVENTO 0x0118 0x0460 0x0000 0x2 0x0 | ||
629 | #define MX6SX_PAD_LCD1_DATA18__KITTEN_EVENTO 0x0118 0x0460 0x0000 0x3 0x0 | ||
630 | #define MX6SX_PAD_LCD1_DATA18__CSI1_DATA_15 0x0118 0x0460 0x06D8 0x4 0x0 | ||
631 | #define MX6SX_PAD_LCD1_DATA18__GPIO3_IO_19 0x0118 0x0460 0x0000 0x5 0x0 | ||
632 | #define MX6SX_PAD_LCD1_DATA18__SRC_BT_CFG_26 0x0118 0x0460 0x0000 0x6 0x0 | ||
633 | #define MX6SX_PAD_LCD1_DATA18__SIM_M_HPROT_3 0x0118 0x0460 0x0000 0x7 0x0 | ||
634 | #define MX6SX_PAD_LCD1_DATA18__VDEC_DEBUG_3 0x0118 0x0460 0x0000 0x8 0x0 | ||
635 | #define MX6SX_PAD_LCD1_DATA18__MMDC_DEBUG_23 0x0118 0x0460 0x0000 0x9 0x0 | ||
636 | #define MX6SX_PAD_LCD1_DATA19__LCDIF1_DATA_19 0x011C 0x0464 0x0000 0x0 0x0 | ||
637 | #define MX6SX_PAD_LCD1_DATA19__WEIM_ADDR_19 0x011C 0x0464 0x0000 0x1 0x0 | ||
638 | #define MX6SX_PAD_LCD1_DATA19__M4_TRACE_SWO 0x011C 0x0464 0x0000 0x2 0x0 | ||
639 | #define MX6SX_PAD_LCD1_DATA19__CSI1_DATA_14 0x011C 0x0464 0x06D4 0x4 0x0 | ||
640 | #define MX6SX_PAD_LCD1_DATA19__GPIO3_IO_20 0x011C 0x0464 0x0000 0x5 0x0 | ||
641 | #define MX6SX_PAD_LCD1_DATA19__SRC_BT_CFG_27 0x011C 0x0464 0x0000 0x6 0x0 | ||
642 | #define MX6SX_PAD_LCD1_DATA19__SIM_M_HREADYOUT 0x011C 0x0464 0x0000 0x7 0x0 | ||
643 | #define MX6SX_PAD_LCD1_DATA19__VDEC_DEBUG_4 0x011C 0x0464 0x0000 0x8 0x0 | ||
644 | #define MX6SX_PAD_LCD1_DATA19__MMDC_DEBUG_24 0x011C 0x0464 0x0000 0x9 0x0 | ||
645 | #define MX6SX_PAD_LCD1_DATA20__LCDIF1_DATA_20 0x0120 0x0468 0x0000 0x0 0x0 | ||
646 | #define MX6SX_PAD_LCD1_DATA20__WEIM_ADDR_20 0x0120 0x0468 0x0000 0x1 0x0 | ||
647 | #define MX6SX_PAD_LCD1_DATA20__PWM8_OUT 0x0120 0x0468 0x0000 0x2 0x0 | ||
648 | #define MX6SX_PAD_LCD1_DATA20__ENET1_1588_EVENT2_OUT 0x0120 0x0468 0x0000 0x3 0x0 | ||
649 | #define MX6SX_PAD_LCD1_DATA20__CSI1_DATA_13 0x0120 0x0468 0x06D0 0x4 0x0 | ||
650 | #define MX6SX_PAD_LCD1_DATA20__GPIO3_IO_21 0x0120 0x0468 0x0000 0x5 0x0 | ||
651 | #define MX6SX_PAD_LCD1_DATA20__SRC_BT_CFG_28 0x0120 0x0468 0x0000 0x6 0x0 | ||
652 | #define MX6SX_PAD_LCD1_DATA20__SIM_M_HRESP 0x0120 0x0468 0x0000 0x7 0x0 | ||
653 | #define MX6SX_PAD_LCD1_DATA20__VDEC_DEBUG_5 0x0120 0x0468 0x0000 0x8 0x0 | ||
654 | #define MX6SX_PAD_LCD1_DATA20__MMDC_DEBUG_25 0x0120 0x0468 0x0000 0x9 0x0 | ||
655 | #define MX6SX_PAD_LCD1_DATA21__LCDIF1_DATA_21 0x0124 0x046C 0x0000 0x0 0x0 | ||
656 | #define MX6SX_PAD_LCD1_DATA21__WEIM_ADDR_21 0x0124 0x046C 0x0000 0x1 0x0 | ||
657 | #define MX6SX_PAD_LCD1_DATA21__PWM7_OUT 0x0124 0x046C 0x0000 0x2 0x0 | ||
658 | #define MX6SX_PAD_LCD1_DATA21__ENET1_1588_EVENT3_OUT 0x0124 0x046C 0x0000 0x3 0x0 | ||
659 | #define MX6SX_PAD_LCD1_DATA21__CSI1_DATA_12 0x0124 0x046C 0x06CC 0x4 0x0 | ||
660 | #define MX6SX_PAD_LCD1_DATA21__GPIO3_IO_22 0x0124 0x046C 0x0000 0x5 0x0 | ||
661 | #define MX6SX_PAD_LCD1_DATA21__SRC_BT_CFG_29 0x0124 0x046C 0x0000 0x6 0x0 | ||
662 | #define MX6SX_PAD_LCD1_DATA21__SIM_M_HSIZE_0 0x0124 0x046C 0x0000 0x7 0x0 | ||
663 | #define MX6SX_PAD_LCD1_DATA21__VDEC_DEBUG_6 0x0124 0x046C 0x0000 0x8 0x0 | ||
664 | #define MX6SX_PAD_LCD1_DATA21__MMDC_DEBUG_26 0x0124 0x046C 0x0000 0x9 0x0 | ||
665 | #define MX6SX_PAD_LCD1_DATA22__LCDIF1_DATA_22 0x0128 0x0470 0x0000 0x0 0x0 | ||
666 | #define MX6SX_PAD_LCD1_DATA22__WEIM_ADDR_22 0x0128 0x0470 0x0000 0x1 0x0 | ||
667 | #define MX6SX_PAD_LCD1_DATA22__PWM6_OUT 0x0128 0x0470 0x0000 0x2 0x0 | ||
668 | #define MX6SX_PAD_LCD1_DATA22__ENET2_1588_EVENT2_OUT 0x0128 0x0470 0x0000 0x3 0x0 | ||
669 | #define MX6SX_PAD_LCD1_DATA22__CSI1_DATA_11 0x0128 0x0470 0x06C8 0x4 0x0 | ||
670 | #define MX6SX_PAD_LCD1_DATA22__GPIO3_IO_23 0x0128 0x0470 0x0000 0x5 0x0 | ||
671 | #define MX6SX_PAD_LCD1_DATA22__SRC_BT_CFG_30 0x0128 0x0470 0x0000 0x6 0x0 | ||
672 | #define MX6SX_PAD_LCD1_DATA22__SIM_M_HSIZE_1 0x0128 0x0470 0x0000 0x7 0x0 | ||
673 | #define MX6SX_PAD_LCD1_DATA22__VDEC_DEBUG_7 0x0128 0x0470 0x0000 0x8 0x0 | ||
674 | #define MX6SX_PAD_LCD1_DATA22__MMDC_DEBUG_27 0x0128 0x0470 0x0000 0x9 0x0 | ||
675 | #define MX6SX_PAD_LCD1_DATA23__LCDIF1_DATA_23 0x012C 0x0474 0x0000 0x0 0x0 | ||
676 | #define MX6SX_PAD_LCD1_DATA23__WEIM_ADDR_23 0x012C 0x0474 0x0000 0x1 0x0 | ||
677 | #define MX6SX_PAD_LCD1_DATA23__PWM5_OUT 0x012C 0x0474 0x0000 0x2 0x0 | ||
678 | #define MX6SX_PAD_LCD1_DATA23__ENET2_1588_EVENT3_OUT 0x012C 0x0474 0x0000 0x3 0x0 | ||
679 | #define MX6SX_PAD_LCD1_DATA23__CSI1_DATA_10 0x012C 0x0474 0x06FC 0x4 0x0 | ||
680 | #define MX6SX_PAD_LCD1_DATA23__GPIO3_IO_24 0x012C 0x0474 0x0000 0x5 0x0 | ||
681 | #define MX6SX_PAD_LCD1_DATA23__SRC_BT_CFG_31 0x012C 0x0474 0x0000 0x6 0x0 | ||
682 | #define MX6SX_PAD_LCD1_DATA23__SIM_M_HSIZE_2 0x012C 0x0474 0x0000 0x7 0x0 | ||
683 | #define MX6SX_PAD_LCD1_DATA23__VDEC_DEBUG_8 0x012C 0x0474 0x0000 0x8 0x0 | ||
684 | #define MX6SX_PAD_LCD1_DATA23__MMDC_DEBUG_28 0x012C 0x0474 0x0000 0x9 0x0 | ||
685 | #define MX6SX_PAD_LCD1_ENABLE__LCDIF1_ENABLE 0x0130 0x0478 0x0000 0x0 0x0 | ||
686 | #define MX6SX_PAD_LCD1_ENABLE__LCDIF1_RD_E 0x0130 0x0478 0x0000 0x1 0x0 | ||
687 | #define MX6SX_PAD_LCD1_ENABLE__AUDMUX_AUD3_TXC 0x0130 0x0478 0x063C 0x2 0x1 | ||
688 | #define MX6SX_PAD_LCD1_ENABLE__ENET1_1588_EVENT3_IN 0x0130 0x0478 0x0000 0x3 0x0 | ||
689 | #define MX6SX_PAD_LCD1_ENABLE__CSI1_DATA_17 0x0130 0x0478 0x06E0 0x4 0x0 | ||
690 | #define MX6SX_PAD_LCD1_ENABLE__GPIO3_IO_25 0x0130 0x0478 0x0000 0x5 0x0 | ||
691 | #define MX6SX_PAD_LCD1_ENABLE__USDHC1_CD_B 0x0130 0x0478 0x0864 0x6 0x0 | ||
692 | #define MX6SX_PAD_LCD1_ENABLE__SIM_M_HADDR_17 0x0130 0x0478 0x0000 0x7 0x0 | ||
693 | #define MX6SX_PAD_LCD1_ENABLE__VADC_TEST_1 0x0130 0x0478 0x0000 0x8 0x0 | ||
694 | #define MX6SX_PAD_LCD1_ENABLE__MMDC_DEBUG_1 0x0130 0x0478 0x0000 0x9 0x0 | ||
695 | #define MX6SX_PAD_LCD1_HSYNC__LCDIF1_HSYNC 0x0134 0x047C 0x07E0 0x0 0x0 | ||
696 | #define MX6SX_PAD_LCD1_HSYNC__LCDIF1_RS 0x0134 0x047C 0x0000 0x1 0x0 | ||
697 | #define MX6SX_PAD_LCD1_HSYNC__AUDMUX_AUD3_TXD 0x0134 0x047C 0x0630 0x2 0x1 | ||
698 | #define MX6SX_PAD_LCD1_HSYNC__ENET2_1588_EVENT2_IN 0x0134 0x047C 0x0000 0x3 0x0 | ||
699 | #define MX6SX_PAD_LCD1_HSYNC__CSI1_DATA_18 0x0134 0x047C 0x06E4 0x4 0x0 | ||
700 | #define MX6SX_PAD_LCD1_HSYNC__GPIO3_IO_26 0x0134 0x047C 0x0000 0x5 0x0 | ||
701 | #define MX6SX_PAD_LCD1_HSYNC__USDHC2_WP 0x0134 0x047C 0x0870 0x6 0x0 | ||
702 | #define MX6SX_PAD_LCD1_HSYNC__SIM_M_HADDR_18 0x0134 0x047C 0x0000 0x7 0x0 | ||
703 | #define MX6SX_PAD_LCD1_HSYNC__VADC_TEST_2 0x0134 0x047C 0x0000 0x8 0x0 | ||
704 | #define MX6SX_PAD_LCD1_HSYNC__MMDC_DEBUG_2 0x0134 0x047C 0x0000 0x9 0x0 | ||
705 | #define MX6SX_PAD_LCD1_RESET__LCDIF1_RESET 0x0138 0x0480 0x0000 0x0 0x0 | ||
706 | #define MX6SX_PAD_LCD1_RESET__LCDIF1_CS 0x0138 0x0480 0x0000 0x1 0x0 | ||
707 | #define MX6SX_PAD_LCD1_RESET__AUDMUX_AUD3_RXD 0x0138 0x0480 0x062C 0x2 0x1 | ||
708 | #define MX6SX_PAD_LCD1_RESET__KITTEN_EVENTI 0x0138 0x0480 0x0000 0x3 0x0 | ||
709 | #define MX6SX_PAD_LCD1_RESET__M4_EVENTI 0x0138 0x0480 0x0000 0x4 0x0 | ||
710 | #define MX6SX_PAD_LCD1_RESET__GPIO3_IO_27 0x0138 0x0480 0x0000 0x5 0x0 | ||
711 | #define MX6SX_PAD_LCD1_RESET__CCM_PMIC_RDY 0x0138 0x0480 0x069C 0x6 0x0 | ||
712 | #define MX6SX_PAD_LCD1_RESET__SIM_M_HADDR_20 0x0138 0x0480 0x0000 0x7 0x0 | ||
713 | #define MX6SX_PAD_LCD1_RESET__VADC_TEST_4 0x0138 0x0480 0x0000 0x8 0x0 | ||
714 | #define MX6SX_PAD_LCD1_RESET__MMDC_DEBUG_4 0x0138 0x0480 0x0000 0x9 0x0 | ||
715 | #define MX6SX_PAD_LCD1_VSYNC__LCDIF1_VSYNC 0x013C 0x0484 0x0000 0x0 0x0 | ||
716 | #define MX6SX_PAD_LCD1_VSYNC__LCDIF1_BUSY 0x013C 0x0484 0x07E0 0x1 0x1 | ||
717 | #define MX6SX_PAD_LCD1_VSYNC__AUDMUX_AUD3_TXFS 0x013C 0x0484 0x0640 0x2 0x1 | ||
718 | #define MX6SX_PAD_LCD1_VSYNC__ENET2_1588_EVENT3_IN 0x013C 0x0484 0x0000 0x3 0x0 | ||
719 | #define MX6SX_PAD_LCD1_VSYNC__CSI1_DATA_19 0x013C 0x0484 0x06E8 0x4 0x0 | ||
720 | #define MX6SX_PAD_LCD1_VSYNC__GPIO3_IO_28 0x013C 0x0484 0x0000 0x5 0x0 | ||
721 | #define MX6SX_PAD_LCD1_VSYNC__USDHC2_CD_B 0x013C 0x0484 0x086C 0x6 0x0 | ||
722 | #define MX6SX_PAD_LCD1_VSYNC__SIM_M_HADDR_19 0x013C 0x0484 0x0000 0x7 0x0 | ||
723 | #define MX6SX_PAD_LCD1_VSYNC__VADC_TEST_3 0x013C 0x0484 0x0000 0x8 0x0 | ||
724 | #define MX6SX_PAD_LCD1_VSYNC__MMDC_DEBUG_3 0x013C 0x0484 0x0000 0x9 0x0 | ||
725 | #define MX6SX_PAD_NAND_ALE__RAWNAND_ALE 0x0140 0x0488 0x0000 0x0 0x0 | ||
726 | #define MX6SX_PAD_NAND_ALE__I2C3_SDA 0x0140 0x0488 0x07BC 0x1 0x0 | ||
727 | #define MX6SX_PAD_NAND_ALE__QSPI2_A_SS0_B 0x0140 0x0488 0x0000 0x2 0x0 | ||
728 | #define MX6SX_PAD_NAND_ALE__ECSPI2_SS0 0x0140 0x0488 0x072C 0x3 0x0 | ||
729 | #define MX6SX_PAD_NAND_ALE__ESAI_TX3_RX2 0x0140 0x0488 0x079C 0x4 0x0 | ||
730 | #define MX6SX_PAD_NAND_ALE__GPIO4_IO_0 0x0140 0x0488 0x0000 0x5 0x0 | ||
731 | #define MX6SX_PAD_NAND_ALE__WEIM_CS0_B 0x0140 0x0488 0x0000 0x6 0x0 | ||
732 | #define MX6SX_PAD_NAND_ALE__TPSMP_HDATA_0 0x0140 0x0488 0x0000 0x7 0x0 | ||
733 | #define MX6SX_PAD_NAND_ALE__ANATOP_USBPHY1_TSTI_TX_EN 0x0140 0x0488 0x0000 0x8 0x0 | ||
734 | #define MX6SX_PAD_NAND_ALE__SDMA_DEBUG_PC_12 0x0140 0x0488 0x0000 0x9 0x0 | ||
735 | #define MX6SX_PAD_NAND_CE0_B__RAWNAND_CE0_B 0x0144 0x048C 0x0000 0x0 0x0 | ||
736 | #define MX6SX_PAD_NAND_CE0_B__USDHC2_VSELECT 0x0144 0x048C 0x0000 0x1 0x0 | ||
737 | #define MX6SX_PAD_NAND_CE0_B__QSPI2_A_DATA_2 0x0144 0x048C 0x0000 0x2 0x0 | ||
738 | #define MX6SX_PAD_NAND_CE0_B__AUDMUX_AUD4_TXC 0x0144 0x048C 0x0654 0x3 0x0 | ||
739 | #define MX6SX_PAD_NAND_CE0_B__ESAI_TX_CLK 0x0144 0x048C 0x078C 0x4 0x0 | ||
740 | #define MX6SX_PAD_NAND_CE0_B__GPIO4_IO_1 0x0144 0x048C 0x0000 0x5 0x0 | ||
741 | #define MX6SX_PAD_NAND_CE0_B__WEIM_LBA_B 0x0144 0x048C 0x0000 0x6 0x0 | ||
742 | #define MX6SX_PAD_NAND_CE0_B__TPSMP_HDATA_3 0x0144 0x048C 0x0000 0x7 0x0 | ||
743 | #define MX6SX_PAD_NAND_CE0_B__ANATOP_USBPHY1_TSTI_TX_HIZ 0x0144 0x048C 0x0000 0x8 0x0 | ||
744 | #define MX6SX_PAD_NAND_CE0_B__SDMA_DEBUG_PC_9 0x0144 0x048C 0x0000 0x9 0x0 | ||
745 | #define MX6SX_PAD_NAND_CE1_B__RAWNAND_CE1_B 0x0148 0x0490 0x0000 0x0 0x0 | ||
746 | #define MX6SX_PAD_NAND_CE1_B__USDHC3_RESET_B 0x0148 0x0490 0x0000 0x1 0x0 | ||
747 | #define MX6SX_PAD_NAND_CE1_B__QSPI2_A_DATA_3 0x0148 0x0490 0x0000 0x2 0x0 | ||
748 | #define MX6SX_PAD_NAND_CE1_B__AUDMUX_AUD4_TXD 0x0148 0x0490 0x0648 0x3 0x0 | ||
749 | #define MX6SX_PAD_NAND_CE1_B__ESAI_TX0 0x0148 0x0490 0x0790 0x4 0x0 | ||
750 | #define MX6SX_PAD_NAND_CE1_B__GPIO4_IO_2 0x0148 0x0490 0x0000 0x5 0x0 | ||
751 | #define MX6SX_PAD_NAND_CE1_B__WEIM_OE 0x0148 0x0490 0x0000 0x6 0x0 | ||
752 | #define MX6SX_PAD_NAND_CE1_B__TPSMP_HDATA_4 0x0148 0x0490 0x0000 0x7 0x0 | ||
753 | #define MX6SX_PAD_NAND_CE1_B__ANATOP_USBPHY1_TSTI_TX_LS_MODE 0x0148 0x0490 0x0000 0x8 0x0 | ||
754 | #define MX6SX_PAD_NAND_CE1_B__SDMA_DEBUG_PC_8 0x0148 0x0490 0x0000 0x9 0x0 | ||
755 | #define MX6SX_PAD_NAND_CLE__RAWNAND_CLE 0x014C 0x0494 0x0000 0x0 0x0 | ||
756 | #define MX6SX_PAD_NAND_CLE__I2C3_SCL 0x014C 0x0494 0x07B8 0x1 0x0 | ||
757 | #define MX6SX_PAD_NAND_CLE__QSPI2_A_SCLK 0x014C 0x0494 0x0000 0x2 0x0 | ||
758 | #define MX6SX_PAD_NAND_CLE__ECSPI2_SCLK 0x014C 0x0494 0x0720 0x3 0x0 | ||
759 | #define MX6SX_PAD_NAND_CLE__ESAI_TX2_RX3 0x014C 0x0494 0x0798 0x4 0x0 | ||
760 | #define MX6SX_PAD_NAND_CLE__GPIO4_IO_3 0x014C 0x0494 0x0000 0x5 0x0 | ||
761 | #define MX6SX_PAD_NAND_CLE__WEIM_BCLK 0x014C 0x0494 0x0000 0x6 0x0 | ||
762 | #define MX6SX_PAD_NAND_CLE__TPSMP_CLK 0x014C 0x0494 0x0000 0x7 0x0 | ||
763 | #define MX6SX_PAD_NAND_CLE__ANATOP_USBPHY1_TSTI_TX_DP 0x014C 0x0494 0x0000 0x8 0x0 | ||
764 | #define MX6SX_PAD_NAND_CLE__SDMA_DEBUG_PC_13 0x014C 0x0494 0x0000 0x9 0x0 | ||
765 | #define MX6SX_PAD_NAND_DATA00__RAWNAND_DATA00 0x0150 0x0498 0x0000 0x0 0x0 | ||
766 | #define MX6SX_PAD_NAND_DATA00__USDHC1_DATA4 0x0150 0x0498 0x0000 0x1 0x0 | ||
767 | #define MX6SX_PAD_NAND_DATA00__QSPI2_B_DATA_1 0x0150 0x0498 0x0000 0x2 0x0 | ||
768 | #define MX6SX_PAD_NAND_DATA00__ECSPI5_MISO 0x0150 0x0498 0x0754 0x3 0x0 | ||
769 | #define MX6SX_PAD_NAND_DATA00__ESAI_RX_CLK 0x0150 0x0498 0x0788 0x4 0x0 | ||
770 | #define MX6SX_PAD_NAND_DATA00__GPIO4_IO_4 0x0150 0x0498 0x0000 0x5 0x0 | ||
771 | #define MX6SX_PAD_NAND_DATA00__WEIM_AD_0 0x0150 0x0498 0x0000 0x6 0x0 | ||
772 | #define MX6SX_PAD_NAND_DATA00__TPSMP_HDATA_7 0x0150 0x0498 0x0000 0x7 0x0 | ||
773 | #define MX6SX_PAD_NAND_DATA00__ANATOP_USBPHY1_TSTO_RX_DISCON_DET 0x0150 0x0498 0x0000 0x8 0x0 | ||
774 | #define MX6SX_PAD_NAND_DATA00__SDMA_DEBUG_EVT_CHN_LINES_5 0x0150 0x0498 0x0000 0x9 0x0 | ||
775 | #define MX6SX_PAD_NAND_DATA01__RAWNAND_DATA01 0x0154 0x049C 0x0000 0x0 0x0 | ||
776 | #define MX6SX_PAD_NAND_DATA01__USDHC1_DATA5 0x0154 0x049C 0x0000 0x1 0x0 | ||
777 | #define MX6SX_PAD_NAND_DATA01__QSPI2_B_DATA_0 0x0154 0x049C 0x0000 0x2 0x0 | ||
778 | #define MX6SX_PAD_NAND_DATA01__ECSPI5_MOSI 0x0154 0x049C 0x0758 0x3 0x0 | ||
779 | #define MX6SX_PAD_NAND_DATA01__ESAI_RX_FS 0x0154 0x049C 0x0778 0x4 0x0 | ||
780 | #define MX6SX_PAD_NAND_DATA01__GPIO4_IO_5 0x0154 0x049C 0x0000 0x5 0x0 | ||
781 | #define MX6SX_PAD_NAND_DATA01__WEIM_AD_1 0x0154 0x049C 0x0000 0x6 0x0 | ||
782 | #define MX6SX_PAD_NAND_DATA01__TPSMP_HDATA_8 0x0154 0x049C 0x0000 0x7 0x0 | ||
783 | #define MX6SX_PAD_NAND_DATA01__ANATOP_USBPHY1_TSTO_RX_HS_RXD 0x0154 0x049C 0x0000 0x8 0x0 | ||
784 | #define MX6SX_PAD_NAND_DATA01__SDMA_DEBUG_EVT_CHN_LINES_4 0x0154 0x049C 0x0000 0x9 0x0 | ||
785 | #define MX6SX_PAD_NAND_DATA02__RAWNAND_DATA02 0x0158 0x04A0 0x0000 0x0 0x0 | ||
786 | #define MX6SX_PAD_NAND_DATA02__USDHC1_DATA6 0x0158 0x04A0 0x0000 0x1 0x0 | ||
787 | #define MX6SX_PAD_NAND_DATA02__QSPI2_B_SCLK 0x0158 0x04A0 0x0000 0x2 0x0 | ||
788 | #define MX6SX_PAD_NAND_DATA02__ECSPI5_SCLK 0x0158 0x04A0 0x0750 0x3 0x0 | ||
789 | #define MX6SX_PAD_NAND_DATA02__ESAI_TX_HF_CLK 0x0158 0x04A0 0x0784 0x4 0x0 | ||
790 | #define MX6SX_PAD_NAND_DATA02__GPIO4_IO_6 0x0158 0x04A0 0x0000 0x5 0x0 | ||
791 | #define MX6SX_PAD_NAND_DATA02__WEIM_AD_2 0x0158 0x04A0 0x0000 0x6 0x0 | ||
792 | #define MX6SX_PAD_NAND_DATA02__TPSMP_HDATA_9 0x0158 0x04A0 0x0000 0x7 0x0 | ||
793 | #define MX6SX_PAD_NAND_DATA02__ANATOP_USBPHY2_TSTO_PLL_CLK20DIV 0x0158 0x04A0 0x0000 0x8 0x0 | ||
794 | #define MX6SX_PAD_NAND_DATA02__SDMA_DEBUG_EVT_CHN_LINES_3 0x0158 0x04A0 0x0000 0x9 0x0 | ||
795 | #define MX6SX_PAD_NAND_DATA03__RAWNAND_DATA03 0x015C 0x04A4 0x0000 0x0 0x0 | ||
796 | #define MX6SX_PAD_NAND_DATA03__USDHC1_DATA7 0x015C 0x04A4 0x0000 0x1 0x0 | ||
797 | #define MX6SX_PAD_NAND_DATA03__QSPI2_B_SS0_B 0x015C 0x04A4 0x0000 0x2 0x0 | ||
798 | #define MX6SX_PAD_NAND_DATA03__ECSPI5_SS0 0x015C 0x04A4 0x075C 0x3 0x0 | ||
799 | #define MX6SX_PAD_NAND_DATA03__ESAI_RX_HF_CLK 0x015C 0x04A4 0x0780 0x4 0x0 | ||
800 | #define MX6SX_PAD_NAND_DATA03__GPIO4_IO_7 0x015C 0x04A4 0x0000 0x5 0x0 | ||
801 | #define MX6SX_PAD_NAND_DATA03__WEIM_AD_3 0x015C 0x04A4 0x0000 0x6 0x0 | ||
802 | #define MX6SX_PAD_NAND_DATA03__TPSMP_HDATA_10 0x015C 0x04A4 0x0000 0x7 0x0 | ||
803 | #define MX6SX_PAD_NAND_DATA03__ANATOP_USBPHY1_TSTO_RX_SQUELCH 0x015C 0x04A4 0x0000 0x8 0x0 | ||
804 | #define MX6SX_PAD_NAND_DATA03__SDMA_DEBUG_EVT_CHN_LINES_6 0x015C 0x04A4 0x0000 0x9 0x0 | ||
805 | #define MX6SX_PAD_NAND_DATA04__RAWNAND_DATA04 0x0160 0x04A8 0x0000 0x0 0x0 | ||
806 | #define MX6SX_PAD_NAND_DATA04__USDHC2_DATA4 0x0160 0x04A8 0x0000 0x1 0x0 | ||
807 | #define MX6SX_PAD_NAND_DATA04__QSPI2_B_SS1_B 0x0160 0x04A8 0x0000 0x2 0x0 | ||
808 | #define MX6SX_PAD_NAND_DATA04__UART3_RTS_B 0x0160 0x04A8 0x083C 0x3 0x0 | ||
809 | #define MX6SX_PAD_NAND_DATA04__AUDMUX_AUD4_RXFS 0x0160 0x04A8 0x0650 0x4 0x0 | ||
810 | #define MX6SX_PAD_NAND_DATA04__GPIO4_IO_8 0x0160 0x04A8 0x0000 0x5 0x0 | ||
811 | #define MX6SX_PAD_NAND_DATA04__WEIM_AD_4 0x0160 0x04A8 0x0000 0x6 0x0 | ||
812 | #define MX6SX_PAD_NAND_DATA04__TPSMP_HDATA_11 0x0160 0x04A8 0x0000 0x7 0x0 | ||
813 | #define MX6SX_PAD_NAND_DATA04__ANATOP_USBPHY2_TSTO_RX_SQUELCH 0x0160 0x04A8 0x0000 0x8 0x0 | ||
814 | #define MX6SX_PAD_NAND_DATA04__SDMA_DEBUG_CORE_STATE_0 0x0160 0x04A8 0x0000 0x9 0x0 | ||
815 | #define MX6SX_PAD_NAND_DATA05__RAWNAND_DATA05 0x0164 0x04AC 0x0000 0x0 0x0 | ||
816 | #define MX6SX_PAD_NAND_DATA05__USDHC2_DATA5 0x0164 0x04AC 0x0000 0x1 0x0 | ||
817 | #define MX6SX_PAD_NAND_DATA05__QSPI2_B_DQS 0x0164 0x04AC 0x0000 0x2 0x0 | ||
818 | #define MX6SX_PAD_NAND_DATA05__UART3_CTS_B 0x0164 0x04AC 0x083C 0x3 0x1 | ||
819 | #define MX6SX_PAD_NAND_DATA05__AUDMUX_AUD4_RXC 0x0164 0x04AC 0x064C 0x4 0x0 | ||
820 | #define MX6SX_PAD_NAND_DATA05__GPIO4_IO_9 0x0164 0x04AC 0x0000 0x5 0x0 | ||
821 | #define MX6SX_PAD_NAND_DATA05__WEIM_AD_5 0x0164 0x04AC 0x0000 0x6 0x0 | ||
822 | #define MX6SX_PAD_NAND_DATA05__TPSMP_HDATA_12 0x0164 0x04AC 0x0000 0x7 0x0 | ||
823 | #define MX6SX_PAD_NAND_DATA05__ANATOP_USBPHY2_TSTO_RX_DISCON_DET 0x0164 0x04AC 0x0000 0x8 0x0 | ||
824 | #define MX6SX_PAD_NAND_DATA05__SDMA_DEBUG_CORE_STATE_1 0x0164 0x04AC 0x0000 0x9 0x0 | ||
825 | #define MX6SX_PAD_NAND_DATA06__RAWNAND_DATA06 0x0168 0x04B0 0x0000 0x0 0x0 | ||
826 | #define MX6SX_PAD_NAND_DATA06__USDHC2_DATA6 0x0168 0x04B0 0x0000 0x1 0x0 | ||
827 | #define MX6SX_PAD_NAND_DATA06__QSPI2_A_SS1_B 0x0168 0x04B0 0x0000 0x2 0x0 | ||
828 | #define MX6SX_PAD_NAND_DATA06__UART3_RX 0x0168 0x04B0 0x0840 0x3 0x0 | ||
829 | #define MX6SX_PAD_NAND_DATA06__UART3_TX 0x0168 0x04B0 0x0000 0x3 0x0 | ||
830 | #define MX6SX_PAD_NAND_DATA06__PWM3_OUT 0x0168 0x04B0 0x0000 0x4 0x0 | ||
831 | #define MX6SX_PAD_NAND_DATA06__GPIO4_IO_10 0x0168 0x04B0 0x0000 0x5 0x0 | ||
832 | #define MX6SX_PAD_NAND_DATA06__WEIM_AD_6 0x0168 0x04B0 0x0000 0x6 0x0 | ||
833 | #define MX6SX_PAD_NAND_DATA06__TPSMP_HDATA_13 0x0168 0x04B0 0x0000 0x7 0x0 | ||
834 | #define MX6SX_PAD_NAND_DATA06__ANATOP_USBPHY2_TSTO_RX_FS_RXD 0x0168 0x04B0 0x0000 0x8 0x0 | ||
835 | #define MX6SX_PAD_NAND_DATA06__SDMA_DEBUG_CORE_STATE_2 0x0168 0x04B0 0x0000 0x9 0x0 | ||
836 | #define MX6SX_PAD_NAND_DATA07__RAWNAND_DATA07 0x016C 0x04B4 0x0000 0x0 0x0 | ||
837 | #define MX6SX_PAD_NAND_DATA07__USDHC2_DATA7 0x016C 0x04B4 0x0000 0x1 0x0 | ||
838 | #define MX6SX_PAD_NAND_DATA07__QSPI2_A_DQS 0x016C 0x04B4 0x0000 0x2 0x0 | ||
839 | #define MX6SX_PAD_NAND_DATA07__UART3_RX 0x016C 0x04B4 0x0840 0x3 0x1 | ||
840 | #define MX6SX_PAD_NAND_DATA07__UART3_TX 0x016C 0x04B4 0x0000 0x3 0x0 | ||
841 | #define MX6SX_PAD_NAND_DATA07__PWM4_OUT 0x016C 0x04B4 0x0000 0x4 0x0 | ||
842 | #define MX6SX_PAD_NAND_DATA07__GPIO4_IO_11 0x016C 0x04B4 0x0000 0x5 0x0 | ||
843 | #define MX6SX_PAD_NAND_DATA07__WEIM_AD_7 0x016C 0x04B4 0x0000 0x6 0x0 | ||
844 | #define MX6SX_PAD_NAND_DATA07__TPSMP_HDATA_14 0x016C 0x04B4 0x0000 0x7 0x0 | ||
845 | #define MX6SX_PAD_NAND_DATA07__ANATOP_USBPHY1_TSTO_RX_FS_RXD 0x016C 0x04B4 0x0000 0x8 0x0 | ||
846 | #define MX6SX_PAD_NAND_DATA07__SDMA_DEBUG_CORE_STATE_3 0x016C 0x04B4 0x0000 0x9 0x0 | ||
847 | #define MX6SX_PAD_NAND_RE_B__RAWNAND_RE_B 0x0170 0x04B8 0x0000 0x0 0x0 | ||
848 | #define MX6SX_PAD_NAND_RE_B__USDHC2_RESET_B 0x0170 0x04B8 0x0000 0x1 0x0 | ||
849 | #define MX6SX_PAD_NAND_RE_B__QSPI2_B_DATA_3 0x0170 0x04B8 0x0000 0x2 0x0 | ||
850 | #define MX6SX_PAD_NAND_RE_B__AUDMUX_AUD4_TXFS 0x0170 0x04B8 0x0658 0x3 0x0 | ||
851 | #define MX6SX_PAD_NAND_RE_B__ESAI_TX_FS 0x0170 0x04B8 0x077C 0x4 0x0 | ||
852 | #define MX6SX_PAD_NAND_RE_B__GPIO4_IO_12 0x0170 0x04B8 0x0000 0x5 0x0 | ||
853 | #define MX6SX_PAD_NAND_RE_B__WEIM_RW 0x0170 0x04B8 0x0000 0x6 0x0 | ||
854 | #define MX6SX_PAD_NAND_RE_B__TPSMP_HDATA_5 0x0170 0x04B8 0x0000 0x7 0x0 | ||
855 | #define MX6SX_PAD_NAND_RE_B__ANATOP_USBPHY2_TSTO_RX_HS_RXD 0x0170 0x04B8 0x0000 0x8 0x0 | ||
856 | #define MX6SX_PAD_NAND_RE_B__SDMA_DEBUG_PC_7 0x0170 0x04B8 0x0000 0x9 0x0 | ||
857 | #define MX6SX_PAD_NAND_READY_B__RAWNAND_READY_B 0x0174 0x04BC 0x0000 0x0 0x0 | ||
858 | #define MX6SX_PAD_NAND_READY_B__USDHC1_VSELECT 0x0174 0x04BC 0x0000 0x1 0x0 | ||
859 | #define MX6SX_PAD_NAND_READY_B__QSPI2_A_DATA_1 0x0174 0x04BC 0x0000 0x2 0x0 | ||
860 | #define MX6SX_PAD_NAND_READY_B__ECSPI2_MISO 0x0174 0x04BC 0x0724 0x3 0x0 | ||
861 | #define MX6SX_PAD_NAND_READY_B__ESAI_TX1 0x0174 0x04BC 0x0794 0x4 0x0 | ||
862 | #define MX6SX_PAD_NAND_READY_B__GPIO4_IO_13 0x0174 0x04BC 0x0000 0x5 0x0 | ||
863 | #define MX6SX_PAD_NAND_READY_B__WEIM_EB_B_1 0x0174 0x04BC 0x0000 0x6 0x0 | ||
864 | #define MX6SX_PAD_NAND_READY_B__TPSMP_HDATA_2 0x0174 0x04BC 0x0000 0x7 0x0 | ||
865 | #define MX6SX_PAD_NAND_READY_B__ANATOP_USBPHY1_TSTI_TX_DN 0x0174 0x04BC 0x0000 0x8 0x0 | ||
866 | #define MX6SX_PAD_NAND_READY_B__SDMA_DEBUG_PC_10 0x0174 0x04BC 0x0000 0x9 0x0 | ||
867 | #define MX6SX_PAD_NAND_WE_B__RAWNAND_WE_B 0x0178 0x04C0 0x0000 0x0 0x0 | ||
868 | #define MX6SX_PAD_NAND_WE_B__USDHC4_VSELECT 0x0178 0x04C0 0x0000 0x1 0x0 | ||
869 | #define MX6SX_PAD_NAND_WE_B__QSPI2_B_DATA_2 0x0178 0x04C0 0x0000 0x2 0x0 | ||
870 | #define MX6SX_PAD_NAND_WE_B__AUDMUX_AUD4_RXD 0x0178 0x04C0 0x0644 0x3 0x0 | ||
871 | #define MX6SX_PAD_NAND_WE_B__ESAI_TX5_RX0 0x0178 0x04C0 0x07A4 0x4 0x0 | ||
872 | #define MX6SX_PAD_NAND_WE_B__GPIO4_IO_14 0x0178 0x04C0 0x0000 0x5 0x0 | ||
873 | #define MX6SX_PAD_NAND_WE_B__WEIM_WAIT 0x0178 0x04C0 0x0000 0x6 0x0 | ||
874 | #define MX6SX_PAD_NAND_WE_B__TPSMP_HDATA_6 0x0178 0x04C0 0x0000 0x7 0x0 | ||
875 | #define MX6SX_PAD_NAND_WE_B__ANATOP_USBPHY1_TSTO_PLL_CLK20DIV 0x0178 0x04C0 0x0000 0x8 0x0 | ||
876 | #define MX6SX_PAD_NAND_WE_B__SDMA_DEBUG_PC_6 0x0178 0x04C0 0x0000 0x9 0x0 | ||
877 | #define MX6SX_PAD_NAND_WP_B__RAWNAND_WP_B 0x017C 0x04C4 0x0000 0x0 0x0 | ||
878 | #define MX6SX_PAD_NAND_WP_B__USDHC1_RESET_B 0x017C 0x04C4 0x0000 0x1 0x0 | ||
879 | #define MX6SX_PAD_NAND_WP_B__QSPI2_A_DATA_0 0x017C 0x04C4 0x0000 0x2 0x0 | ||
880 | #define MX6SX_PAD_NAND_WP_B__ECSPI2_MOSI 0x017C 0x04C4 0x0728 0x3 0x0 | ||
881 | #define MX6SX_PAD_NAND_WP_B__ESAI_TX4_RX1 0x017C 0x04C4 0x07A0 0x4 0x0 | ||
882 | #define MX6SX_PAD_NAND_WP_B__GPIO4_IO_15 0x017C 0x04C4 0x0000 0x5 0x0 | ||
883 | #define MX6SX_PAD_NAND_WP_B__WEIM_EB_B_0 0x017C 0x04C4 0x0000 0x6 0x0 | ||
884 | #define MX6SX_PAD_NAND_WP_B__TPSMP_HDATA_1 0x017C 0x04C4 0x0000 0x7 0x0 | ||
885 | #define MX6SX_PAD_NAND_WP_B__ANATOP_USBPHY1_TSTI_TX_HS_MODE 0x017C 0x04C4 0x0000 0x8 0x0 | ||
886 | #define MX6SX_PAD_NAND_WP_B__SDMA_DEBUG_PC_11 0x017C 0x04C4 0x0000 0x9 0x0 | ||
887 | #define MX6SX_PAD_QSPI1A_DATA0__QSPI1_A_DATA_0 0x0180 0x04C8 0x0000 0x0 0x0 | ||
888 | #define MX6SX_PAD_QSPI1A_DATA0__USB_OTG2_OC 0x0180 0x04C8 0x085C 0x1 0x2 | ||
889 | #define MX6SX_PAD_QSPI1A_DATA0__ECSPI1_MOSI 0x0180 0x04C8 0x0718 0x2 0x1 | ||
890 | #define MX6SX_PAD_QSPI1A_DATA0__ESAI_TX4_RX1 0x0180 0x04C8 0x07A0 0x3 0x2 | ||
891 | #define MX6SX_PAD_QSPI1A_DATA0__CSI1_DATA_14 0x0180 0x04C8 0x06D4 0x4 0x1 | ||
892 | #define MX6SX_PAD_QSPI1A_DATA0__GPIO4_IO_16 0x0180 0x04C8 0x0000 0x5 0x0 | ||
893 | #define MX6SX_PAD_QSPI1A_DATA0__WEIM_DATA_6 0x0180 0x04C8 0x0000 0x6 0x0 | ||
894 | #define MX6SX_PAD_QSPI1A_DATA0__SIM_M_HADDR_3 0x0180 0x04C8 0x0000 0x7 0x0 | ||
895 | #define MX6SX_PAD_QSPI1A_DATA0__SDMA_DEBUG_BUS_DEVICE_3 0x0180 0x04C8 0x0000 0x9 0x0 | ||
896 | #define MX6SX_PAD_QSPI1A_DATA1__QSPI1_A_DATA_1 0x0184 0x04CC 0x0000 0x0 0x0 | ||
897 | #define MX6SX_PAD_QSPI1A_DATA1__ANATOP_OTG1_ID 0x0184 0x04CC 0x0624 0x1 0x2 | ||
898 | #define MX6SX_PAD_QSPI1A_DATA1__ECSPI1_MISO 0x0184 0x04CC 0x0714 0x2 0x1 | ||
899 | #define MX6SX_PAD_QSPI1A_DATA1__ESAI_TX1 0x0184 0x04CC 0x0794 0x3 0x2 | ||
900 | #define MX6SX_PAD_QSPI1A_DATA1__CSI1_DATA_13 0x0184 0x04CC 0x06D0 0x4 0x1 | ||
901 | #define MX6SX_PAD_QSPI1A_DATA1__GPIO4_IO_17 0x0184 0x04CC 0x0000 0x5 0x0 | ||
902 | #define MX6SX_PAD_QSPI1A_DATA1__WEIM_DATA_5 0x0184 0x04CC 0x0000 0x6 0x0 | ||
903 | #define MX6SX_PAD_QSPI1A_DATA1__SIM_M_HADDR_4 0x0184 0x04CC 0x0000 0x7 0x0 | ||
904 | #define MX6SX_PAD_QSPI1A_DATA1__SDMA_DEBUG_PC_0 0x0184 0x04CC 0x0000 0x9 0x0 | ||
905 | #define MX6SX_PAD_QSPI1A_DATA2__QSPI1_A_DATA_2 0x0188 0x04D0 0x0000 0x0 0x0 | ||
906 | #define MX6SX_PAD_QSPI1A_DATA2__USB_OTG1_PWR 0x0188 0x04D0 0x0000 0x1 0x0 | ||
907 | #define MX6SX_PAD_QSPI1A_DATA2__ECSPI5_SS1 0x0188 0x04D0 0x0000 0x2 0x0 | ||
908 | #define MX6SX_PAD_QSPI1A_DATA2__ESAI_TX_CLK 0x0188 0x04D0 0x078C 0x3 0x2 | ||
909 | #define MX6SX_PAD_QSPI1A_DATA2__CSI1_DATA_12 0x0188 0x04D0 0x06CC 0x4 0x1 | ||
910 | #define MX6SX_PAD_QSPI1A_DATA2__GPIO4_IO_18 0x0188 0x04D0 0x0000 0x5 0x0 | ||
911 | #define MX6SX_PAD_QSPI1A_DATA2__WEIM_DATA_4 0x0188 0x04D0 0x0000 0x6 0x0 | ||
912 | #define MX6SX_PAD_QSPI1A_DATA2__SIM_M_HADDR_6 0x0188 0x04D0 0x0000 0x7 0x0 | ||
913 | #define MX6SX_PAD_QSPI1A_DATA2__SDMA_DEBUG_PC_1 0x0188 0x04D0 0x0000 0x9 0x0 | ||
914 | #define MX6SX_PAD_QSPI1A_DATA3__QSPI1_A_DATA_3 0x018C 0x04D4 0x0000 0x0 0x0 | ||
915 | #define MX6SX_PAD_QSPI1A_DATA3__USB_OTG1_OC 0x018C 0x04D4 0x0860 0x1 0x2 | ||
916 | #define MX6SX_PAD_QSPI1A_DATA3__ECSPI5_SS2 0x018C 0x04D4 0x0000 0x2 0x0 | ||
917 | #define MX6SX_PAD_QSPI1A_DATA3__ESAI_TX0 0x018C 0x04D4 0x0790 0x3 0x2 | ||
918 | #define MX6SX_PAD_QSPI1A_DATA3__CSI1_DATA_11 0x018C 0x04D4 0x06C8 0x4 0x1 | ||
919 | #define MX6SX_PAD_QSPI1A_DATA3__GPIO4_IO_19 0x018C 0x04D4 0x0000 0x5 0x0 | ||
920 | #define MX6SX_PAD_QSPI1A_DATA3__WEIM_DATA_3 0x018C 0x04D4 0x0000 0x6 0x0 | ||
921 | #define MX6SX_PAD_QSPI1A_DATA3__SIM_M_HADDR_7 0x018C 0x04D4 0x0000 0x7 0x0 | ||
922 | #define MX6SX_PAD_QSPI1A_DATA3__SDMA_DEBUG_PC_2 0x018C 0x04D4 0x0000 0x9 0x0 | ||
923 | #define MX6SX_PAD_QSPI1A_DQS__QSPI1_A_DQS 0x0190 0x04D8 0x0000 0x0 0x0 | ||
924 | #define MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x0190 0x04D8 0x0000 0x1 0x0 | ||
925 | #define MX6SX_PAD_QSPI1A_DQS__CANFD_TX2 0x0190 0x04D8 0x0000 0x2 0x0 | ||
926 | #define MX6SX_PAD_QSPI1A_DQS__ECSPI5_MOSI 0x0190 0x04D8 0x0758 0x3 0x1 | ||
927 | #define MX6SX_PAD_QSPI1A_DQS__CSI1_DATA_15 0x0190 0x04D8 0x06D8 0x4 0x1 | ||
928 | #define MX6SX_PAD_QSPI1A_DQS__GPIO4_IO_20 0x0190 0x04D8 0x0000 0x5 0x0 | ||
929 | #define MX6SX_PAD_QSPI1A_DQS__WEIM_DATA_7 0x0190 0x04D8 0x0000 0x6 0x0 | ||
930 | #define MX6SX_PAD_QSPI1A_DQS__SIM_M_HADDR_13 0x0190 0x04D8 0x0000 0x7 0x0 | ||
931 | #define MX6SX_PAD_QSPI1A_DQS__SDMA_DEBUG_BUS_DEVICE_4 0x0190 0x04D8 0x0000 0x9 0x0 | ||
932 | #define MX6SX_PAD_QSPI1A_SCLK__QSPI1_A_SCLK 0x0194 0x04DC 0x0000 0x0 0x0 | ||
933 | #define MX6SX_PAD_QSPI1A_SCLK__ANATOP_OTG2_ID 0x0194 0x04DC 0x0628 0x1 0x2 | ||
934 | #define MX6SX_PAD_QSPI1A_SCLK__ECSPI1_SCLK 0x0194 0x04DC 0x0710 0x2 0x1 | ||
935 | #define MX6SX_PAD_QSPI1A_SCLK__ESAI_TX2_RX3 0x0194 0x04DC 0x0798 0x3 0x2 | ||
936 | #define MX6SX_PAD_QSPI1A_SCLK__CSI1_DATA_1 0x0194 0x04DC 0x06A4 0x4 0x1 | ||
937 | #define MX6SX_PAD_QSPI1A_SCLK__GPIO4_IO_21 0x0194 0x04DC 0x0000 0x5 0x0 | ||
938 | #define MX6SX_PAD_QSPI1A_SCLK__WEIM_DATA_0 0x0194 0x04DC 0x0000 0x6 0x0 | ||
939 | #define MX6SX_PAD_QSPI1A_SCLK__SIM_M_HADDR_0 0x0194 0x04DC 0x0000 0x7 0x0 | ||
940 | #define MX6SX_PAD_QSPI1A_SCLK__SDMA_DEBUG_PC_5 0x0194 0x04DC 0x0000 0x9 0x0 | ||
941 | #define MX6SX_PAD_QSPI1A_SS0_B__QSPI1_A_SS0_B 0x0198 0x04E0 0x0000 0x0 0x0 | ||
942 | #define MX6SX_PAD_QSPI1A_SS0_B__USB_OTG2_PWR 0x0198 0x04E0 0x0000 0x1 0x0 | ||
943 | #define MX6SX_PAD_QSPI1A_SS0_B__ECSPI1_SS0 0x0198 0x04E0 0x071C 0x2 0x1 | ||
944 | #define MX6SX_PAD_QSPI1A_SS0_B__ESAI_TX3_RX2 0x0198 0x04E0 0x079C 0x3 0x2 | ||
945 | #define MX6SX_PAD_QSPI1A_SS0_B__CSI1_DATA_0 0x0198 0x04E0 0x06A0 0x4 0x1 | ||
946 | #define MX6SX_PAD_QSPI1A_SS0_B__GPIO4_IO_22 0x0198 0x04E0 0x0000 0x5 0x0 | ||
947 | #define MX6SX_PAD_QSPI1A_SS0_B__WEIM_DATA_1 0x0198 0x04E0 0x0000 0x6 0x0 | ||
948 | #define MX6SX_PAD_QSPI1A_SS0_B__SIM_M_HADDR_1 0x0198 0x04E0 0x0000 0x7 0x0 | ||
949 | #define MX6SX_PAD_QSPI1A_SS0_B__SDMA_DEBUG_PC_4 0x0198 0x04E0 0x0000 0x9 0x0 | ||
950 | #define MX6SX_PAD_QSPI1A_SS1_B__QSPI1_A_SS1_B 0x019C 0x04E4 0x0000 0x0 0x0 | ||
951 | #define MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x019C 0x04E4 0x068C 0x1 0x2 | ||
952 | #define MX6SX_PAD_QSPI1A_SS1_B__CANFD_RX1 0x019C 0x04E4 0x0694 0x2 0x2 | ||
953 | #define MX6SX_PAD_QSPI1A_SS1_B__ECSPI5_MISO 0x019C 0x04E4 0x0754 0x3 0x1 | ||
954 | #define MX6SX_PAD_QSPI1A_SS1_B__CSI1_DATA_10 0x019C 0x04E4 0x06FC 0x4 0x1 | ||
955 | #define MX6SX_PAD_QSPI1A_SS1_B__GPIO4_IO_23 0x019C 0x04E4 0x0000 0x5 0x0 | ||
956 | #define MX6SX_PAD_QSPI1A_SS1_B__WEIM_DATA_2 0x019C 0x04E4 0x0000 0x6 0x0 | ||
957 | #define MX6SX_PAD_QSPI1A_SS1_B__SIM_M_HADDR_12 0x019C 0x04E4 0x0000 0x7 0x0 | ||
958 | #define MX6SX_PAD_QSPI1A_SS1_B__SDMA_DEBUG_PC_3 0x019C 0x04E4 0x0000 0x9 0x0 | ||
959 | #define MX6SX_PAD_QSPI1B_DATA0__QSPI1_B_DATA_0 0x01A0 0x04E8 0x0000 0x0 0x0 | ||
960 | #define MX6SX_PAD_QSPI1B_DATA0__UART3_CTS_B 0x01A0 0x04E8 0x083C 0x1 0x4 | ||
961 | #define MX6SX_PAD_QSPI1B_DATA0__ECSPI3_MOSI 0x01A0 0x04E8 0x0738 0x2 0x1 | ||
962 | #define MX6SX_PAD_QSPI1B_DATA0__ESAI_RX_FS 0x01A0 0x04E8 0x0778 0x3 0x2 | ||
963 | #define MX6SX_PAD_QSPI1B_DATA0__CSI1_DATA_22 0x01A0 0x04E8 0x06F4 0x4 0x1 | ||
964 | #define MX6SX_PAD_QSPI1B_DATA0__GPIO4_IO_24 0x01A0 0x04E8 0x0000 0x5 0x0 | ||
965 | #define MX6SX_PAD_QSPI1B_DATA0__WEIM_DATA_14 0x01A0 0x04E8 0x0000 0x6 0x0 | ||
966 | #define MX6SX_PAD_QSPI1B_DATA0__SIM_M_HADDR_9 0x01A0 0x04E8 0x0000 0x7 0x0 | ||
967 | #define MX6SX_PAD_QSPI1B_DATA1__QSPI1_B_DATA_1 0x01A4 0x04EC 0x0000 0x0 0x0 | ||
968 | #define MX6SX_PAD_QSPI1B_DATA1__UART3_RTS_B 0x01A4 0x04EC 0x083C 0x1 0x5 | ||
969 | #define MX6SX_PAD_QSPI1B_DATA1__ECSPI3_MISO 0x01A4 0x04EC 0x0734 0x2 0x1 | ||
970 | #define MX6SX_PAD_QSPI1B_DATA1__ESAI_RX_CLK 0x01A4 0x04EC 0x0788 0x3 0x2 | ||
971 | #define MX6SX_PAD_QSPI1B_DATA1__CSI1_DATA_21 0x01A4 0x04EC 0x06F0 0x4 0x1 | ||
972 | #define MX6SX_PAD_QSPI1B_DATA1__GPIO4_IO_25 0x01A4 0x04EC 0x0000 0x5 0x0 | ||
973 | #define MX6SX_PAD_QSPI1B_DATA1__WEIM_DATA_13 0x01A4 0x04EC 0x0000 0x6 0x0 | ||
974 | #define MX6SX_PAD_QSPI1B_DATA1__SIM_M_HADDR_8 0x01A4 0x04EC 0x0000 0x7 0x0 | ||
975 | #define MX6SX_PAD_QSPI1B_DATA2__QSPI1_B_DATA_2 0x01A8 0x04F0 0x0000 0x0 0x0 | ||
976 | #define MX6SX_PAD_QSPI1B_DATA2__I2C2_SDA 0x01A8 0x04F0 0x07B4 0x1 0x2 | ||
977 | #define MX6SX_PAD_QSPI1B_DATA2__ECSPI5_RDY 0x01A8 0x04F0 0x0000 0x2 0x0 | ||
978 | #define MX6SX_PAD_QSPI1B_DATA2__ESAI_TX5_RX0 0x01A8 0x04F0 0x07A4 0x3 0x2 | ||
979 | #define MX6SX_PAD_QSPI1B_DATA2__CSI1_DATA_20 0x01A8 0x04F0 0x06EC 0x4 0x1 | ||
980 | #define MX6SX_PAD_QSPI1B_DATA2__GPIO4_IO_26 0x01A8 0x04F0 0x0000 0x5 0x0 | ||
981 | #define MX6SX_PAD_QSPI1B_DATA2__WEIM_DATA_12 0x01A8 0x04F0 0x0000 0x6 0x0 | ||
982 | #define MX6SX_PAD_QSPI1B_DATA2__SIM_M_HADDR_5 0x01A8 0x04F0 0x0000 0x7 0x0 | ||
983 | #define MX6SX_PAD_QSPI1B_DATA3__QSPI1_B_DATA_3 0x01AC 0x04F4 0x0000 0x0 0x0 | ||
984 | #define MX6SX_PAD_QSPI1B_DATA3__I2C2_SCL 0x01AC 0x04F4 0x07B0 0x1 0x2 | ||
985 | #define MX6SX_PAD_QSPI1B_DATA3__ECSPI5_SS3 0x01AC 0x04F4 0x0000 0x2 0x0 | ||
986 | #define MX6SX_PAD_QSPI1B_DATA3__ESAI_TX_FS 0x01AC 0x04F4 0x077C 0x3 0x2 | ||
987 | #define MX6SX_PAD_QSPI1B_DATA3__CSI1_DATA_19 0x01AC 0x04F4 0x06E8 0x4 0x1 | ||
988 | #define MX6SX_PAD_QSPI1B_DATA3__GPIO4_IO_27 0x01AC 0x04F4 0x0000 0x5 0x0 | ||
989 | #define MX6SX_PAD_QSPI1B_DATA3__WEIM_DATA_11 0x01AC 0x04F4 0x0000 0x6 0x0 | ||
990 | #define MX6SX_PAD_QSPI1B_DATA3__SIM_M_HADDR_2 0x01AC 0x04F4 0x0000 0x7 0x0 | ||
991 | #define MX6SX_PAD_QSPI1B_DQS__QSPI1_B_DQS 0x01B0 0x04F8 0x0000 0x0 0x0 | ||
992 | #define MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x01B0 0x04F8 0x0000 0x1 0x0 | ||
993 | #define MX6SX_PAD_QSPI1B_DQS__CANFD_TX1 0x01B0 0x04F8 0x0000 0x2 0x0 | ||
994 | #define MX6SX_PAD_QSPI1B_DQS__ECSPI5_SS0 0x01B0 0x04F8 0x075C 0x3 0x1 | ||
995 | #define MX6SX_PAD_QSPI1B_DQS__CSI1_DATA_23 0x01B0 0x04F8 0x06F8 0x4 0x1 | ||
996 | #define MX6SX_PAD_QSPI1B_DQS__GPIO4_IO_28 0x01B0 0x04F8 0x0000 0x5 0x0 | ||
997 | #define MX6SX_PAD_QSPI1B_DQS__WEIM_DATA_15 0x01B0 0x04F8 0x0000 0x6 0x0 | ||
998 | #define MX6SX_PAD_QSPI1B_DQS__SIM_M_HADDR_15 0x01B0 0x04F8 0x0000 0x7 0x0 | ||
999 | #define MX6SX_PAD_QSPI1B_SCLK__QSPI1_B_SCLK 0x01B4 0x04FC 0x0000 0x0 0x0 | ||
1000 | #define MX6SX_PAD_QSPI1B_SCLK__UART3_RX 0x01B4 0x04FC 0x0840 0x1 0x4 | ||
1001 | #define MX6SX_PAD_QSPI1B_SCLK__UART3_TX 0x01B4 0x04FC 0x0000 0x0 0x0 | ||
1002 | #define MX6SX_PAD_QSPI1B_SCLK__ECSPI3_SCLK 0x01B4 0x04FC 0x0730 0x2 0x1 | ||
1003 | #define MX6SX_PAD_QSPI1B_SCLK__ESAI_RX_HF_CLK 0x01B4 0x04FC 0x0780 0x3 0x2 | ||
1004 | #define MX6SX_PAD_QSPI1B_SCLK__CSI1_DATA_16 0x01B4 0x04FC 0x06DC 0x4 0x1 | ||
1005 | #define MX6SX_PAD_QSPI1B_SCLK__GPIO4_IO_29 0x01B4 0x04FC 0x0000 0x5 0x0 | ||
1006 | #define MX6SX_PAD_QSPI1B_SCLK__WEIM_DATA_8 0x01B4 0x04FC 0x0000 0x6 0x0 | ||
1007 | #define MX6SX_PAD_QSPI1B_SCLK__SIM_M_HADDR_11 0x01B4 0x04FC 0x0000 0x7 0x0 | ||
1008 | #define MX6SX_PAD_QSPI1B_SS0_B__QSPI1_B_SS0_B 0x01B8 0x0500 0x0000 0x0 0x0 | ||
1009 | #define MX6SX_PAD_QSPI1B_SS0_B__UART3_RX 0x01B8 0x0500 0x0840 0x1 0x5 | ||
1010 | #define MX6SX_PAD_QSPI1B_SS0_B__UART3_TX 0x01B8 0x0500 0x0000 0x1 0x0 | ||
1011 | #define MX6SX_PAD_QSPI1B_SS0_B__ECSPI3_SS0 0x01B8 0x0500 0x073C 0x2 0x1 | ||
1012 | #define MX6SX_PAD_QSPI1B_SS0_B__ESAI_TX_HF_CLK 0x01B8 0x0500 0x0784 0x3 0x3 | ||
1013 | #define MX6SX_PAD_QSPI1B_SS0_B__CSI1_DATA_17 0x01B8 0x0500 0x06E0 0x4 0x1 | ||
1014 | #define MX6SX_PAD_QSPI1B_SS0_B__GPIO4_IO_30 0x01B8 0x0500 0x0000 0x5 0x0 | ||
1015 | #define MX6SX_PAD_QSPI1B_SS0_B__WEIM_DATA_9 0x01B8 0x0500 0x0000 0x6 0x0 | ||
1016 | #define MX6SX_PAD_QSPI1B_SS0_B__SIM_M_HADDR_10 0x01B8 0x0500 0x0000 0x7 0x0 | ||
1017 | #define MX6SX_PAD_QSPI1B_SS1_B__QSPI1_B_SS1_B 0x01BC 0x0504 0x0000 0x0 0x0 | ||
1018 | #define MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x01BC 0x0504 0x0690 0x1 0x2 | ||
1019 | #define MX6SX_PAD_QSPI1B_SS1_B__CANFD_RX2 0x01BC 0x0504 0x0698 0x2 0x2 | ||
1020 | #define MX6SX_PAD_QSPI1B_SS1_B__ECSPI5_SCLK 0x01BC 0x0504 0x0750 0x3 0x1 | ||
1021 | #define MX6SX_PAD_QSPI1B_SS1_B__CSI1_DATA_18 0x01BC 0x0504 0x06E4 0x4 0x1 | ||
1022 | #define MX6SX_PAD_QSPI1B_SS1_B__GPIO4_IO_31 0x01BC 0x0504 0x0000 0x5 0x0 | ||
1023 | #define MX6SX_PAD_QSPI1B_SS1_B__WEIM_DATA_10 0x01BC 0x0504 0x0000 0x6 0x0 | ||
1024 | #define MX6SX_PAD_QSPI1B_SS1_B__SIM_M_HADDR_14 0x01BC 0x0504 0x0000 0x7 0x0 | ||
1025 | #define MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x01C0 0x0508 0x0000 0x0 0x0 | ||
1026 | #define MX6SX_PAD_RGMII1_RD0__GPIO5_IO_0 0x01C0 0x0508 0x0000 0x5 0x0 | ||
1027 | #define MX6SX_PAD_RGMII1_RD0__CSI2_DATA_10 0x01C0 0x0508 0x0000 0x6 0x0 | ||
1028 | #define MX6SX_PAD_RGMII1_RD0__ANATOP_TESTI_0 0x01C0 0x0508 0x0000 0x7 0x0 | ||
1029 | #define MX6SX_PAD_RGMII1_RD0__RAWNAND_TESTER_TRIGGER 0x01C0 0x0508 0x0000 0x8 0x0 | ||
1030 | #define MX6SX_PAD_RGMII1_RD0__PCIE_CTRL_DEBUG_0 0x01C0 0x0508 0x0000 0x9 0x0 | ||
1031 | #define MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x01C4 0x050C 0x0000 0x0 0x0 | ||
1032 | #define MX6SX_PAD_RGMII1_RD1__GPIO5_IO_1 0x01C4 0x050C 0x0000 0x5 0x0 | ||
1033 | #define MX6SX_PAD_RGMII1_RD1__CSI2_DATA_11 0x01C4 0x050C 0x0000 0x6 0x0 | ||
1034 | #define MX6SX_PAD_RGMII1_RD1__ANATOP_TESTI_1 0x01C4 0x050C 0x0000 0x7 0x0 | ||
1035 | #define MX6SX_PAD_RGMII1_RD1__USDHC1_TESTER_TRIGGER 0x01C4 0x050C 0x0000 0x8 0x0 | ||
1036 | #define MX6SX_PAD_RGMII1_RD1__PCIE_CTRL_DEBUG_1 0x01C4 0x050C 0x0000 0x9 0x0 | ||
1037 | #define MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2 0x01C8 0x0510 0x0000 0x0 0x0 | ||
1038 | #define MX6SX_PAD_RGMII1_RD2__GPIO5_IO_2 0x01C8 0x0510 0x0000 0x5 0x0 | ||
1039 | #define MX6SX_PAD_RGMII1_RD2__CSI2_DATA_12 0x01C8 0x0510 0x0000 0x6 0x0 | ||
1040 | #define MX6SX_PAD_RGMII1_RD2__ANATOP_TESTI_2 0x01C8 0x0510 0x0000 0x7 0x0 | ||
1041 | #define MX6SX_PAD_RGMII1_RD2__USDHC2_TESTER_TRIGGER 0x01C8 0x0510 0x0000 0x8 0x0 | ||
1042 | #define MX6SX_PAD_RGMII1_RD2__PCIE_CTRL_DEBUG_2 0x01C8 0x0510 0x0000 0x9 0x0 | ||
1043 | #define MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3 0x01CC 0x0514 0x0000 0x0 0x0 | ||
1044 | #define MX6SX_PAD_RGMII1_RD3__GPIO5_IO_3 0x01CC 0x0514 0x0000 0x5 0x0 | ||
1045 | #define MX6SX_PAD_RGMII1_RD3__CSI2_DATA_13 0x01CC 0x0514 0x0000 0x6 0x0 | ||
1046 | #define MX6SX_PAD_RGMII1_RD3__ANATOP_TESTI_3 0x01CC 0x0514 0x0000 0x7 0x0 | ||
1047 | #define MX6SX_PAD_RGMII1_RD3__USDHC3_TESTER_TRIGGER 0x01CC 0x0514 0x0000 0x8 0x0 | ||
1048 | #define MX6SX_PAD_RGMII1_RD3__PCIE_CTRL_DEBUG_3 0x01CC 0x0514 0x0000 0x9 0x0 | ||
1049 | #define MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x01D0 0x0518 0x0000 0x0 0x0 | ||
1050 | #define MX6SX_PAD_RGMII1_RX_CTL__GPIO5_IO_4 0x01D0 0x0518 0x0000 0x5 0x0 | ||
1051 | #define MX6SX_PAD_RGMII1_RX_CTL__CSI2_DATA_14 0x01D0 0x0518 0x0000 0x6 0x0 | ||
1052 | #define MX6SX_PAD_RGMII1_RX_CTL__ANATOP_TESTO_0 0x01D0 0x0518 0x0000 0x7 0x0 | ||
1053 | #define MX6SX_PAD_RGMII1_RX_CTL__USDHC4_TESTER_TRIGGER 0x01D0 0x0518 0x0000 0x8 0x0 | ||
1054 | #define MX6SX_PAD_RGMII1_RX_CTL__PCIE_CTRL_DEBUG_4 0x01D0 0x0518 0x0000 0x9 0x0 | ||
1055 | #define MX6SX_PAD_RGMII1_RXC__ENET1_RX_CLK 0x01D4 0x051C 0x0768 0x0 0x1 | ||
1056 | #define MX6SX_PAD_RGMII1_RXC__ENET1_RX_ER 0x01D4 0x051C 0x0000 0x1 0x0 | ||
1057 | #define MX6SX_PAD_RGMII1_RXC__GPIO5_IO_5 0x01D4 0x051C 0x0000 0x5 0x0 | ||
1058 | #define MX6SX_PAD_RGMII1_RXC__CSI2_DATA_15 0x01D4 0x051C 0x0000 0x6 0x0 | ||
1059 | #define MX6SX_PAD_RGMII1_RXC__ANATOP_TESTO_1 0x01D4 0x051C 0x0000 0x7 0x0 | ||
1060 | #define MX6SX_PAD_RGMII1_RXC__ECSPI1_TESTER_TRIGGER 0x01D4 0x051C 0x0000 0x8 0x0 | ||
1061 | #define MX6SX_PAD_RGMII1_RXC__PCIE_CTRL_DEBUG_5 0x01D4 0x051C 0x0000 0x9 0x0 | ||
1062 | #define MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0x01D8 0x0520 0x0000 0x0 0x0 | ||
1063 | #define MX6SX_PAD_RGMII1_TD0__SAI2_RX_SYNC 0x01D8 0x0520 0x0810 0x2 0x1 | ||
1064 | #define MX6SX_PAD_RGMII1_TD0__GPIO5_IO_6 0x01D8 0x0520 0x0000 0x5 0x0 | ||
1065 | #define MX6SX_PAD_RGMII1_TD0__CSI2_DATA_16 0x01D8 0x0520 0x0000 0x6 0x0 | ||
1066 | #define MX6SX_PAD_RGMII1_TD0__ANATOP_TESTO_2 0x01D8 0x0520 0x0000 0x7 0x0 | ||
1067 | #define MX6SX_PAD_RGMII1_TD0__ECSPI2_TESTER_TRIGGER 0x01D8 0x0520 0x0000 0x8 0x0 | ||
1068 | #define MX6SX_PAD_RGMII1_TD0__PCIE_CTRL_DEBUG_6 0x01D8 0x0520 0x0000 0x9 0x0 | ||
1069 | #define MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0x01DC 0x0524 0x0000 0x0 0x0 | ||
1070 | #define MX6SX_PAD_RGMII1_TD1__SAI2_RX_BCLK 0x01DC 0x0524 0x0808 0x2 0x1 | ||
1071 | #define MX6SX_PAD_RGMII1_TD1__GPIO5_IO_7 0x01DC 0x0524 0x0000 0x5 0x0 | ||
1072 | #define MX6SX_PAD_RGMII1_TD1__CSI2_DATA_17 0x01DC 0x0524 0x0000 0x6 0x0 | ||
1073 | #define MX6SX_PAD_RGMII1_TD1__ANATOP_TESTO_3 0x01DC 0x0524 0x0000 0x7 0x0 | ||
1074 | #define MX6SX_PAD_RGMII1_TD1__ECSPI3_TESTER_TRIGGER 0x01DC 0x0524 0x0000 0x8 0x0 | ||
1075 | #define MX6SX_PAD_RGMII1_TD1__PCIE_CTRL_DEBUG_7 0x01DC 0x0524 0x0000 0x9 0x0 | ||
1076 | #define MX6SX_PAD_RGMII1_TD2__ENET1_TX_DATA_2 0x01E0 0x0528 0x0000 0x0 0x0 | ||
1077 | #define MX6SX_PAD_RGMII1_TD2__SAI2_TX_SYNC 0x01E0 0x0528 0x0818 0x2 0x1 | ||
1078 | #define MX6SX_PAD_RGMII1_TD2__GPIO5_IO_8 0x01E0 0x0528 0x0000 0x5 0x0 | ||
1079 | #define MX6SX_PAD_RGMII1_TD2__CSI2_DATA_18 0x01E0 0x0528 0x0000 0x6 0x0 | ||
1080 | #define MX6SX_PAD_RGMII1_TD2__ANATOP_TESTO_4 0x01E0 0x0528 0x0000 0x7 0x0 | ||
1081 | #define MX6SX_PAD_RGMII1_TD2__ECSPI4_TESTER_TRIGGER 0x01E0 0x0528 0x0000 0x8 0x0 | ||
1082 | #define MX6SX_PAD_RGMII1_TD2__PCIE_CTRL_DEBUG_8 0x01E0 0x0528 0x0000 0x9 0x0 | ||
1083 | #define MX6SX_PAD_RGMII1_TD3__ENET1_TX_DATA_3 0x01E4 0x052C 0x0000 0x0 0x0 | ||
1084 | #define MX6SX_PAD_RGMII1_TD3__SAI2_TX_BCLK 0x01E4 0x052C 0x0814 0x2 0x1 | ||
1085 | #define MX6SX_PAD_RGMII1_TD3__GPIO5_IO_9 0x01E4 0x052C 0x0000 0x5 0x0 | ||
1086 | #define MX6SX_PAD_RGMII1_TD3__CSI2_DATA_19 0x01E4 0x052C 0x0000 0x6 0x0 | ||
1087 | #define MX6SX_PAD_RGMII1_TD3__ANATOP_TESTO_5 0x01E4 0x052C 0x0000 0x7 0x0 | ||
1088 | #define MX6SX_PAD_RGMII1_TD3__ECSPI5_TESTER_TRIGGER 0x01E4 0x052C 0x0000 0x8 0x0 | ||
1089 | #define MX6SX_PAD_RGMII1_TD3__PCIE_CTRL_DEBUG_9 0x01E4 0x052C 0x0000 0x9 0x0 | ||
1090 | #define MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0x01E8 0x0530 0x0000 0x0 0x0 | ||
1091 | #define MX6SX_PAD_RGMII1_TX_CTL__SAI2_RX_DATA_0 0x01E8 0x0530 0x080C 0x2 0x1 | ||
1092 | #define MX6SX_PAD_RGMII1_TX_CTL__GPIO5_IO_10 0x01E8 0x0530 0x0000 0x5 0x0 | ||
1093 | #define MX6SX_PAD_RGMII1_TX_CTL__CSI2_DATA_0 0x01E8 0x0530 0x0000 0x6 0x0 | ||
1094 | #define MX6SX_PAD_RGMII1_TX_CTL__ANATOP_TESTO_6 0x01E8 0x0530 0x0000 0x7 0x0 | ||
1095 | #define MX6SX_PAD_RGMII1_TX_CTL__QSPI1_TESTER_TRIGGER 0x01E8 0x0530 0x0000 0x8 0x0 | ||
1096 | #define MX6SX_PAD_RGMII1_TX_CTL__PCIE_CTRL_DEBUG_10 0x01E8 0x0530 0x0000 0x9 0x0 | ||
1097 | #define MX6SX_PAD_RGMII1_TXC__ENET1_RGMII_TXC 0x01EC 0x0534 0x0000 0x0 0x0 | ||
1098 | #define MX6SX_PAD_RGMII1_TXC__ENET1_TX_ER 0x01EC 0x0534 0x0000 0x1 0x0 | ||
1099 | #define MX6SX_PAD_RGMII1_TXC__SAI2_TX_DATA_0 0x01EC 0x0534 0x0000 0x2 0x0 | ||
1100 | #define MX6SX_PAD_RGMII1_TXC__GPIO5_IO_11 0x01EC 0x0534 0x0000 0x5 0x0 | ||
1101 | #define MX6SX_PAD_RGMII1_TXC__CSI2_DATA_1 0x01EC 0x0534 0x0000 0x6 0x0 | ||
1102 | #define MX6SX_PAD_RGMII1_TXC__ANATOP_TESTO_7 0x01EC 0x0534 0x0000 0x7 0x0 | ||
1103 | #define MX6SX_PAD_RGMII1_TXC__QSPI2_TESTER_TRIGGER 0x01EC 0x0534 0x0000 0x8 0x0 | ||
1104 | #define MX6SX_PAD_RGMII1_TXC__PCIE_CTRL_DEBUG_11 0x01EC 0x0534 0x0000 0x9 0x0 | ||
1105 | #define MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0 0x01F0 0x0538 0x0000 0x0 0x0 | ||
1106 | #define MX6SX_PAD_RGMII2_RD0__PWM4_OUT 0x01F0 0x0538 0x0000 0x2 0x0 | ||
1107 | #define MX6SX_PAD_RGMII2_RD0__GPIO5_IO_12 0x01F0 0x0538 0x0000 0x5 0x0 | ||
1108 | #define MX6SX_PAD_RGMII2_RD0__CSI2_DATA_2 0x01F0 0x0538 0x0000 0x6 0x0 | ||
1109 | #define MX6SX_PAD_RGMII2_RD0__ANATOP_TESTO_8 0x01F0 0x0538 0x0000 0x7 0x0 | ||
1110 | #define MX6SX_PAD_RGMII2_RD0__VDEC_DEBUG_18 0x01F0 0x0538 0x0000 0x8 0x0 | ||
1111 | #define MX6SX_PAD_RGMII2_RD0__PCIE_CTRL_DEBUG_12 0x01F0 0x0538 0x0000 0x9 0x0 | ||
1112 | #define MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1 0x01F4 0x053C 0x0000 0x0 0x0 | ||
1113 | #define MX6SX_PAD_RGMII2_RD1__PWM3_OUT 0x01F4 0x053C 0x0000 0x2 0x0 | ||
1114 | #define MX6SX_PAD_RGMII2_RD1__GPIO5_IO_13 0x01F4 0x053C 0x0000 0x5 0x0 | ||
1115 | #define MX6SX_PAD_RGMII2_RD1__CSI2_DATA_3 0x01F4 0x053C 0x0000 0x6 0x0 | ||
1116 | #define MX6SX_PAD_RGMII2_RD1__ANATOP_TESTO_9 0x01F4 0x053C 0x0000 0x7 0x0 | ||
1117 | #define MX6SX_PAD_RGMII2_RD1__VDEC_DEBUG_19 0x01F4 0x053C 0x0000 0x8 0x0 | ||
1118 | #define MX6SX_PAD_RGMII2_RD1__PCIE_CTRL_DEBUG_13 0x01F4 0x053C 0x0000 0x9 0x0 | ||
1119 | #define MX6SX_PAD_RGMII2_RD2__ENET2_RX_DATA_2 0x01F8 0x0540 0x0000 0x0 0x0 | ||
1120 | #define MX6SX_PAD_RGMII2_RD2__PWM2_OUT 0x01F8 0x0540 0x0000 0x2 0x0 | ||
1121 | #define MX6SX_PAD_RGMII2_RD2__GPIO5_IO_14 0x01F8 0x0540 0x0000 0x5 0x0 | ||
1122 | #define MX6SX_PAD_RGMII2_RD2__CSI2_DATA_4 0x01F8 0x0540 0x0000 0x6 0x0 | ||
1123 | #define MX6SX_PAD_RGMII2_RD2__ANATOP_TESTO_10 0x01F8 0x0540 0x0000 0x7 0x0 | ||
1124 | #define MX6SX_PAD_RGMII2_RD2__VDEC_DEBUG_20 0x01F8 0x0540 0x0000 0x8 0x0 | ||
1125 | #define MX6SX_PAD_RGMII2_RD2__PCIE_CTRL_DEBUG_14 0x01F8 0x0540 0x0000 0x9 0x0 | ||
1126 | #define MX6SX_PAD_RGMII2_RD3__ENET2_RX_DATA_3 0x01FC 0x0544 0x0000 0x0 0x0 | ||
1127 | #define MX6SX_PAD_RGMII2_RD3__PWM1_OUT 0x01FC 0x0544 0x0000 0x2 0x0 | ||
1128 | #define MX6SX_PAD_RGMII2_RD3__GPIO5_IO_15 0x01FC 0x0544 0x0000 0x5 0x0 | ||
1129 | #define MX6SX_PAD_RGMII2_RD3__CSI2_DATA_5 0x01FC 0x0544 0x0000 0x6 0x0 | ||
1130 | #define MX6SX_PAD_RGMII2_RD3__ANATOP_TESTO_11 0x01FC 0x0544 0x0000 0x7 0x0 | ||
1131 | #define MX6SX_PAD_RGMII2_RD3__VDEC_DEBUG_21 0x01FC 0x0544 0x0000 0x8 0x0 | ||
1132 | #define MX6SX_PAD_RGMII2_RD3__PCIE_CTRL_DEBUG_15 0x01FC 0x0544 0x0000 0x9 0x0 | ||
1133 | #define MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN 0x0200 0x0548 0x0000 0x0 0x0 | ||
1134 | #define MX6SX_PAD_RGMII2_RX_CTL__GPIO5_IO_16 0x0200 0x0548 0x0000 0x5 0x0 | ||
1135 | #define MX6SX_PAD_RGMII2_RX_CTL__CSI2_DATA_6 0x0200 0x0548 0x0000 0x6 0x0 | ||
1136 | #define MX6SX_PAD_RGMII2_RX_CTL__ANATOP_TESTO_12 0x0200 0x0548 0x0000 0x7 0x0 | ||
1137 | #define MX6SX_PAD_RGMII2_RX_CTL__VDEC_DEBUG_22 0x0200 0x0548 0x0000 0x8 0x0 | ||
1138 | #define MX6SX_PAD_RGMII2_RX_CTL__PCIE_CTRL_DEBUG_16 0x0200 0x0548 0x0000 0x9 0x0 | ||
1139 | #define MX6SX_PAD_RGMII2_RXC__ENET2_RX_CLK 0x0204 0x054C 0x0774 0x0 0x1 | ||
1140 | #define MX6SX_PAD_RGMII2_RXC__ENET2_RX_ER 0x0204 0x054C 0x0000 0x1 0x0 | ||
1141 | #define MX6SX_PAD_RGMII2_RXC__GPIO5_IO_17 0x0204 0x054C 0x0000 0x5 0x0 | ||
1142 | #define MX6SX_PAD_RGMII2_RXC__CSI2_DATA_7 0x0204 0x054C 0x0000 0x6 0x0 | ||
1143 | #define MX6SX_PAD_RGMII2_RXC__ANATOP_TESTO_13 0x0204 0x054C 0x0000 0x7 0x0 | ||
1144 | #define MX6SX_PAD_RGMII2_RXC__VDEC_DEBUG_23 0x0204 0x054C 0x0000 0x8 0x0 | ||
1145 | #define MX6SX_PAD_RGMII2_RXC__PCIE_CTRL_DEBUG_17 0x0204 0x054C 0x0000 0x9 0x0 | ||
1146 | #define MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0 0x0208 0x0550 0x0000 0x0 0x0 | ||
1147 | #define MX6SX_PAD_RGMII2_TD0__SAI1_RX_SYNC 0x0208 0x0550 0x07FC 0x2 0x1 | ||
1148 | #define MX6SX_PAD_RGMII2_TD0__PWM8_OUT 0x0208 0x0550 0x0000 0x3 0x0 | ||
1149 | #define MX6SX_PAD_RGMII2_TD0__GPIO5_IO_18 0x0208 0x0550 0x0000 0x5 0x0 | ||
1150 | #define MX6SX_PAD_RGMII2_TD0__CSI2_DATA_8 0x0208 0x0550 0x0000 0x6 0x0 | ||
1151 | #define MX6SX_PAD_RGMII2_TD0__ANATOP_TESTO_14 0x0208 0x0550 0x0000 0x7 0x0 | ||
1152 | #define MX6SX_PAD_RGMII2_TD0__VDEC_DEBUG_24 0x0208 0x0550 0x0000 0x8 0x0 | ||
1153 | #define MX6SX_PAD_RGMII2_TD0__PCIE_CTRL_DEBUG_18 0x0208 0x0550 0x0000 0x9 0x0 | ||
1154 | #define MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1 0x020C 0x0554 0x0000 0x0 0x0 | ||
1155 | #define MX6SX_PAD_RGMII2_TD1__SAI1_RX_BCLK 0x020C 0x0554 0x07F4 0x2 0x1 | ||
1156 | #define MX6SX_PAD_RGMII2_TD1__PWM7_OUT 0x020C 0x0554 0x0000 0x3 0x0 | ||
1157 | #define MX6SX_PAD_RGMII2_TD1__GPIO5_IO_19 0x020C 0x0554 0x0000 0x5 0x0 | ||
1158 | #define MX6SX_PAD_RGMII2_TD1__CSI2_DATA_9 0x020C 0x0554 0x0000 0x6 0x0 | ||
1159 | #define MX6SX_PAD_RGMII2_TD1__ANATOP_TESTO_15 0x020C 0x0554 0x0000 0x7 0x0 | ||
1160 | #define MX6SX_PAD_RGMII2_TD1__VDEC_DEBUG_25 0x020C 0x0554 0x0000 0x8 0x0 | ||
1161 | #define MX6SX_PAD_RGMII2_TD1__PCIE_CTRL_DEBUG_19 0x020C 0x0554 0x0000 0x9 0x0 | ||
1162 | #define MX6SX_PAD_RGMII2_TD2__ENET2_TX_DATA_2 0x0210 0x0558 0x0000 0x0 0x0 | ||
1163 | #define MX6SX_PAD_RGMII2_TD2__SAI1_TX_SYNC 0x0210 0x0558 0x0804 0x2 0x1 | ||
1164 | #define MX6SX_PAD_RGMII2_TD2__PWM6_OUT 0x0210 0x0558 0x0000 0x3 0x0 | ||
1165 | #define MX6SX_PAD_RGMII2_TD2__GPIO5_IO_20 0x0210 0x0558 0x0000 0x5 0x0 | ||
1166 | #define MX6SX_PAD_RGMII2_TD2__CSI2_VSYNC 0x0210 0x0558 0x0000 0x6 0x0 | ||
1167 | #define MX6SX_PAD_RGMII2_TD2__SJC_FAIL 0x0210 0x0558 0x0000 0x7 0x0 | ||
1168 | #define MX6SX_PAD_RGMII2_TD2__VDEC_DEBUG_26 0x0210 0x0558 0x0000 0x8 0x0 | ||
1169 | #define MX6SX_PAD_RGMII2_TD2__PCIE_CTRL_DEBUG_20 0x0210 0x0558 0x0000 0x9 0x0 | ||
1170 | #define MX6SX_PAD_RGMII2_TD3__ENET2_TX_DATA_3 0x0214 0x055C 0x0000 0x0 0x0 | ||
1171 | #define MX6SX_PAD_RGMII2_TD3__SAI1_TX_BCLK 0x0214 0x055C 0x0800 0x2 0x1 | ||
1172 | #define MX6SX_PAD_RGMII2_TD3__PWM5_OUT 0x0214 0x055C 0x0000 0x3 0x0 | ||
1173 | #define MX6SX_PAD_RGMII2_TD3__GPIO5_IO_21 0x0214 0x055C 0x0000 0x5 0x0 | ||
1174 | #define MX6SX_PAD_RGMII2_TD3__CSI2_HSYNC 0x0214 0x055C 0x0000 0x6 0x0 | ||
1175 | #define MX6SX_PAD_RGMII2_TD3__SJC_JTAG_ACT 0x0214 0x055C 0x0000 0x7 0x0 | ||
1176 | #define MX6SX_PAD_RGMII2_TD3__VDEC_DEBUG_27 0x0214 0x055C 0x0000 0x8 0x0 | ||
1177 | #define MX6SX_PAD_RGMII2_TD3__PCIE_CTRL_DEBUG_21 0x0214 0x055C 0x0000 0x9 0x0 | ||
1178 | #define MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN 0x0218 0x0560 0x0000 0x0 0x0 | ||
1179 | #define MX6SX_PAD_RGMII2_TX_CTL__SAI1_RX_DATA_0 0x0218 0x0560 0x07F8 0x2 0x1 | ||
1180 | #define MX6SX_PAD_RGMII2_TX_CTL__GPIO5_IO_22 0x0218 0x0560 0x0000 0x5 0x0 | ||
1181 | #define MX6SX_PAD_RGMII2_TX_CTL__CSI2_FIELD 0x0218 0x0560 0x0000 0x6 0x0 | ||
1182 | #define MX6SX_PAD_RGMII2_TX_CTL__SJC_DE_B 0x0218 0x0560 0x0000 0x7 0x0 | ||
1183 | #define MX6SX_PAD_RGMII2_TX_CTL__VDEC_DEBUG_28 0x0218 0x0560 0x0000 0x8 0x0 | ||
1184 | #define MX6SX_PAD_RGMII2_TX_CTL__PCIE_CTRL_DEBUG_22 0x0218 0x0560 0x0000 0x9 0x0 | ||
1185 | #define MX6SX_PAD_RGMII2_TXC__ENET2_RGMII_TXC 0x021C 0x0564 0x0000 0x0 0x0 | ||
1186 | #define MX6SX_PAD_RGMII2_TXC__ENET2_TX_ER 0x021C 0x0564 0x0000 0x1 0x0 | ||
1187 | #define MX6SX_PAD_RGMII2_TXC__SAI1_TX_DATA_0 0x021C 0x0564 0x0000 0x2 0x0 | ||
1188 | #define MX6SX_PAD_RGMII2_TXC__GPIO5_IO_23 0x021C 0x0564 0x0000 0x5 0x0 | ||
1189 | #define MX6SX_PAD_RGMII2_TXC__CSI2_PIXCLK 0x021C 0x0564 0x0000 0x6 0x0 | ||
1190 | #define MX6SX_PAD_RGMII2_TXC__SJC_DONE 0x021C 0x0564 0x0000 0x7 0x0 | ||
1191 | #define MX6SX_PAD_RGMII2_TXC__VDEC_DEBUG_29 0x021C 0x0564 0x0000 0x8 0x0 | ||
1192 | #define MX6SX_PAD_RGMII2_TXC__PCIE_CTRL_DEBUG_23 0x021C 0x0564 0x0000 0x9 0x0 | ||
1193 | #define MX6SX_PAD_SD1_CLK__USDHC1_CLK 0x0220 0x0568 0x0000 0x0 0x0 | ||
1194 | #define MX6SX_PAD_SD1_CLK__AUDMUX_AUD5_RXFS 0x0220 0x0568 0x0668 0x1 0x1 | ||
1195 | #define MX6SX_PAD_SD1_CLK__WDOG2_WDOG_B 0x0220 0x0568 0x0000 0x2 0x0 | ||
1196 | #define MX6SX_PAD_SD1_CLK__GPT_CLK 0x0220 0x0568 0x0000 0x3 0x0 | ||
1197 | #define MX6SX_PAD_SD1_CLK__WDOG2_WDOG_RST_B_DEB 0x0220 0x0568 0x0000 0x4 0x0 | ||
1198 | #define MX6SX_PAD_SD1_CLK__GPIO6_IO_0 0x0220 0x0568 0x0000 0x5 0x0 | ||
1199 | #define MX6SX_PAD_SD1_CLK__ENET2_1588_EVENT1_OUT 0x0220 0x0568 0x0000 0x6 0x0 | ||
1200 | #define MX6SX_PAD_SD1_CLK__CCM_OUT1 0x0220 0x0568 0x0000 0x7 0x0 | ||
1201 | #define MX6SX_PAD_SD1_CLK__VADC_ADC_PROC_CLK 0x0220 0x0568 0x0000 0x8 0x0 | ||
1202 | #define MX6SX_PAD_SD1_CLK__MMDC_DEBUG_45 0x0220 0x0568 0x0000 0x9 0x0 | ||
1203 | #define MX6SX_PAD_SD1_CMD__USDHC1_CMD 0x0224 0x056C 0x0000 0x0 0x0 | ||
1204 | #define MX6SX_PAD_SD1_CMD__AUDMUX_AUD5_RXC 0x0224 0x056C 0x0664 0x1 0x1 | ||
1205 | #define MX6SX_PAD_SD1_CMD__WDOG1_WDOG_B 0x0224 0x056C 0x0000 0x2 0x0 | ||
1206 | #define MX6SX_PAD_SD1_CMD__GPT_COMPARE1 0x0224 0x056C 0x0000 0x3 0x0 | ||
1207 | #define MX6SX_PAD_SD1_CMD__WDOG1_WDOG_RST_B_DEB 0x0224 0x056C 0x0000 0x4 0x0 | ||
1208 | #define MX6SX_PAD_SD1_CMD__GPIO6_IO_1 0x0224 0x056C 0x0000 0x5 0x0 | ||
1209 | #define MX6SX_PAD_SD1_CMD__ENET2_1588_EVENT1_IN 0x0224 0x056C 0x0000 0x6 0x0 | ||
1210 | #define MX6SX_PAD_SD1_CMD__CCM_CLKO1 0x0224 0x056C 0x0000 0x7 0x0 | ||
1211 | #define MX6SX_PAD_SD1_CMD__VADC_EXT_SYSCLK 0x0224 0x056C 0x0000 0x8 0x0 | ||
1212 | #define MX6SX_PAD_SD1_CMD__MMDC_DEBUG_46 0x0224 0x056C 0x0000 0x9 0x0 | ||
1213 | #define MX6SX_PAD_SD1_DATA0__USDHC1_DATA0 0x0228 0x0570 0x0000 0x0 0x0 | ||
1214 | #define MX6SX_PAD_SD1_DATA0__AUDMUX_AUD5_RXD 0x0228 0x0570 0x065C 0x1 0x1 | ||
1215 | #define MX6SX_PAD_SD1_DATA0__CAAM_WRAPPER_RNG_OSC_OBS 0x0228 0x0570 0x0000 0x2 0x0 | ||
1216 | #define MX6SX_PAD_SD1_DATA0__GPT_CAPTURE1 0x0228 0x0570 0x0000 0x3 0x0 | ||
1217 | #define MX6SX_PAD_SD1_DATA0__UART2_RX 0x0228 0x0570 0x0838 0x4 0x2 | ||
1218 | #define MX6SX_PAD_SD1_DATA0__UART2_TX 0x0228 0x0570 0x0000 0x4 0x0 | ||
1219 | #define MX6SX_PAD_SD1_DATA0__GPIO6_IO_2 0x0228 0x0570 0x0000 0x5 0x0 | ||
1220 | #define MX6SX_PAD_SD1_DATA0__ENET1_1588_EVENT1_IN 0x0228 0x0570 0x0000 0x6 0x0 | ||
1221 | #define MX6SX_PAD_SD1_DATA0__CCM_OUT2 0x0228 0x0570 0x0000 0x7 0x0 | ||
1222 | #define MX6SX_PAD_SD1_DATA0__VADC_CLAMP_UP 0x0228 0x0570 0x0000 0x8 0x0 | ||
1223 | #define MX6SX_PAD_SD1_DATA0__MMDC_DEBUG_48 0x0228 0x0570 0x0000 0x9 0x0 | ||
1224 | #define MX6SX_PAD_SD1_DATA1__USDHC1_DATA1 0x022C 0x0574 0x0000 0x0 0x0 | ||
1225 | #define MX6SX_PAD_SD1_DATA1__AUDMUX_AUD5_TXC 0x022C 0x0574 0x066C 0x1 0x1 | ||
1226 | #define MX6SX_PAD_SD1_DATA1__PWM4_OUT 0x022C 0x0574 0x0000 0x2 0x0 | ||
1227 | #define MX6SX_PAD_SD1_DATA1__GPT_CAPTURE2 0x022C 0x0574 0x0000 0x3 0x0 | ||
1228 | #define MX6SX_PAD_SD1_DATA1__UART2_RX 0x022C 0x0574 0x0838 0x4 0x3 | ||
1229 | #define MX6SX_PAD_SD1_DATA1__UART2_TX 0x022C 0x0574 0x0000 0x4 0x0 | ||
1230 | #define MX6SX_PAD_SD1_DATA1__GPIO6_IO_3 0x022C 0x0574 0x0000 0x5 0x0 | ||
1231 | #define MX6SX_PAD_SD1_DATA1__ENET1_1588_EVENT1_OUT 0x022C 0x0574 0x0000 0x6 0x0 | ||
1232 | #define MX6SX_PAD_SD1_DATA1__CCM_CLKO2 0x022C 0x0574 0x0000 0x7 0x0 | ||
1233 | #define MX6SX_PAD_SD1_DATA1__VADC_CLAMP_DOWN 0x022C 0x0574 0x0000 0x8 0x0 | ||
1234 | #define MX6SX_PAD_SD1_DATA1__MMDC_DEBUG_47 0x022C 0x0574 0x0000 0x9 0x0 | ||
1235 | #define MX6SX_PAD_SD1_DATA2__USDHC1_DATA2 0x0230 0x0578 0x0000 0x0 0x0 | ||
1236 | #define MX6SX_PAD_SD1_DATA2__AUDMUX_AUD5_TXFS 0x0230 0x0578 0x0670 0x1 0x1 | ||
1237 | #define MX6SX_PAD_SD1_DATA2__PWM3_OUT 0x0230 0x0578 0x0000 0x2 0x0 | ||
1238 | #define MX6SX_PAD_SD1_DATA2__GPT_COMPARE2 0x0230 0x0578 0x0000 0x3 0x0 | ||
1239 | #define MX6SX_PAD_SD1_DATA2__UART2_CTS_B 0x0230 0x0578 0x0834 0x4 0x2 | ||
1240 | #define MX6SX_PAD_SD1_DATA2__GPIO6_IO_4 0x0230 0x0578 0x0000 0x5 0x0 | ||
1241 | #define MX6SX_PAD_SD1_DATA2__ECSPI4_RDY 0x0230 0x0578 0x0000 0x6 0x0 | ||
1242 | #define MX6SX_PAD_SD1_DATA2__CCM_OUT0 0x0230 0x0578 0x0000 0x7 0x0 | ||
1243 | #define MX6SX_PAD_SD1_DATA2__VADC_EXT_PD_N 0x0230 0x0578 0x0000 0x8 0x0 | ||
1244 | #define MX6SX_PAD_SD1_DATA3__USDHC1_DATA3 0x0234 0x057C 0x0000 0x0 0x0 | ||
1245 | #define MX6SX_PAD_SD1_DATA3__AUDMUX_AUD5_TXD 0x0234 0x057C 0x0660 0x1 0x1 | ||
1246 | #define MX6SX_PAD_SD1_DATA3__AUDMUX_AUD5_RXD 0x0234 0x057C 0x065C 0x2 0x2 | ||
1247 | #define MX6SX_PAD_SD1_DATA3__GPT_COMPARE3 0x0234 0x057C 0x0000 0x3 0x0 | ||
1248 | #define MX6SX_PAD_SD1_DATA3__UART2_RTS_B 0x0234 0x057C 0x0834 0x4 0x3 | ||
1249 | #define MX6SX_PAD_SD1_DATA3__GPIO6_IO_5 0x0234 0x057C 0x0000 0x5 0x0 | ||
1250 | #define MX6SX_PAD_SD1_DATA3__ECSPI4_SS1 0x0234 0x057C 0x0000 0x6 0x0 | ||
1251 | #define MX6SX_PAD_SD1_DATA3__CCM_PMIC_RDY 0x0234 0x057C 0x069C 0x7 0x2 | ||
1252 | #define MX6SX_PAD_SD1_DATA3__VADC_RST_N 0x0234 0x057C 0x0000 0x8 0x0 | ||
1253 | #define MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x0238 0x0580 0x0000 0x0 0x0 | ||
1254 | #define MX6SX_PAD_SD2_CLK__AUDMUX_AUD6_RXFS 0x0238 0x0580 0x0680 0x1 0x2 | ||
1255 | #define MX6SX_PAD_SD2_CLK__KPP_COL_5 0x0238 0x0580 0x07C8 0x2 0x1 | ||
1256 | #define MX6SX_PAD_SD2_CLK__ECSPI4_SCLK 0x0238 0x0580 0x0740 0x3 0x1 | ||
1257 | #define MX6SX_PAD_SD2_CLK__MLB_SIG 0x0238 0x0580 0x07F0 0x4 0x2 | ||
1258 | #define MX6SX_PAD_SD2_CLK__GPIO6_IO_6 0x0238 0x0580 0x0000 0x5 0x0 | ||
1259 | #define MX6SX_PAD_SD2_CLK__MQS_RIGHT 0x0238 0x0580 0x0000 0x6 0x0 | ||
1260 | #define MX6SX_PAD_SD2_CLK__WDOG1_WDOG_ANY 0x0238 0x0580 0x0000 0x7 0x0 | ||
1261 | #define MX6SX_PAD_SD2_CLK__VADC_CLAMP_CURRENT_5 0x0238 0x0580 0x0000 0x8 0x0 | ||
1262 | #define MX6SX_PAD_SD2_CLK__MMDC_DEBUG_29 0x0238 0x0580 0x0000 0x9 0x0 | ||
1263 | #define MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x023C 0x0584 0x0000 0x0 0x0 | ||
1264 | #define MX6SX_PAD_SD2_CMD__AUDMUX_AUD6_RXC 0x023C 0x0584 0x067C 0x1 0x2 | ||
1265 | #define MX6SX_PAD_SD2_CMD__KPP_ROW_5 0x023C 0x0584 0x07D4 0x2 0x1 | ||
1266 | #define MX6SX_PAD_SD2_CMD__ECSPI4_MOSI 0x023C 0x0584 0x0748 0x3 0x1 | ||
1267 | #define MX6SX_PAD_SD2_CMD__MLB_CLK 0x023C 0x0584 0x07E8 0x4 0x2 | ||
1268 | #define MX6SX_PAD_SD2_CMD__GPIO6_IO_7 0x023C 0x0584 0x0000 0x5 0x0 | ||
1269 | #define MX6SX_PAD_SD2_CMD__MQS_LEFT 0x023C 0x0584 0x0000 0x6 0x0 | ||
1270 | #define MX6SX_PAD_SD2_CMD__WDOG3_WDOG_B 0x023C 0x0584 0x0000 0x7 0x0 | ||
1271 | #define MX6SX_PAD_SD2_CMD__VADC_CLAMP_CURRENT_4 0x023C 0x0584 0x0000 0x8 0x0 | ||
1272 | #define MX6SX_PAD_SD2_CMD__MMDC_DEBUG_30 0x023C 0x0584 0x0000 0x9 0x0 | ||
1273 | #define MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x0240 0x0588 0x0000 0x0 0x0 | ||
1274 | #define MX6SX_PAD_SD2_DATA0__AUDMUX_AUD6_RXD 0x0240 0x0588 0x0674 0x1 0x2 | ||
1275 | #define MX6SX_PAD_SD2_DATA0__KPP_ROW_7 0x0240 0x0588 0x07DC 0x2 0x1 | ||
1276 | #define MX6SX_PAD_SD2_DATA0__PWM1_OUT 0x0240 0x0588 0x0000 0x3 0x0 | ||
1277 | #define MX6SX_PAD_SD2_DATA0__I2C4_SDA 0x0240 0x0588 0x07C4 0x4 0x3 | ||
1278 | #define MX6SX_PAD_SD2_DATA0__GPIO6_IO_8 0x0240 0x0588 0x0000 0x5 0x0 | ||
1279 | #define MX6SX_PAD_SD2_DATA0__ECSPI4_SS3 0x0240 0x0588 0x0000 0x6 0x0 | ||
1280 | #define MX6SX_PAD_SD2_DATA0__UART4_RX 0x0240 0x0588 0x0848 0x7 0x4 | ||
1281 | #define MX6SX_PAD_SD2_DATA0__UART4_TX 0x0240 0x0588 0x0000 0x7 0x0 | ||
1282 | #define MX6SX_PAD_SD2_DATA0__VADC_CLAMP_CURRENT_0 0x0240 0x0588 0x0000 0x8 0x0 | ||
1283 | #define MX6SX_PAD_SD2_DATA0__MMDC_DEBUG_50 0x0240 0x0588 0x0000 0x9 0x0 | ||
1284 | #define MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x0244 0x058C 0x0000 0x0 0x0 | ||
1285 | #define MX6SX_PAD_SD2_DATA1__AUDMUX_AUD6_TXC 0x0244 0x058C 0x0684 0x1 0x2 | ||
1286 | #define MX6SX_PAD_SD2_DATA1__KPP_COL_7 0x0244 0x058C 0x07D0 0x2 0x1 | ||
1287 | #define MX6SX_PAD_SD2_DATA1__PWM2_OUT 0x0244 0x058C 0x0000 0x3 0x0 | ||
1288 | #define MX6SX_PAD_SD2_DATA1__I2C4_SCL 0x0244 0x058C 0x07C0 0x4 0x3 | ||
1289 | #define MX6SX_PAD_SD2_DATA1__GPIO6_IO_9 0x0244 0x058C 0x0000 0x5 0x0 | ||
1290 | #define MX6SX_PAD_SD2_DATA1__ECSPI4_SS2 0x0244 0x058C 0x0000 0x6 0x0 | ||
1291 | #define MX6SX_PAD_SD2_DATA1__UART4_RX 0x0244 0x058C 0x0848 0x7 0x5 | ||
1292 | #define MX6SX_PAD_SD2_DATA1__UART4_TX 0x0244 0x058C 0x0000 0x7 0x0 | ||
1293 | #define MX6SX_PAD_SD2_DATA1__VADC_CLAMP_CURRENT_1 0x0244 0x058C 0x0000 0x8 0x0 | ||
1294 | #define MX6SX_PAD_SD2_DATA1__MMDC_DEBUG_49 0x0244 0x058C 0x0000 0x9 0x0 | ||
1295 | #define MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x0248 0x0590 0x0000 0x0 0x0 | ||
1296 | #define MX6SX_PAD_SD2_DATA2__AUDMUX_AUD6_TXFS 0x0248 0x0590 0x0688 0x1 0x2 | ||
1297 | #define MX6SX_PAD_SD2_DATA2__KPP_ROW_6 0x0248 0x0590 0x07D8 0x2 0x1 | ||
1298 | #define MX6SX_PAD_SD2_DATA2__ECSPI4_SS0 0x0248 0x0590 0x074C 0x3 0x1 | ||
1299 | #define MX6SX_PAD_SD2_DATA2__SDMA_EXT_EVENT_0 0x0248 0x0590 0x081C 0x4 0x2 | ||
1300 | #define MX6SX_PAD_SD2_DATA2__GPIO6_IO_10 0x0248 0x0590 0x0000 0x5 0x0 | ||
1301 | #define MX6SX_PAD_SD2_DATA2__SPDIF_OUT 0x0248 0x0590 0x0000 0x6 0x0 | ||
1302 | #define MX6SX_PAD_SD2_DATA2__UART6_RX 0x0248 0x0590 0x0858 0x7 0x4 | ||
1303 | #define MX6SX_PAD_SD2_DATA2__UART6_TX 0x0248 0x0590 0x0000 0x7 0x0 | ||
1304 | #define MX6SX_PAD_SD2_DATA2__VADC_CLAMP_CURRENT_2 0x0248 0x0590 0x0000 0x8 0x0 | ||
1305 | #define MX6SX_PAD_SD2_DATA2__MMDC_DEBUG_32 0x0248 0x0590 0x0000 0x9 0x0 | ||
1306 | #define MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x024C 0x0594 0x0000 0x0 0x0 | ||
1307 | #define MX6SX_PAD_SD2_DATA3__AUDMUX_AUD6_TXD 0x024C 0x0594 0x0678 0x1 0x2 | ||
1308 | #define MX6SX_PAD_SD2_DATA3__KPP_COL_6 0x024C 0x0594 0x07CC 0x2 0x1 | ||
1309 | #define MX6SX_PAD_SD2_DATA3__ECSPI4_MISO 0x024C 0x0594 0x0744 0x3 0x1 | ||
1310 | #define MX6SX_PAD_SD2_DATA3__MLB_DATA 0x024C 0x0594 0x07EC 0x4 0x2 | ||
1311 | #define MX6SX_PAD_SD2_DATA3__GPIO6_IO_11 0x024C 0x0594 0x0000 0x5 0x0 | ||
1312 | #define MX6SX_PAD_SD2_DATA3__SPDIF_IN 0x024C 0x0594 0x0824 0x6 0x4 | ||
1313 | #define MX6SX_PAD_SD2_DATA3__UART6_RX 0x024C 0x0594 0x0858 0x7 0x5 | ||
1314 | #define MX6SX_PAD_SD2_DATA3__UART6_TX 0x024C 0x0594 0x0000 0x7 0x0 | ||
1315 | #define MX6SX_PAD_SD2_DATA3__VADC_CLAMP_CURRENT_3 0x024C 0x0594 0x0000 0x8 0x0 | ||
1316 | #define MX6SX_PAD_SD2_DATA3__MMDC_DEBUG_31 0x024C 0x0594 0x0000 0x9 0x0 | ||
1317 | #define MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x0250 0x0598 0x0000 0x0 0x0 | ||
1318 | #define MX6SX_PAD_SD3_CLK__UART4_CTS_B 0x0250 0x0598 0x0844 0x1 0x0 | ||
1319 | #define MX6SX_PAD_SD3_CLK__ECSPI4_SCLK 0x0250 0x0598 0x0740 0x2 0x0 | ||
1320 | #define MX6SX_PAD_SD3_CLK__AUDMUX_AUD6_RXFS 0x0250 0x0598 0x0680 0x3 0x0 | ||
1321 | #define MX6SX_PAD_SD3_CLK__LCDIF2_VSYNC 0x0250 0x0598 0x0000 0x4 0x0 | ||
1322 | #define MX6SX_PAD_SD3_CLK__GPIO7_IO_0 0x0250 0x0598 0x0000 0x5 0x0 | ||
1323 | #define MX6SX_PAD_SD3_CLK__LCDIF2_BUSY 0x0250 0x0598 0x07E4 0x6 0x0 | ||
1324 | #define MX6SX_PAD_SD3_CLK__TPSMP_HDATA_29 0x0250 0x0598 0x0000 0x7 0x0 | ||
1325 | #define MX6SX_PAD_SD3_CLK__SDMA_DEBUG_EVENT_CHANNEL_5 0x0250 0x0598 0x0000 0x9 0x0 | ||
1326 | #define MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x0254 0x059C 0x0000 0x0 0x0 | ||
1327 | #define MX6SX_PAD_SD3_CMD__UART4_RX 0x0254 0x059C 0x0848 0x1 0x0 | ||
1328 | #define MX6SX_PAD_SD3_CMD__UART4_TX 0x0254 0x059C 0x0000 0x1 0x0 | ||
1329 | #define MX6SX_PAD_SD3_CMD__ECSPI4_MOSI 0x0254 0x059C 0x0748 0x2 0x0 | ||
1330 | #define MX6SX_PAD_SD3_CMD__AUDMUX_AUD6_RXC 0x0254 0x059C 0x067C 0x3 0x0 | ||
1331 | #define MX6SX_PAD_SD3_CMD__LCDIF2_HSYNC 0x0254 0x059C 0x07E4 0x4 0x1 | ||
1332 | #define MX6SX_PAD_SD3_CMD__GPIO7_IO_1 0x0254 0x059C 0x0000 0x5 0x0 | ||
1333 | #define MX6SX_PAD_SD3_CMD__LCDIF2_RS 0x0254 0x059C 0x0000 0x6 0x0 | ||
1334 | #define MX6SX_PAD_SD3_CMD__TPSMP_HDATA_28 0x0254 0x059C 0x0000 0x7 0x0 | ||
1335 | #define MX6SX_PAD_SD3_CMD__SDMA_DEBUG_EVENT_CHANNEL_4 0x0254 0x059C 0x0000 0x9 0x0 | ||
1336 | #define MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x0258 0x05A0 0x0000 0x0 0x0 | ||
1337 | #define MX6SX_PAD_SD3_DATA0__I2C4_SCL 0x0258 0x05A0 0x07C0 0x1 0x0 | ||
1338 | #define MX6SX_PAD_SD3_DATA0__ECSPI2_SS1 0x0258 0x05A0 0x0000 0x2 0x0 | ||
1339 | #define MX6SX_PAD_SD3_DATA0__AUDMUX_AUD6_RXD 0x0258 0x05A0 0x0674 0x3 0x0 | ||
1340 | #define MX6SX_PAD_SD3_DATA0__LCDIF2_DATA_1 0x0258 0x05A0 0x0000 0x4 0x0 | ||
1341 | #define MX6SX_PAD_SD3_DATA0__GPIO7_IO_2 0x0258 0x05A0 0x0000 0x5 0x0 | ||
1342 | #define MX6SX_PAD_SD3_DATA0__DCIC1_OUT 0x0258 0x05A0 0x0000 0x6 0x0 | ||
1343 | #define MX6SX_PAD_SD3_DATA0__TPSMP_HDATA_30 0x0258 0x05A0 0x0000 0x7 0x0 | ||
1344 | #define MX6SX_PAD_SD3_DATA0__GPU_DEBUG_0 0x0258 0x05A0 0x0000 0x8 0x0 | ||
1345 | #define MX6SX_PAD_SD3_DATA0__SDMA_DEBUG_EVT_CHN_LINES_0 0x0258 0x05A0 0x0000 0x9 0x0 | ||
1346 | #define MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x025C 0x05A4 0x0000 0x0 0x0 | ||
1347 | #define MX6SX_PAD_SD3_DATA1__I2C4_SDA 0x025C 0x05A4 0x07C4 0x1 0x0 | ||
1348 | #define MX6SX_PAD_SD3_DATA1__ECSPI2_SS2 0x025C 0x05A4 0x0000 0x2 0x0 | ||
1349 | #define MX6SX_PAD_SD3_DATA1__AUDMUX_AUD6_TXC 0x025C 0x05A4 0x0684 0x3 0x0 | ||
1350 | #define MX6SX_PAD_SD3_DATA1__LCDIF2_DATA_0 0x025C 0x05A4 0x0000 0x4 0x0 | ||
1351 | #define MX6SX_PAD_SD3_DATA1__GPIO7_IO_3 0x025C 0x05A4 0x0000 0x5 0x0 | ||
1352 | #define MX6SX_PAD_SD3_DATA1__DCIC2_OUT 0x025C 0x05A4 0x0000 0x6 0x0 | ||
1353 | #define MX6SX_PAD_SD3_DATA1__TPSMP_HDATA_31 0x025C 0x05A4 0x0000 0x7 0x0 | ||
1354 | #define MX6SX_PAD_SD3_DATA1__GPU_DEBUG_1 0x025C 0x05A4 0x0000 0x8 0x0 | ||
1355 | #define MX6SX_PAD_SD3_DATA1__SDMA_DEBUG_EVT_CHN_LINES_1 0x025C 0x05A4 0x0000 0x9 0x0 | ||
1356 | #define MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x0260 0x05A8 0x0000 0x0 0x0 | ||
1357 | #define MX6SX_PAD_SD3_DATA2__UART4_RTS_B 0x0260 0x05A8 0x0844 0x1 0x1 | ||
1358 | #define MX6SX_PAD_SD3_DATA2__ECSPI4_SS0 0x0260 0x05A8 0x074C 0x2 0x0 | ||
1359 | #define MX6SX_PAD_SD3_DATA2__AUDMUX_AUD6_TXFS 0x0260 0x05A8 0x0688 0x3 0x0 | ||
1360 | #define MX6SX_PAD_SD3_DATA2__LCDIF2_CLK 0x0260 0x05A8 0x0000 0x4 0x0 | ||
1361 | #define MX6SX_PAD_SD3_DATA2__GPIO7_IO_4 0x0260 0x05A8 0x0000 0x5 0x0 | ||
1362 | #define MX6SX_PAD_SD3_DATA2__LCDIF2_WR_RWN 0x0260 0x05A8 0x0000 0x6 0x0 | ||
1363 | #define MX6SX_PAD_SD3_DATA2__TPSMP_HDATA_26 0x0260 0x05A8 0x0000 0x7 0x0 | ||
1364 | #define MX6SX_PAD_SD3_DATA2__GPU_DEBUG_2 0x0260 0x05A8 0x0000 0x8 0x0 | ||
1365 | #define MX6SX_PAD_SD3_DATA2__SDMA_DEBUG_EVENT_CHANNEL_2 0x0260 0x05A8 0x0000 0x9 0x0 | ||
1366 | #define MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x0264 0x05AC 0x0000 0x0 0x0 | ||
1367 | #define MX6SX_PAD_SD3_DATA3__UART4_RX 0x0264 0x05AC 0x0848 0x1 0x1 | ||
1368 | #define MX6SX_PAD_SD3_DATA3__UART4_TX 0x0264 0x05AC 0x0000 0x1 0x0 | ||
1369 | #define MX6SX_PAD_SD3_DATA3__ECSPI4_MISO 0x0264 0x05AC 0x0744 0x2 0x0 | ||
1370 | #define MX6SX_PAD_SD3_DATA3__AUDMUX_AUD6_TXD 0x0264 0x05AC 0x0678 0x3 0x0 | ||
1371 | #define MX6SX_PAD_SD3_DATA3__LCDIF2_ENABLE 0x0264 0x05AC 0x0000 0x4 0x0 | ||
1372 | #define MX6SX_PAD_SD3_DATA3__GPIO7_IO_5 0x0264 0x05AC 0x0000 0x5 0x0 | ||
1373 | #define MX6SX_PAD_SD3_DATA3__LCDIF2_RD_E 0x0264 0x05AC 0x0000 0x6 0x0 | ||
1374 | #define MX6SX_PAD_SD3_DATA3__TPSMP_HDATA_27 0x0264 0x05AC 0x0000 0x7 0x0 | ||
1375 | #define MX6SX_PAD_SD3_DATA3__GPU_DEBUG_3 0x0264 0x05AC 0x0000 0x8 0x0 | ||
1376 | #define MX6SX_PAD_SD3_DATA3__SDMA_DEBUG_EVENT_CHANNEL_3 0x0264 0x05AC 0x0000 0x9 0x0 | ||
1377 | #define MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x0268 0x05B0 0x0000 0x0 0x0 | ||
1378 | #define MX6SX_PAD_SD3_DATA4__CAN2_RX 0x0268 0x05B0 0x0690 0x1 0x0 | ||
1379 | #define MX6SX_PAD_SD3_DATA4__CANFD_RX2 0x0268 0x05B0 0x0698 0x2 0x0 | ||
1380 | #define MX6SX_PAD_SD3_DATA4__UART3_RX 0x0268 0x05B0 0x0840 0x3 0x2 | ||
1381 | #define MX6SX_PAD_SD3_DATA4__UART3_TX 0x0268 0x05B0 0x0000 0x3 0x0 | ||
1382 | #define MX6SX_PAD_SD3_DATA4__LCDIF2_DATA_3 0x0268 0x05B0 0x0000 0x4 0x0 | ||
1383 | #define MX6SX_PAD_SD3_DATA4__GPIO7_IO_6 0x0268 0x05B0 0x0000 0x5 0x0 | ||
1384 | #define MX6SX_PAD_SD3_DATA4__ENET2_1588_EVENT0_IN 0x0268 0x05B0 0x0000 0x6 0x0 | ||
1385 | #define MX6SX_PAD_SD3_DATA4__TPSMP_HTRANS_1 0x0268 0x05B0 0x0000 0x7 0x0 | ||
1386 | #define MX6SX_PAD_SD3_DATA4__GPU_DEBUG_4 0x0268 0x05B0 0x0000 0x8 0x0 | ||
1387 | #define MX6SX_PAD_SD3_DATA4__SDMA_DEBUG_BUS_DEVICE_0 0x0268 0x05B0 0x0000 0x9 0x0 | ||
1388 | #define MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x026C 0x05B4 0x0000 0x0 0x0 | ||
1389 | #define MX6SX_PAD_SD3_DATA5__CAN1_TX 0x026C 0x05B4 0x0000 0x1 0x0 | ||
1390 | #define MX6SX_PAD_SD3_DATA5__CANFD_TX1 0x026C 0x05B4 0x0000 0x2 0x0 | ||
1391 | #define MX6SX_PAD_SD3_DATA5__UART3_RX 0x026C 0x05B4 0x0840 0x3 0x3 | ||
1392 | #define MX6SX_PAD_SD3_DATA5__UART3_TX 0x026C 0x05B4 0x0000 0x3 0x0 | ||
1393 | #define MX6SX_PAD_SD3_DATA5__LCDIF2_DATA_2 0x026C 0x05B4 0x0000 0x4 0x0 | ||
1394 | #define MX6SX_PAD_SD3_DATA5__GPIO7_IO_7 0x026C 0x05B4 0x0000 0x5 0x0 | ||
1395 | #define MX6SX_PAD_SD3_DATA5__ENET2_1588_EVENT0_OUT 0x026C 0x05B4 0x0000 0x6 0x0 | ||
1396 | #define MX6SX_PAD_SD3_DATA5__SIM_M_HWRITE 0x026C 0x05B4 0x0000 0x7 0x0 | ||
1397 | #define MX6SX_PAD_SD3_DATA5__GPU_DEBUG_5 0x026C 0x05B4 0x0000 0x8 0x0 | ||
1398 | #define MX6SX_PAD_SD3_DATA5__SDMA_DEBUG_BUS_DEVICE_1 0x026C 0x05B4 0x0000 0x9 0x0 | ||
1399 | #define MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x0270 0x05B8 0x0000 0x0 0x0 | ||
1400 | #define MX6SX_PAD_SD3_DATA6__CAN2_TX 0x0270 0x05B8 0x0000 0x1 0x0 | ||
1401 | #define MX6SX_PAD_SD3_DATA6__CANFD_TX2 0x0270 0x05B8 0x0000 0x2 0x0 | ||
1402 | #define MX6SX_PAD_SD3_DATA6__UART3_RTS_B 0x0270 0x05B8 0x083C 0x3 0x2 | ||
1403 | #define MX6SX_PAD_SD3_DATA6__LCDIF2_DATA_4 0x0270 0x05B8 0x0000 0x4 0x0 | ||
1404 | #define MX6SX_PAD_SD3_DATA6__GPIO7_IO_8 0x0270 0x05B8 0x0000 0x5 0x0 | ||
1405 | #define MX6SX_PAD_SD3_DATA6__ENET1_1588_EVENT0_OUT 0x0270 0x05B8 0x0000 0x6 0x0 | ||
1406 | #define MX6SX_PAD_SD3_DATA6__TPSMP_HTRANS_0 0x0270 0x05B8 0x0000 0x7 0x0 | ||
1407 | #define MX6SX_PAD_SD3_DATA6__GPU_DEBUG_7 0x0270 0x05B8 0x0000 0x8 0x0 | ||
1408 | #define MX6SX_PAD_SD3_DATA6__SDMA_DEBUG_EVT_CHN_LINES_7 0x0270 0x05B8 0x0000 0x9 0x0 | ||
1409 | #define MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x0274 0x05BC 0x0000 0x0 0x0 | ||
1410 | #define MX6SX_PAD_SD3_DATA7__CAN1_RX 0x0274 0x05BC 0x068C 0x1 0x0 | ||
1411 | #define MX6SX_PAD_SD3_DATA7__CANFD_RX1 0x0274 0x05BC 0x0694 0x2 0x0 | ||
1412 | #define MX6SX_PAD_SD3_DATA7__UART3_CTS_B 0x0274 0x05BC 0x083C 0x3 0x3 | ||
1413 | #define MX6SX_PAD_SD3_DATA7__LCDIF2_DATA_5 0x0274 0x05BC 0x0000 0x4 0x0 | ||
1414 | #define MX6SX_PAD_SD3_DATA7__GPIO7_IO_9 0x0274 0x05BC 0x0000 0x5 0x0 | ||
1415 | #define MX6SX_PAD_SD3_DATA7__ENET1_1588_EVENT0_IN 0x0274 0x05BC 0x0000 0x6 0x0 | ||
1416 | #define MX6SX_PAD_SD3_DATA7__TPSMP_HDATA_DIR 0x0274 0x05BC 0x0000 0x7 0x0 | ||
1417 | #define MX6SX_PAD_SD3_DATA7__GPU_DEBUG_6 0x0274 0x05BC 0x0000 0x8 0x0 | ||
1418 | #define MX6SX_PAD_SD3_DATA7__SDMA_DEBUG_EVT_CHN_LINES_2 0x0274 0x05BC 0x0000 0x9 0x0 | ||
1419 | #define MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x0278 0x05C0 0x0000 0x0 0x0 | ||
1420 | #define MX6SX_PAD_SD4_CLK__RAWNAND_DATA15 0x0278 0x05C0 0x0000 0x1 0x0 | ||
1421 | #define MX6SX_PAD_SD4_CLK__ECSPI2_MISO 0x0278 0x05C0 0x0724 0x2 0x1 | ||
1422 | #define MX6SX_PAD_SD4_CLK__AUDMUX_AUD3_RXFS 0x0278 0x05C0 0x0638 0x3 0x0 | ||
1423 | #define MX6SX_PAD_SD4_CLK__LCDIF2_DATA_13 0x0278 0x05C0 0x0000 0x4 0x0 | ||
1424 | #define MX6SX_PAD_SD4_CLK__GPIO6_IO_12 0x0278 0x05C0 0x0000 0x5 0x0 | ||
1425 | #define MX6SX_PAD_SD4_CLK__ECSPI3_SS2 0x0278 0x05C0 0x0000 0x6 0x0 | ||
1426 | #define MX6SX_PAD_SD4_CLK__TPSMP_HDATA_20 0x0278 0x05C0 0x0000 0x7 0x0 | ||
1427 | #define MX6SX_PAD_SD4_CLK__VDEC_DEBUG_12 0x0278 0x05C0 0x0000 0x8 0x0 | ||
1428 | #define MX6SX_PAD_SD4_CLK__SDMA_DEBUG_EVENT_CHANNEL_SEL 0x0278 0x05C0 0x0000 0x9 0x0 | ||
1429 | #define MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x027C 0x05C4 0x0000 0x0 0x0 | ||
1430 | #define MX6SX_PAD_SD4_CMD__RAWNAND_DATA14 0x027C 0x05C4 0x0000 0x1 0x0 | ||
1431 | #define MX6SX_PAD_SD4_CMD__ECSPI2_MOSI 0x027C 0x05C4 0x0728 0x2 0x1 | ||
1432 | #define MX6SX_PAD_SD4_CMD__AUDMUX_AUD3_RXC 0x027C 0x05C4 0x0634 0x3 0x0 | ||
1433 | #define MX6SX_PAD_SD4_CMD__LCDIF2_DATA_14 0x027C 0x05C4 0x0000 0x4 0x0 | ||
1434 | #define MX6SX_PAD_SD4_CMD__GPIO6_IO_13 0x027C 0x05C4 0x0000 0x5 0x0 | ||
1435 | #define MX6SX_PAD_SD4_CMD__ECSPI3_SS1 0x027C 0x05C4 0x0000 0x6 0x0 | ||
1436 | #define MX6SX_PAD_SD4_CMD__TPSMP_HDATA_19 0x027C 0x05C4 0x0000 0x7 0x0 | ||
1437 | #define MX6SX_PAD_SD4_CMD__VDEC_DEBUG_11 0x027C 0x05C4 0x0000 0x8 0x0 | ||
1438 | #define MX6SX_PAD_SD4_CMD__SDMA_DEBUG_CORE_RUN 0x027C 0x05C4 0x0000 0x9 0x0 | ||
1439 | #define MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x0280 0x05C8 0x0000 0x0 0x0 | ||
1440 | #define MX6SX_PAD_SD4_DATA0__RAWNAND_DATA10 0x0280 0x05C8 0x0000 0x1 0x0 | ||
1441 | #define MX6SX_PAD_SD4_DATA0__ECSPI2_SS0 0x0280 0x05C8 0x072C 0x2 0x1 | ||
1442 | #define MX6SX_PAD_SD4_DATA0__AUDMUX_AUD3_RXD 0x0280 0x05C8 0x062C 0x3 0x0 | ||
1443 | #define MX6SX_PAD_SD4_DATA0__LCDIF2_DATA_12 0x0280 0x05C8 0x0000 0x4 0x0 | ||
1444 | #define MX6SX_PAD_SD4_DATA0__GPIO6_IO_14 0x0280 0x05C8 0x0000 0x5 0x0 | ||
1445 | #define MX6SX_PAD_SD4_DATA0__ECSPI3_SS3 0x0280 0x05C8 0x0000 0x6 0x0 | ||
1446 | #define MX6SX_PAD_SD4_DATA0__TPSMP_HDATA_21 0x0280 0x05C8 0x0000 0x7 0x0 | ||
1447 | #define MX6SX_PAD_SD4_DATA0__VDEC_DEBUG_13 0x0280 0x05C8 0x0000 0x8 0x0 | ||
1448 | #define MX6SX_PAD_SD4_DATA0__SDMA_DEBUG_MODE 0x0280 0x05C8 0x0000 0x9 0x0 | ||
1449 | #define MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x0284 0x05CC 0x0000 0x0 0x0 | ||
1450 | #define MX6SX_PAD_SD4_DATA1__RAWNAND_DATA11 0x0284 0x05CC 0x0000 0x1 0x0 | ||
1451 | #define MX6SX_PAD_SD4_DATA1__ECSPI2_SCLK 0x0284 0x05CC 0x0720 0x2 0x1 | ||
1452 | #define MX6SX_PAD_SD4_DATA1__AUDMUX_AUD3_TXC 0x0284 0x05CC 0x063C 0x3 0x0 | ||
1453 | #define MX6SX_PAD_SD4_DATA1__LCDIF2_DATA_11 0x0284 0x05CC 0x0000 0x4 0x0 | ||
1454 | #define MX6SX_PAD_SD4_DATA1__GPIO6_IO_15 0x0284 0x05CC 0x0000 0x5 0x0 | ||
1455 | #define MX6SX_PAD_SD4_DATA1__ECSPI3_RDY 0x0284 0x05CC 0x0000 0x6 0x0 | ||
1456 | #define MX6SX_PAD_SD4_DATA1__TPSMP_HDATA_22 0x0284 0x05CC 0x0000 0x7 0x0 | ||
1457 | #define MX6SX_PAD_SD4_DATA1__VDEC_DEBUG_14 0x0284 0x05CC 0x0000 0x8 0x0 | ||
1458 | #define MX6SX_PAD_SD4_DATA1__SDMA_DEBUG_BUS_ERROR 0x0284 0x05CC 0x0000 0x9 0x0 | ||
1459 | #define MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x0288 0x05D0 0x0000 0x0 0x0 | ||
1460 | #define MX6SX_PAD_SD4_DATA2__RAWNAND_DATA12 0x0288 0x05D0 0x0000 0x1 0x0 | ||
1461 | #define MX6SX_PAD_SD4_DATA2__I2C2_SDA 0x0288 0x05D0 0x07B4 0x2 0x0 | ||
1462 | #define MX6SX_PAD_SD4_DATA2__AUDMUX_AUD3_TXFS 0x0288 0x05D0 0x0640 0x3 0x0 | ||
1463 | #define MX6SX_PAD_SD4_DATA2__LCDIF2_DATA_10 0x0288 0x05D0 0x0000 0x4 0x0 | ||
1464 | #define MX6SX_PAD_SD4_DATA2__GPIO6_IO_16 0x0288 0x05D0 0x0000 0x5 0x0 | ||
1465 | #define MX6SX_PAD_SD4_DATA2__ECSPI2_SS3 0x0288 0x05D0 0x0000 0x6 0x0 | ||
1466 | #define MX6SX_PAD_SD4_DATA2__TPSMP_HDATA_23 0x0288 0x05D0 0x0000 0x7 0x0 | ||
1467 | #define MX6SX_PAD_SD4_DATA2__VDEC_DEBUG_15 0x0288 0x05D0 0x0000 0x8 0x0 | ||
1468 | #define MX6SX_PAD_SD4_DATA2__SDMA_DEBUG_BUS_RWB 0x0288 0x05D0 0x0000 0x9 0x0 | ||
1469 | #define MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x028C 0x05D4 0x0000 0x0 0x0 | ||
1470 | #define MX6SX_PAD_SD4_DATA3__RAWNAND_DATA13 0x028C 0x05D4 0x0000 0x1 0x0 | ||
1471 | #define MX6SX_PAD_SD4_DATA3__I2C2_SCL 0x028C 0x05D4 0x07B0 0x2 0x0 | ||
1472 | #define MX6SX_PAD_SD4_DATA3__AUDMUX_AUD3_TXD 0x028C 0x05D4 0x0630 0x3 0x0 | ||
1473 | #define MX6SX_PAD_SD4_DATA3__LCDIF2_DATA_9 0x028C 0x05D4 0x0000 0x4 0x0 | ||
1474 | #define MX6SX_PAD_SD4_DATA3__GPIO6_IO_17 0x028C 0x05D4 0x0000 0x5 0x0 | ||
1475 | #define MX6SX_PAD_SD4_DATA3__ECSPI2_RDY 0x028C 0x05D4 0x0000 0x6 0x0 | ||
1476 | #define MX6SX_PAD_SD4_DATA3__TPSMP_HDATA_24 0x028C 0x05D4 0x0000 0x7 0x0 | ||
1477 | #define MX6SX_PAD_SD4_DATA3__VDEC_DEBUG_16 0x028C 0x05D4 0x0000 0x8 0x0 | ||
1478 | #define MX6SX_PAD_SD4_DATA3__SDMA_DEBUG_MATCHED_DMBUS 0x028C 0x05D4 0x0000 0x9 0x0 | ||
1479 | #define MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x0290 0x05D8 0x0000 0x0 0x0 | ||
1480 | #define MX6SX_PAD_SD4_DATA4__RAWNAND_DATA09 0x0290 0x05D8 0x0000 0x1 0x0 | ||
1481 | #define MX6SX_PAD_SD4_DATA4__UART5_RX 0x0290 0x05D8 0x0850 0x2 0x0 | ||
1482 | #define MX6SX_PAD_SD4_DATA4__UART5_TX 0x0290 0x05D8 0x0000 0x2 0x0 | ||
1483 | #define MX6SX_PAD_SD4_DATA4__ECSPI3_SCLK 0x0290 0x05D8 0x0730 0x3 0x0 | ||
1484 | #define MX6SX_PAD_SD4_DATA4__LCDIF2_DATA_8 0x0290 0x05D8 0x0000 0x4 0x0 | ||
1485 | #define MX6SX_PAD_SD4_DATA4__GPIO6_IO_18 0x0290 0x05D8 0x0000 0x5 0x0 | ||
1486 | #define MX6SX_PAD_SD4_DATA4__SPDIF_OUT 0x0290 0x05D8 0x0000 0x6 0x0 | ||
1487 | #define MX6SX_PAD_SD4_DATA4__TPSMP_HDATA_16 0x0290 0x05D8 0x0000 0x7 0x0 | ||
1488 | #define MX6SX_PAD_SD4_DATA4__USB_OTG_HOST_MODE 0x0290 0x05D8 0x0000 0x8 0x0 | ||
1489 | #define MX6SX_PAD_SD4_DATA4__SDMA_DEBUG_RTBUFFER_WRITE 0x0290 0x05D8 0x0000 0x9 0x0 | ||
1490 | #define MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x0294 0x05DC 0x0000 0x0 0x0 | ||
1491 | #define MX6SX_PAD_SD4_DATA5__RAWNAND_CE2_B 0x0294 0x05DC 0x0000 0x1 0x0 | ||
1492 | #define MX6SX_PAD_SD4_DATA5__UART5_RX 0x0294 0x05DC 0x0850 0x2 0x1 | ||
1493 | #define MX6SX_PAD_SD4_DATA5__UART5_TX 0x0294 0x05DC 0x0000 0x2 0x0 | ||
1494 | #define MX6SX_PAD_SD4_DATA5__ECSPI3_MOSI 0x0294 0x05DC 0x0738 0x3 0x0 | ||
1495 | #define MX6SX_PAD_SD4_DATA5__LCDIF2_DATA_7 0x0294 0x05DC 0x0000 0x4 0x0 | ||
1496 | #define MX6SX_PAD_SD4_DATA5__GPIO6_IO_19 0x0294 0x05DC 0x0000 0x5 0x0 | ||
1497 | #define MX6SX_PAD_SD4_DATA5__SPDIF_IN 0x0294 0x05DC 0x0824 0x6 0x0 | ||
1498 | #define MX6SX_PAD_SD4_DATA5__TPSMP_HDATA_17 0x0294 0x05DC 0x0000 0x7 0x0 | ||
1499 | #define MX6SX_PAD_SD4_DATA5__VDEC_DEBUG_9 0x0294 0x05DC 0x0000 0x8 0x0 | ||
1500 | #define MX6SX_PAD_SD4_DATA5__SDMA_DEBUG_EVENT_CHANNEL_0 0x0294 0x05DC 0x0000 0x9 0x0 | ||
1501 | #define MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x0298 0x05E0 0x0000 0x0 0x0 | ||
1502 | #define MX6SX_PAD_SD4_DATA6__RAWNAND_CE3_B 0x0298 0x05E0 0x0000 0x1 0x0 | ||
1503 | #define MX6SX_PAD_SD4_DATA6__UART5_RTS_B 0x0298 0x05E0 0x084C 0x2 0x0 | ||
1504 | #define MX6SX_PAD_SD4_DATA6__ECSPI3_MISO 0x0298 0x05E0 0x0734 0x3 0x0 | ||
1505 | #define MX6SX_PAD_SD4_DATA6__LCDIF2_DATA_6 0x0298 0x05E0 0x0000 0x4 0x0 | ||
1506 | #define MX6SX_PAD_SD4_DATA6__GPIO6_IO_20 0x0298 0x05E0 0x0000 0x5 0x0 | ||
1507 | #define MX6SX_PAD_SD4_DATA6__USDHC4_WP 0x0298 0x05E0 0x0878 0x6 0x0 | ||
1508 | #define MX6SX_PAD_SD4_DATA6__TPSMP_HDATA_18 0x0298 0x05E0 0x0000 0x7 0x0 | ||
1509 | #define MX6SX_PAD_SD4_DATA6__VDEC_DEBUG_10 0x0298 0x05E0 0x0000 0x8 0x0 | ||
1510 | #define MX6SX_PAD_SD4_DATA6__SDMA_DEBUG_EVENT_CHANNEL_1 0x0298 0x05E0 0x0000 0x9 0x0 | ||
1511 | #define MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x029C 0x05E4 0x0000 0x0 0x0 | ||
1512 | #define MX6SX_PAD_SD4_DATA7__RAWNAND_DATA08 0x029C 0x05E4 0x0000 0x1 0x0 | ||
1513 | #define MX6SX_PAD_SD4_DATA7__UART5_CTS_B 0x029C 0x05E4 0x084C 0x2 0x1 | ||
1514 | #define MX6SX_PAD_SD4_DATA7__ECSPI3_SS0 0x029C 0x05E4 0x073C 0x3 0x0 | ||
1515 | #define MX6SX_PAD_SD4_DATA7__LCDIF2_DATA_15 0x029C 0x05E4 0x0000 0x4 0x0 | ||
1516 | #define MX6SX_PAD_SD4_DATA7__GPIO6_IO_21 0x029C 0x05E4 0x0000 0x5 0x0 | ||
1517 | #define MX6SX_PAD_SD4_DATA7__USDHC4_CD_B 0x029C 0x05E4 0x0874 0x6 0x0 | ||
1518 | #define MX6SX_PAD_SD4_DATA7__TPSMP_HDATA_15 0x029C 0x05E4 0x0000 0x7 0x0 | ||
1519 | #define MX6SX_PAD_SD4_DATA7__USB_OTG_PWR_WAKE 0x029C 0x05E4 0x0000 0x8 0x0 | ||
1520 | #define MX6SX_PAD_SD4_DATA7__SDMA_DEBUG_YIELD 0x029C 0x05E4 0x0000 0x9 0x0 | ||
1521 | #define MX6SX_PAD_SD4_RESET_B__USDHC4_RESET_B 0x02A0 0x05E8 0x0000 0x0 0x0 | ||
1522 | #define MX6SX_PAD_SD4_RESET_B__RAWNAND_DQS 0x02A0 0x05E8 0x0000 0x1 0x0 | ||
1523 | #define MX6SX_PAD_SD4_RESET_B__USDHC4_RESET 0x02A0 0x05E8 0x0000 0x2 0x0 | ||
1524 | #define MX6SX_PAD_SD4_RESET_B__AUDMUX_MCLK 0x02A0 0x05E8 0x0000 0x3 0x0 | ||
1525 | #define MX6SX_PAD_SD4_RESET_B__LCDIF2_RESET 0x02A0 0x05E8 0x0000 0x4 0x0 | ||
1526 | #define MX6SX_PAD_SD4_RESET_B__GPIO6_IO_22 0x02A0 0x05E8 0x0000 0x5 0x0 | ||
1527 | #define MX6SX_PAD_SD4_RESET_B__LCDIF2_CS 0x02A0 0x05E8 0x0000 0x6 0x0 | ||
1528 | #define MX6SX_PAD_SD4_RESET_B__TPSMP_HDATA_25 0x02A0 0x05E8 0x0000 0x7 0x0 | ||
1529 | #define MX6SX_PAD_SD4_RESET_B__VDEC_DEBUG_17 0x02A0 0x05E8 0x0000 0x8 0x0 | ||
1530 | #define MX6SX_PAD_SD4_RESET_B__SDMA_DEBUG_BUS_DEVICE_2 0x02A0 0x05E8 0x0000 0x9 0x0 | ||
1531 | #define MX6SX_PAD_USB_H_DATA__USB_H_DATA 0x02A4 0x05EC 0x0000 0x0 0x0 | ||
1532 | #define MX6SX_PAD_USB_H_DATA__PWM2_OUT 0x02A4 0x05EC 0x0000 0x1 0x0 | ||
1533 | #define MX6SX_PAD_USB_H_DATA__ANATOP_24M_OUT 0x02A4 0x05EC 0x0000 0x2 0x0 | ||
1534 | #define MX6SX_PAD_USB_H_DATA__I2C4_SDA 0x02A4 0x05EC 0x07C4 0x3 0x1 | ||
1535 | #define MX6SX_PAD_USB_H_DATA__WDOG3_WDOG_B 0x02A4 0x05EC 0x0000 0x4 0x0 | ||
1536 | #define MX6SX_PAD_USB_H_DATA__GPIO7_IO_10 0x02A4 0x05EC 0x0000 0x5 0x0 | ||
1537 | #define MX6SX_PAD_USB_H_STROBE__USB_H_STROBE 0x02A8 0x05F0 0x0000 0x0 0x0 | ||
1538 | #define MX6SX_PAD_USB_H_STROBE__PWM1_OUT 0x02A8 0x05F0 0x0000 0x1 0x0 | ||
1539 | #define MX6SX_PAD_USB_H_STROBE__ANATOP_32K_OUT 0x02A8 0x05F0 0x0000 0x2 0x0 | ||
1540 | #define MX6SX_PAD_USB_H_STROBE__I2C4_SCL 0x02A8 0x05F0 0x07C0 0x3 0x1 | ||
1541 | #define MX6SX_PAD_USB_H_STROBE__WDOG3_WDOG_RST_B_DEB 0x02A8 0x05F0 0x0000 0x4 0x0 | ||
1542 | #define MX6SX_PAD_USB_H_STROBE__GPIO7_IO_11 0x02A8 0x05F0 0x0000 0x5 0x0 | ||
1543 | |||
1544 | #endif /* __DTS_IMX6SX_PINFUNC_H */ | ||
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts new file mode 100644 index 000000000000..a3980d970590 --- /dev/null +++ b/arch/arm/boot/dts/imx6sx-sdb.dts | |||
@@ -0,0 +1,479 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Freescale Semiconductor, Inc. | ||
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 | |||
9 | /dts-v1/; | ||
10 | |||
11 | #include <dt-bindings/gpio/gpio.h> | ||
12 | #include <dt-bindings/input/input.h> | ||
13 | #include "imx6sx.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Freescale i.MX6 SoloX SDB Board"; | ||
17 | compatible = "fsl,imx6sx-sdb", "fsl,imx6sx"; | ||
18 | |||
19 | chosen { | ||
20 | stdout-path = &uart1; | ||
21 | }; | ||
22 | |||
23 | memory { | ||
24 | reg = <0x80000000 0x40000000>; | ||
25 | }; | ||
26 | |||
27 | gpio-keys { | ||
28 | compatible = "gpio-keys"; | ||
29 | pinctrl-names = "default"; | ||
30 | pinctrl-0 = <&pinctrl_gpio_keys>; | ||
31 | |||
32 | volume-up { | ||
33 | label = "Volume Up"; | ||
34 | gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; | ||
35 | linux,code = <KEY_VOLUMEUP>; | ||
36 | }; | ||
37 | |||
38 | volume-down { | ||
39 | label = "Volume Down"; | ||
40 | gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; | ||
41 | linux,code = <KEY_VOLUMEDOWN>; | ||
42 | }; | ||
43 | }; | ||
44 | |||
45 | regulators { | ||
46 | compatible = "simple-bus"; | ||
47 | #address-cells = <1>; | ||
48 | #size-cells = <0>; | ||
49 | |||
50 | vcc_sd3: regulator@0 { | ||
51 | compatible = "regulator-fixed"; | ||
52 | reg = <0>; | ||
53 | pinctrl-names = "default"; | ||
54 | pinctrl-0 = <&pinctrl_vcc_sd3>; | ||
55 | regulator-name = "VCC_SD3"; | ||
56 | regulator-min-microvolt = <3000000>; | ||
57 | regulator-max-microvolt = <3000000>; | ||
58 | gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; | ||
59 | enable-active-high; | ||
60 | }; | ||
61 | |||
62 | reg_usb_otg1_vbus: regulator@1 { | ||
63 | compatible = "regulator-fixed"; | ||
64 | reg = <1>; | ||
65 | pinctrl-names = "default"; | ||
66 | pinctrl-0 = <&pinctrl_usb_otg1>; | ||
67 | regulator-name = "usb_otg1_vbus"; | ||
68 | regulator-min-microvolt = <5000000>; | ||
69 | regulator-max-microvolt = <5000000>; | ||
70 | gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>; | ||
71 | enable-active-high; | ||
72 | }; | ||
73 | |||
74 | reg_usb_otg2_vbus: regulator@2 { | ||
75 | compatible = "regulator-fixed"; | ||
76 | reg = <2>; | ||
77 | pinctrl-names = "default"; | ||
78 | pinctrl-0 = <&pinctrl_usb_otg2>; | ||
79 | regulator-name = "usb_otg2_vbus"; | ||
80 | regulator-min-microvolt = <5000000>; | ||
81 | regulator-max-microvolt = <5000000>; | ||
82 | gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; | ||
83 | enable-active-high; | ||
84 | }; | ||
85 | |||
86 | reg_psu_5v: regulator@3 { | ||
87 | compatible = "regulator-fixed"; | ||
88 | reg = <3>; | ||
89 | regulator-name = "PSU-5V0"; | ||
90 | regulator-min-microvolt = <5000000>; | ||
91 | regulator-max-microvolt = <5000000>; | ||
92 | }; | ||
93 | }; | ||
94 | |||
95 | sound { | ||
96 | compatible = "fsl,imx6sx-sdb-wm8962", "fsl,imx-audio-wm8962"; | ||
97 | model = "wm8962-audio"; | ||
98 | ssi-controller = <&ssi2>; | ||
99 | audio-codec = <&codec>; | ||
100 | audio-routing = | ||
101 | "Headphone Jack", "HPOUTL", | ||
102 | "Headphone Jack", "HPOUTR", | ||
103 | "Ext Spk", "SPKOUTL", | ||
104 | "Ext Spk", "SPKOUTR", | ||
105 | "AMIC", "MICBIAS", | ||
106 | "IN3R", "AMIC"; | ||
107 | mux-int-port = <2>; | ||
108 | mux-ext-port = <6>; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | &audmux { | ||
113 | pinctrl-names = "default"; | ||
114 | pinctrl-0 = <&pinctrl_audmux>; | ||
115 | status = "okay"; | ||
116 | }; | ||
117 | |||
118 | &fec1 { | ||
119 | pinctrl-names = "default"; | ||
120 | pinctrl-0 = <&pinctrl_enet1>; | ||
121 | phy-mode = "rgmii"; | ||
122 | status = "okay"; | ||
123 | }; | ||
124 | |||
125 | &i2c1 { | ||
126 | clock-frequency = <100000>; | ||
127 | pinctrl-names = "default"; | ||
128 | pinctrl-0 = <&pinctrl_i2c1>; | ||
129 | status = "okay"; | ||
130 | |||
131 | pmic: pfuze100@08 { | ||
132 | compatible = "fsl,pfuze100"; | ||
133 | reg = <0x08>; | ||
134 | |||
135 | regulators { | ||
136 | sw1a_reg: sw1ab { | ||
137 | regulator-min-microvolt = <300000>; | ||
138 | regulator-max-microvolt = <1875000>; | ||
139 | regulator-boot-on; | ||
140 | regulator-always-on; | ||
141 | regulator-ramp-delay = <6250>; | ||
142 | }; | ||
143 | |||
144 | sw1c_reg: sw1c { | ||
145 | regulator-min-microvolt = <300000>; | ||
146 | regulator-max-microvolt = <1875000>; | ||
147 | regulator-boot-on; | ||
148 | regulator-always-on; | ||
149 | regulator-ramp-delay = <6250>; | ||
150 | }; | ||
151 | |||
152 | sw2_reg: sw2 { | ||
153 | regulator-min-microvolt = <800000>; | ||
154 | regulator-max-microvolt = <3300000>; | ||
155 | regulator-boot-on; | ||
156 | regulator-always-on; | ||
157 | }; | ||
158 | |||
159 | sw3a_reg: sw3a { | ||
160 | regulator-min-microvolt = <400000>; | ||
161 | regulator-max-microvolt = <1975000>; | ||
162 | regulator-boot-on; | ||
163 | regulator-always-on; | ||
164 | }; | ||
165 | |||
166 | sw3b_reg: sw3b { | ||
167 | regulator-min-microvolt = <400000>; | ||
168 | regulator-max-microvolt = <1975000>; | ||
169 | regulator-boot-on; | ||
170 | regulator-always-on; | ||
171 | }; | ||
172 | |||
173 | sw4_reg: sw4 { | ||
174 | regulator-min-microvolt = <800000>; | ||
175 | regulator-max-microvolt = <3300000>; | ||
176 | }; | ||
177 | |||
178 | swbst_reg: swbst { | ||
179 | regulator-min-microvolt = <5000000>; | ||
180 | regulator-max-microvolt = <5150000>; | ||
181 | }; | ||
182 | |||
183 | snvs_reg: vsnvs { | ||
184 | regulator-min-microvolt = <1000000>; | ||
185 | regulator-max-microvolt = <3000000>; | ||
186 | regulator-boot-on; | ||
187 | regulator-always-on; | ||
188 | }; | ||
189 | |||
190 | vref_reg: vrefddr { | ||
191 | regulator-boot-on; | ||
192 | regulator-always-on; | ||
193 | }; | ||
194 | |||
195 | vgen1_reg: vgen1 { | ||
196 | regulator-min-microvolt = <800000>; | ||
197 | regulator-max-microvolt = <1550000>; | ||
198 | regulator-always-on; | ||
199 | }; | ||
200 | |||
201 | vgen2_reg: vgen2 { | ||
202 | regulator-min-microvolt = <800000>; | ||
203 | regulator-max-microvolt = <1550000>; | ||
204 | }; | ||
205 | |||
206 | vgen3_reg: vgen3 { | ||
207 | regulator-min-microvolt = <1800000>; | ||
208 | regulator-max-microvolt = <3300000>; | ||
209 | regulator-always-on; | ||
210 | }; | ||
211 | |||
212 | vgen4_reg: vgen4 { | ||
213 | regulator-min-microvolt = <1800000>; | ||
214 | regulator-max-microvolt = <3300000>; | ||
215 | regulator-always-on; | ||
216 | }; | ||
217 | |||
218 | vgen5_reg: vgen5 { | ||
219 | regulator-min-microvolt = <1800000>; | ||
220 | regulator-max-microvolt = <3300000>; | ||
221 | regulator-always-on; | ||
222 | }; | ||
223 | |||
224 | vgen6_reg: vgen6 { | ||
225 | regulator-min-microvolt = <1800000>; | ||
226 | regulator-max-microvolt = <3300000>; | ||
227 | regulator-always-on; | ||
228 | }; | ||
229 | }; | ||
230 | }; | ||
231 | }; | ||
232 | |||
233 | &i2c4 { | ||
234 | clock-frequency = <100000>; | ||
235 | pinctrl-names = "default"; | ||
236 | pinctrl-0 = <&pinctrl_i2c4>; | ||
237 | status = "okay"; | ||
238 | |||
239 | codec: wm8962@1a { | ||
240 | compatible = "wlf,wm8962"; | ||
241 | reg = <0x1a>; | ||
242 | clocks = <&clks IMX6SX_CLK_AUDIO>; | ||
243 | DCVDD-supply = <&vgen4_reg>; | ||
244 | DBVDD-supply = <&vgen4_reg>; | ||
245 | AVDD-supply = <&vgen4_reg>; | ||
246 | CPVDD-supply = <&vgen4_reg>; | ||
247 | MICVDD-supply = <&vgen3_reg>; | ||
248 | PLLVDD-supply = <&vgen4_reg>; | ||
249 | SPKVDD1-supply = <®_psu_5v>; | ||
250 | SPKVDD2-supply = <®_psu_5v>; | ||
251 | }; | ||
252 | }; | ||
253 | |||
254 | &ssi2 { | ||
255 | status = "okay"; | ||
256 | }; | ||
257 | |||
258 | &uart1 { | ||
259 | pinctrl-names = "default"; | ||
260 | pinctrl-0 = <&pinctrl_uart1>; | ||
261 | status = "okay"; | ||
262 | }; | ||
263 | |||
264 | &uart5 { /* for bluetooth */ | ||
265 | pinctrl-names = "default"; | ||
266 | pinctrl-0 = <&pinctrl_uart5>; | ||
267 | fsl,uart-has-rtscts; | ||
268 | status = "okay"; | ||
269 | }; | ||
270 | |||
271 | &usbotg1 { | ||
272 | vbus-supply = <®_usb_otg1_vbus>; | ||
273 | pinctrl-names = "default"; | ||
274 | pinctrl-0 = <&pinctrl_usb_otg1_id>; | ||
275 | status = "okay"; | ||
276 | }; | ||
277 | |||
278 | &usbotg2 { | ||
279 | vbus-supply = <®_usb_otg2_vbus>; | ||
280 | dr_mode = "host"; | ||
281 | status = "okay"; | ||
282 | }; | ||
283 | |||
284 | &usdhc2 { | ||
285 | pinctrl-names = "default"; | ||
286 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
287 | non-removable; | ||
288 | no-1-8-v; | ||
289 | keep-power-in-suspend; | ||
290 | enable-sdio-wakeup; | ||
291 | status = "okay"; | ||
292 | }; | ||
293 | |||
294 | &usdhc3 { | ||
295 | pinctrl-names = "default", "state_100mhz", "state_200mhz"; | ||
296 | pinctrl-0 = <&pinctrl_usdhc3>; | ||
297 | pinctrl-1 = <&pinctrl_usdhc3_100mhz>; | ||
298 | pinctrl-2 = <&pinctrl_usdhc3_200mhz>; | ||
299 | bus-width = <8>; | ||
300 | cd-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; | ||
301 | wp-gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>; | ||
302 | keep-power-in-suspend; | ||
303 | enable-sdio-wakeup; | ||
304 | vmmc-supply = <&vcc_sd3>; | ||
305 | status = "okay"; | ||
306 | }; | ||
307 | |||
308 | &usdhc4 { | ||
309 | pinctrl-names = "default"; | ||
310 | pinctrl-0 = <&pinctrl_usdhc4>; | ||
311 | cd-gpios = <&gpio6 21 GPIO_ACTIVE_HIGH>; | ||
312 | wp-gpios = <&gpio6 20 GPIO_ACTIVE_HIGH>; | ||
313 | status = "okay"; | ||
314 | }; | ||
315 | |||
316 | &iomuxc { | ||
317 | imx6x-sdb { | ||
318 | pinctrl_audmux: audmuxgrp { | ||
319 | fsl,pins = < | ||
320 | MX6SX_PAD_CSI_DATA00__AUDMUX_AUD6_TXC 0x130b0 | ||
321 | MX6SX_PAD_CSI_DATA01__AUDMUX_AUD6_TXFS 0x130b0 | ||
322 | MX6SX_PAD_CSI_HSYNC__AUDMUX_AUD6_TXD 0x120b0 | ||
323 | MX6SX_PAD_CSI_VSYNC__AUDMUX_AUD6_RXD 0x130b0 | ||
324 | MX6SX_PAD_CSI_PIXCLK__AUDMUX_MCLK 0x130b0 | ||
325 | >; | ||
326 | }; | ||
327 | |||
328 | pinctrl_enet1: enet1grp { | ||
329 | fsl,pins = < | ||
330 | MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0b1 | ||
331 | MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0b1 | ||
332 | MX6SX_PAD_RGMII1_TXC__ENET1_RGMII_TXC 0xa0b1 | ||
333 | MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0b1 | ||
334 | MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0b1 | ||
335 | MX6SX_PAD_RGMII1_TD2__ENET1_TX_DATA_2 0xa0b1 | ||
336 | MX6SX_PAD_RGMII1_TD3__ENET1_TX_DATA_3 0xa0b1 | ||
337 | MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0b1 | ||
338 | MX6SX_PAD_RGMII1_RXC__ENET1_RX_CLK 0x3081 | ||
339 | MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x3081 | ||
340 | MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x3081 | ||
341 | MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2 0x3081 | ||
342 | MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3 0x3081 | ||
343 | MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x3081 | ||
344 | >; | ||
345 | }; | ||
346 | |||
347 | pinctrl_gpio_keys: gpio_keysgrp { | ||
348 | fsl,pins = < | ||
349 | MX6SX_PAD_CSI_DATA04__GPIO1_IO_18 0x17059 | ||
350 | MX6SX_PAD_CSI_DATA05__GPIO1_IO_19 0x17059 | ||
351 | >; | ||
352 | }; | ||
353 | |||
354 | pinctrl_i2c1: i2c1grp { | ||
355 | fsl,pins = < | ||
356 | MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x4001b8b1 | ||
357 | MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x4001b8b1 | ||
358 | >; | ||
359 | }; | ||
360 | |||
361 | pinctrl_i2c4: i2c4grp { | ||
362 | fsl,pins = < | ||
363 | MX6SX_PAD_CSI_DATA07__I2C4_SDA 0x4001b8b1 | ||
364 | MX6SX_PAD_CSI_DATA06__I2C4_SCL 0x4001b8b1 | ||
365 | >; | ||
366 | }; | ||
367 | |||
368 | pinctrl_vcc_sd3: vccsd3grp { | ||
369 | fsl,pins = < | ||
370 | MX6SX_PAD_KEY_COL1__GPIO2_IO_11 0x17059 | ||
371 | >; | ||
372 | }; | ||
373 | |||
374 | pinctrl_uart1: uart1grp { | ||
375 | fsl,pins = < | ||
376 | MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1 | ||
377 | MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1 | ||
378 | >; | ||
379 | }; | ||
380 | |||
381 | pinctrl_uart5: uart5grp { | ||
382 | fsl,pins = < | ||
383 | MX6SX_PAD_KEY_ROW3__UART5_RX 0x1b0b1 | ||
384 | MX6SX_PAD_KEY_COL3__UART5_TX 0x1b0b1 | ||
385 | MX6SX_PAD_KEY_ROW2__UART5_CTS_B 0x1b0b1 | ||
386 | MX6SX_PAD_KEY_COL2__UART5_RTS_B 0x1b0b1 | ||
387 | >; | ||
388 | }; | ||
389 | |||
390 | pinctrl_usb_otg1: usbotg1grp { | ||
391 | fsl,pins = < | ||
392 | MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0 | ||
393 | >; | ||
394 | }; | ||
395 | |||
396 | pinctrl_usb_otg1_id: usbotg1idgrp { | ||
397 | fsl,pins = < | ||
398 | MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059 | ||
399 | >; | ||
400 | }; | ||
401 | |||
402 | pinctrl_usb_otg2: usbot2ggrp { | ||
403 | fsl,pins = < | ||
404 | MX6SX_PAD_GPIO1_IO12__GPIO1_IO_12 0x10b0 | ||
405 | >; | ||
406 | }; | ||
407 | |||
408 | pinctrl_usdhc2: usdhc2grp { | ||
409 | fsl,pins = < | ||
410 | MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x17059 | ||
411 | MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x10059 | ||
412 | MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x17059 | ||
413 | MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x17059 | ||
414 | MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x17059 | ||
415 | MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x17059 | ||
416 | >; | ||
417 | }; | ||
418 | |||
419 | pinctrl_usdhc3: usdhc3grp { | ||
420 | fsl,pins = < | ||
421 | MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x17059 | ||
422 | MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x10059 | ||
423 | MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x17059 | ||
424 | MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x17059 | ||
425 | MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x17059 | ||
426 | MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x17059 | ||
427 | MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x17059 | ||
428 | MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x17059 | ||
429 | MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x17059 | ||
430 | MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x17059 | ||
431 | MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x17059 /* CD */ | ||
432 | MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x17059 /* WP */ | ||
433 | >; | ||
434 | }; | ||
435 | |||
436 | pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { | ||
437 | fsl,pins = < | ||
438 | MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x170b9 | ||
439 | MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x100b9 | ||
440 | MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x170b9 | ||
441 | MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x170b9 | ||
442 | MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x170b9 | ||
443 | MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x170b9 | ||
444 | MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x170b9 | ||
445 | MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x170b9 | ||
446 | MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x170b9 | ||
447 | MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x170b9 | ||
448 | >; | ||
449 | }; | ||
450 | |||
451 | pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { | ||
452 | fsl,pins = < | ||
453 | MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x170f9 | ||
454 | MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x100f9 | ||
455 | MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x170f9 | ||
456 | MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x170f9 | ||
457 | MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x170f9 | ||
458 | MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x170f9 | ||
459 | MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x170f9 | ||
460 | MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x170f9 | ||
461 | MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x170f9 | ||
462 | MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x170f9 | ||
463 | >; | ||
464 | }; | ||
465 | |||
466 | pinctrl_usdhc4: usdhc4grp { | ||
467 | fsl,pins = < | ||
468 | MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x17059 | ||
469 | MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x10059 | ||
470 | MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x17059 | ||
471 | MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x17059 | ||
472 | MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x17059 | ||
473 | MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x17059 | ||
474 | MX6SX_PAD_SD4_DATA7__GPIO6_IO_21 0x17059 /* CD */ | ||
475 | MX6SX_PAD_SD4_DATA6__GPIO6_IO_20 0x17059 /* WP */ | ||
476 | >; | ||
477 | }; | ||
478 | }; | ||
479 | }; | ||
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi new file mode 100644 index 000000000000..f4b9da65bc0f --- /dev/null +++ b/arch/arm/boot/dts/imx6sx.dtsi | |||
@@ -0,0 +1,1208 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Freescale Semiconductor, Inc. | ||
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 | |||
9 | #include <dt-bindings/clock/imx6sx-clock.h> | ||
10 | #include <dt-bindings/gpio/gpio.h> | ||
11 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
12 | #include "imx6sx-pinfunc.h" | ||
13 | #include "skeleton.dtsi" | ||
14 | |||
15 | / { | ||
16 | aliases { | ||
17 | can0 = &flexcan1; | ||
18 | can1 = &flexcan2; | ||
19 | ethernet0 = &fec1; | ||
20 | ethernet1 = &fec2; | ||
21 | gpio0 = &gpio1; | ||
22 | gpio1 = &gpio2; | ||
23 | gpio2 = &gpio3; | ||
24 | gpio3 = &gpio4; | ||
25 | gpio4 = &gpio5; | ||
26 | gpio5 = &gpio6; | ||
27 | gpio6 = &gpio7; | ||
28 | i2c0 = &i2c1; | ||
29 | i2c1 = &i2c2; | ||
30 | i2c2 = &i2c3; | ||
31 | i2c3 = &i2c4; | ||
32 | mmc0 = &usdhc1; | ||
33 | mmc1 = &usdhc2; | ||
34 | mmc2 = &usdhc3; | ||
35 | mmc3 = &usdhc4; | ||
36 | serial0 = &uart1; | ||
37 | serial1 = &uart2; | ||
38 | serial2 = &uart3; | ||
39 | serial3 = &uart4; | ||
40 | serial4 = &uart5; | ||
41 | serial5 = &uart6; | ||
42 | spi0 = &ecspi1; | ||
43 | spi1 = &ecspi2; | ||
44 | spi2 = &ecspi3; | ||
45 | spi3 = &ecspi4; | ||
46 | spi4 = &ecspi5; | ||
47 | usbphy0 = &usbphy1; | ||
48 | usbphy1 = &usbphy2; | ||
49 | }; | ||
50 | |||
51 | cpus { | ||
52 | #address-cells = <1>; | ||
53 | #size-cells = <0>; | ||
54 | |||
55 | cpu0: cpu@0 { | ||
56 | compatible = "arm,cortex-a9"; | ||
57 | device_type = "cpu"; | ||
58 | reg = <0>; | ||
59 | next-level-cache = <&L2>; | ||
60 | operating-points = < | ||
61 | /* kHz uV */ | ||
62 | 996000 1250000 | ||
63 | 792000 1175000 | ||
64 | 396000 1075000 | ||
65 | >; | ||
66 | fsl,soc-operating-points = < | ||
67 | /* ARM kHz SOC uV */ | ||
68 | 996000 1175000 | ||
69 | 792000 1175000 | ||
70 | 396000 1175000 | ||
71 | >; | ||
72 | clock-latency = <61036>; /* two CLK32 periods */ | ||
73 | clocks = <&clks IMX6SX_CLK_ARM>, | ||
74 | <&clks IMX6SX_CLK_PLL2_PFD2>, | ||
75 | <&clks IMX6SX_CLK_STEP>, | ||
76 | <&clks IMX6SX_CLK_PLL1_SW>, | ||
77 | <&clks IMX6SX_CLK_PLL1_SYS>; | ||
78 | clock-names = "arm", "pll2_pfd2_396m", "step", | ||
79 | "pll1_sw", "pll1_sys"; | ||
80 | arm-supply = <®_arm>; | ||
81 | soc-supply = <®_soc>; | ||
82 | }; | ||
83 | }; | ||
84 | |||
85 | intc: interrupt-controller@00a01000 { | ||
86 | compatible = "arm,cortex-a9-gic"; | ||
87 | #interrupt-cells = <3>; | ||
88 | interrupt-controller; | ||
89 | reg = <0x00a01000 0x1000>, | ||
90 | <0x00a00100 0x100>; | ||
91 | }; | ||
92 | |||
93 | clocks { | ||
94 | #address-cells = <1>; | ||
95 | #size-cells = <0>; | ||
96 | |||
97 | ckil: clock@0 { | ||
98 | compatible = "fixed-clock"; | ||
99 | reg = <0>; | ||
100 | #clock-cells = <0>; | ||
101 | clock-frequency = <32768>; | ||
102 | clock-output-names = "ckil"; | ||
103 | }; | ||
104 | |||
105 | osc: clock@1 { | ||
106 | compatible = "fixed-clock"; | ||
107 | reg = <1>; | ||
108 | #clock-cells = <0>; | ||
109 | clock-frequency = <24000000>; | ||
110 | clock-output-names = "osc"; | ||
111 | }; | ||
112 | |||
113 | ipp_di0: clock@2 { | ||
114 | compatible = "fixed-clock"; | ||
115 | reg = <2>; | ||
116 | #clock-cells = <0>; | ||
117 | clock-frequency = <0>; | ||
118 | clock-output-names = "ipp_di0"; | ||
119 | }; | ||
120 | |||
121 | ipp_di1: clock@3 { | ||
122 | compatible = "fixed-clock"; | ||
123 | reg = <3>; | ||
124 | #clock-cells = <0>; | ||
125 | clock-frequency = <0>; | ||
126 | clock-output-names = "ipp_di1"; | ||
127 | }; | ||
128 | }; | ||
129 | |||
130 | soc { | ||
131 | #address-cells = <1>; | ||
132 | #size-cells = <1>; | ||
133 | compatible = "simple-bus"; | ||
134 | interrupt-parent = <&intc>; | ||
135 | ranges; | ||
136 | |||
137 | pmu { | ||
138 | compatible = "arm,cortex-a9-pmu"; | ||
139 | interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; | ||
140 | }; | ||
141 | |||
142 | ocram: sram@00900000 { | ||
143 | compatible = "mmio-sram"; | ||
144 | reg = <0x00900000 0x20000>; | ||
145 | clocks = <&clks IMX6SX_CLK_OCRAM>; | ||
146 | }; | ||
147 | |||
148 | L2: l2-cache@00a02000 { | ||
149 | compatible = "arm,pl310-cache"; | ||
150 | reg = <0x00a02000 0x1000>; | ||
151 | interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; | ||
152 | cache-unified; | ||
153 | cache-level = <2>; | ||
154 | arm,tag-latency = <4 2 3>; | ||
155 | arm,data-latency = <4 2 3>; | ||
156 | }; | ||
157 | |||
158 | dma_apbh: dma-apbh@01804000 { | ||
159 | compatible = "fsl,imx6sx-dma-apbh", "fsl,imx28-dma-apbh"; | ||
160 | reg = <0x01804000 0x2000>; | ||
161 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, | ||
162 | <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, | ||
163 | <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, | ||
164 | <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; | ||
165 | interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3"; | ||
166 | #dma-cells = <1>; | ||
167 | dma-channels = <4>; | ||
168 | clocks = <&clks IMX6SX_CLK_APBH_DMA>; | ||
169 | }; | ||
170 | |||
171 | gpmi: gpmi-nand@01806000{ | ||
172 | compatible = "fsl,imx6sx-gpmi-nand"; | ||
173 | #address-cells = <1>; | ||
174 | #size-cells = <1>; | ||
175 | reg = <0x01806000 0x2000>, <0x01808000 0x4000>; | ||
176 | reg-names = "gpmi-nand", "bch"; | ||
177 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | ||
178 | interrupt-names = "bch"; | ||
179 | clocks = <&clks IMX6SX_CLK_GPMI_IO>, | ||
180 | <&clks IMX6SX_CLK_GPMI_APB>, | ||
181 | <&clks IMX6SX_CLK_GPMI_BCH>, | ||
182 | <&clks IMX6SX_CLK_GPMI_BCH_APB>, | ||
183 | <&clks IMX6SX_CLK_PER1_BCH>; | ||
184 | clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch", | ||
185 | "gpmi_bch_apb", "per1_bch"; | ||
186 | dmas = <&dma_apbh 0>; | ||
187 | dma-names = "rx-tx"; | ||
188 | status = "disabled"; | ||
189 | }; | ||
190 | |||
191 | aips1: aips-bus@02000000 { | ||
192 | compatible = "fsl,aips-bus", "simple-bus"; | ||
193 | #address-cells = <1>; | ||
194 | #size-cells = <1>; | ||
195 | reg = <0x02000000 0x100000>; | ||
196 | ranges; | ||
197 | |||
198 | spba-bus@02000000 { | ||
199 | compatible = "fsl,spba-bus", "simple-bus"; | ||
200 | #address-cells = <1>; | ||
201 | #size-cells = <1>; | ||
202 | reg = <0x02000000 0x40000>; | ||
203 | ranges; | ||
204 | |||
205 | spdif: spdif@02004000 { | ||
206 | compatible = "fsl,imx6sx-spdif", "fsl,imx35-spdif"; | ||
207 | reg = <0x02004000 0x4000>; | ||
208 | interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; | ||
209 | dmas = <&sdma 14 18 0>, | ||
210 | <&sdma 15 18 0>; | ||
211 | dma-names = "rx", "tx"; | ||
212 | clocks = <&clks IMX6SX_CLK_SPDIF>, | ||
213 | <&clks IMX6SX_CLK_OSC>, | ||
214 | <&clks IMX6SX_CLK_SPDIF>, | ||
215 | <&clks 0>, <&clks 0>, <&clks 0>, | ||
216 | <&clks IMX6SX_CLK_IPG>, | ||
217 | <&clks 0>, <&clks 0>, | ||
218 | <&clks IMX6SX_CLK_SPBA>; | ||
219 | clock-names = "core", "rxtx0", | ||
220 | "rxtx1", "rxtx2", | ||
221 | "rxtx3", "rxtx4", | ||
222 | "rxtx5", "rxtx6", | ||
223 | "rxtx7", "dma"; | ||
224 | status = "disabled"; | ||
225 | }; | ||
226 | |||
227 | ecspi1: ecspi@02008000 { | ||
228 | #address-cells = <1>; | ||
229 | #size-cells = <0>; | ||
230 | compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi"; | ||
231 | reg = <0x02008000 0x4000>; | ||
232 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; | ||
233 | clocks = <&clks IMX6SX_CLK_ECSPI1>, | ||
234 | <&clks IMX6SX_CLK_ECSPI1>; | ||
235 | clock-names = "ipg", "per"; | ||
236 | status = "disabled"; | ||
237 | }; | ||
238 | |||
239 | ecspi2: ecspi@0200c000 { | ||
240 | #address-cells = <1>; | ||
241 | #size-cells = <0>; | ||
242 | compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi"; | ||
243 | reg = <0x0200c000 0x4000>; | ||
244 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | ||
245 | clocks = <&clks IMX6SX_CLK_ECSPI2>, | ||
246 | <&clks IMX6SX_CLK_ECSPI2>; | ||
247 | clock-names = "ipg", "per"; | ||
248 | status = "disabled"; | ||
249 | }; | ||
250 | |||
251 | ecspi3: ecspi@02010000 { | ||
252 | #address-cells = <1>; | ||
253 | #size-cells = <0>; | ||
254 | compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi"; | ||
255 | reg = <0x02010000 0x4000>; | ||
256 | interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; | ||
257 | clocks = <&clks IMX6SX_CLK_ECSPI3>, | ||
258 | <&clks IMX6SX_CLK_ECSPI3>; | ||
259 | clock-names = "ipg", "per"; | ||
260 | status = "disabled"; | ||
261 | }; | ||
262 | |||
263 | ecspi4: ecspi@02014000 { | ||
264 | #address-cells = <1>; | ||
265 | #size-cells = <0>; | ||
266 | compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi"; | ||
267 | reg = <0x02014000 0x4000>; | ||
268 | interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; | ||
269 | clocks = <&clks IMX6SX_CLK_ECSPI4>, | ||
270 | <&clks IMX6SX_CLK_ECSPI4>; | ||
271 | clock-names = "ipg", "per"; | ||
272 | status = "disabled"; | ||
273 | }; | ||
274 | |||
275 | uart1: serial@02020000 { | ||
276 | compatible = "fsl,imx6sx-uart", "fsl,imx21-uart"; | ||
277 | reg = <0x02020000 0x4000>; | ||
278 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; | ||
279 | clocks = <&clks IMX6SX_CLK_UART_IPG>, | ||
280 | <&clks IMX6SX_CLK_UART_SERIAL>; | ||
281 | clock-names = "ipg", "per"; | ||
282 | dmas = <&sdma 25 4 0>, <&sdma 26 4 0>; | ||
283 | dma-names = "rx", "tx"; | ||
284 | status = "disabled"; | ||
285 | }; | ||
286 | |||
287 | esai: esai@02024000 { | ||
288 | reg = <0x02024000 0x4000>; | ||
289 | interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; | ||
290 | clocks = <&clks IMX6SX_CLK_ESAI_IPG>, | ||
291 | <&clks IMX6SX_CLK_ESAI_MEM>, | ||
292 | <&clks IMX6SX_CLK_ESAI_EXTAL>, | ||
293 | <&clks IMX6SX_CLK_ESAI_IPG>, | ||
294 | <&clks IMX6SX_CLK_SPBA>; | ||
295 | clock-names = "core", "mem", "extal", | ||
296 | "fsys", "dma"; | ||
297 | status = "disabled"; | ||
298 | }; | ||
299 | |||
300 | ssi1: ssi@02028000 { | ||
301 | compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi"; | ||
302 | reg = <0x02028000 0x4000>; | ||
303 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; | ||
304 | clocks = <&clks IMX6SX_CLK_SSI1_IPG>, | ||
305 | <&clks IMX6SX_CLK_SSI1>; | ||
306 | clock-names = "ipg", "baud"; | ||
307 | dmas = <&sdma 37 1 0>, <&sdma 38 1 0>; | ||
308 | dma-names = "rx", "tx"; | ||
309 | fsl,fifo-depth = <15>; | ||
310 | status = "disabled"; | ||
311 | }; | ||
312 | |||
313 | ssi2: ssi@0202c000 { | ||
314 | compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi"; | ||
315 | reg = <0x0202c000 0x4000>; | ||
316 | interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; | ||
317 | clocks = <&clks IMX6SX_CLK_SSI2_IPG>, | ||
318 | <&clks IMX6SX_CLK_SSI2>; | ||
319 | clock-names = "ipg", "baud"; | ||
320 | dmas = <&sdma 41 1 0>, <&sdma 42 1 0>; | ||
321 | dma-names = "rx", "tx"; | ||
322 | fsl,fifo-depth = <15>; | ||
323 | status = "disabled"; | ||
324 | }; | ||
325 | |||
326 | ssi3: ssi@02030000 { | ||
327 | compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi"; | ||
328 | reg = <0x02030000 0x4000>; | ||
329 | interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; | ||
330 | clocks = <&clks IMX6SX_CLK_SSI3_IPG>, | ||
331 | <&clks IMX6SX_CLK_SSI3>; | ||
332 | clock-names = "ipg", "baud"; | ||
333 | dmas = <&sdma 45 1 0>, <&sdma 46 1 0>; | ||
334 | dma-names = "rx", "tx"; | ||
335 | fsl,fifo-depth = <15>; | ||
336 | status = "disabled"; | ||
337 | }; | ||
338 | |||
339 | asrc: asrc@02034000 { | ||
340 | reg = <0x02034000 0x4000>; | ||
341 | interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; | ||
342 | clocks = <&clks IMX6SX_CLK_ASRC_MEM>, | ||
343 | <&clks IMX6SX_CLK_ASRC_IPG>, | ||
344 | <&clks IMX6SX_CLK_SPDIF>, | ||
345 | <&clks IMX6SX_CLK_SPBA>; | ||
346 | clock-names = "mem", "ipg", "asrck", "dma"; | ||
347 | dmas = <&sdma 17 20 1>, <&sdma 18 20 1>, | ||
348 | <&sdma 19 20 1>, <&sdma 20 20 1>, | ||
349 | <&sdma 21 20 1>, <&sdma 22 20 1>; | ||
350 | dma-names = "rxa", "rxb", "rxc", | ||
351 | "txa", "txb", "txc"; | ||
352 | status = "okay"; | ||
353 | }; | ||
354 | }; | ||
355 | |||
356 | pwm1: pwm@02080000 { | ||
357 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
358 | reg = <0x02080000 0x4000>; | ||
359 | interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; | ||
360 | clocks = <&clks IMX6SX_CLK_PWM1>, | ||
361 | <&clks IMX6SX_CLK_PWM1>; | ||
362 | clock-names = "ipg", "per"; | ||
363 | #pwm-cells = <2>; | ||
364 | }; | ||
365 | |||
366 | pwm2: pwm@02084000 { | ||
367 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
368 | reg = <0x02084000 0x4000>; | ||
369 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; | ||
370 | clocks = <&clks IMX6SX_CLK_PWM2>, | ||
371 | <&clks IMX6SX_CLK_PWM2>; | ||
372 | clock-names = "ipg", "per"; | ||
373 | #pwm-cells = <2>; | ||
374 | }; | ||
375 | |||
376 | pwm3: pwm@02088000 { | ||
377 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
378 | reg = <0x02088000 0x4000>; | ||
379 | interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | ||
380 | clocks = <&clks IMX6SX_CLK_PWM3>, | ||
381 | <&clks IMX6SX_CLK_PWM3>; | ||
382 | clock-names = "ipg", "per"; | ||
383 | #pwm-cells = <2>; | ||
384 | }; | ||
385 | |||
386 | pwm4: pwm@0208c000 { | ||
387 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
388 | reg = <0x0208c000 0x4000>; | ||
389 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; | ||
390 | clocks = <&clks IMX6SX_CLK_PWM4>, | ||
391 | <&clks IMX6SX_CLK_PWM4>; | ||
392 | clock-names = "ipg", "per"; | ||
393 | #pwm-cells = <2>; | ||
394 | }; | ||
395 | |||
396 | flexcan1: can@02090000 { | ||
397 | compatible = "fsl,imx6sx-flexcan", "fsl,imx6q-flexcan"; | ||
398 | reg = <0x02090000 0x4000>; | ||
399 | interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; | ||
400 | clocks = <&clks IMX6SX_CLK_CAN1_IPG>, | ||
401 | <&clks IMX6SX_CLK_CAN1_SERIAL>; | ||
402 | clock-names = "ipg", "per"; | ||
403 | status = "disabled"; | ||
404 | }; | ||
405 | |||
406 | flexcan2: can@02094000 { | ||
407 | compatible = "fsl,imx6sx-flexcan", "fsl,imx6q-flexcan"; | ||
408 | reg = <0x02094000 0x4000>; | ||
409 | interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; | ||
410 | clocks = <&clks IMX6SX_CLK_CAN2_IPG>, | ||
411 | <&clks IMX6SX_CLK_CAN2_SERIAL>; | ||
412 | clock-names = "ipg", "per"; | ||
413 | status = "disabled"; | ||
414 | }; | ||
415 | |||
416 | gpt: gpt@02098000 { | ||
417 | compatible = "fsl,imx6sx-gpt", "fsl,imx31-gpt"; | ||
418 | reg = <0x02098000 0x4000>; | ||
419 | interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; | ||
420 | clocks = <&clks IMX6SX_CLK_GPT_BUS>, | ||
421 | <&clks IMX6SX_CLK_GPT_SERIAL>; | ||
422 | clock-names = "ipg", "per"; | ||
423 | }; | ||
424 | |||
425 | gpio1: gpio@0209c000 { | ||
426 | compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio"; | ||
427 | reg = <0x0209c000 0x4000>; | ||
428 | interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, | ||
429 | <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; | ||
430 | gpio-controller; | ||
431 | #gpio-cells = <2>; | ||
432 | interrupt-controller; | ||
433 | #interrupt-cells = <2>; | ||
434 | }; | ||
435 | |||
436 | gpio2: gpio@020a0000 { | ||
437 | compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio"; | ||
438 | reg = <0x020a0000 0x4000>; | ||
439 | interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, | ||
440 | <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; | ||
441 | gpio-controller; | ||
442 | #gpio-cells = <2>; | ||
443 | interrupt-controller; | ||
444 | #interrupt-cells = <2>; | ||
445 | }; | ||
446 | |||
447 | gpio3: gpio@020a4000 { | ||
448 | compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio"; | ||
449 | reg = <0x020a4000 0x4000>; | ||
450 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, | ||
451 | <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | ||
452 | gpio-controller; | ||
453 | #gpio-cells = <2>; | ||
454 | interrupt-controller; | ||
455 | #interrupt-cells = <2>; | ||
456 | }; | ||
457 | |||
458 | gpio4: gpio@020a8000 { | ||
459 | compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio"; | ||
460 | reg = <0x020a8000 0x4000>; | ||
461 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, | ||
462 | <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; | ||
463 | gpio-controller; | ||
464 | #gpio-cells = <2>; | ||
465 | interrupt-controller; | ||
466 | #interrupt-cells = <2>; | ||
467 | }; | ||
468 | |||
469 | gpio5: gpio@020ac000 { | ||
470 | compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio"; | ||
471 | reg = <0x020ac000 0x4000>; | ||
472 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, | ||
473 | <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; | ||
474 | gpio-controller; | ||
475 | #gpio-cells = <2>; | ||
476 | interrupt-controller; | ||
477 | #interrupt-cells = <2>; | ||
478 | }; | ||
479 | |||
480 | gpio6: gpio@020b0000 { | ||
481 | compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio"; | ||
482 | reg = <0x020b0000 0x4000>; | ||
483 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, | ||
484 | <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; | ||
485 | gpio-controller; | ||
486 | #gpio-cells = <2>; | ||
487 | interrupt-controller; | ||
488 | #interrupt-cells = <2>; | ||
489 | }; | ||
490 | |||
491 | gpio7: gpio@020b4000 { | ||
492 | compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio"; | ||
493 | reg = <0x020b4000 0x4000>; | ||
494 | interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, | ||
495 | <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; | ||
496 | gpio-controller; | ||
497 | #gpio-cells = <2>; | ||
498 | interrupt-controller; | ||
499 | #interrupt-cells = <2>; | ||
500 | }; | ||
501 | |||
502 | kpp: kpp@020b8000 { | ||
503 | compatible = "fsl,imx6sx-kpp", "fsl,imx21-kpp"; | ||
504 | reg = <0x020b8000 0x4000>; | ||
505 | interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; | ||
506 | clocks = <&clks IMX6SX_CLK_DUMMY>; | ||
507 | status = "disabled"; | ||
508 | }; | ||
509 | |||
510 | wdog1: wdog@020bc000 { | ||
511 | compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt"; | ||
512 | reg = <0x020bc000 0x4000>; | ||
513 | interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; | ||
514 | clocks = <&clks IMX6SX_CLK_DUMMY>; | ||
515 | }; | ||
516 | |||
517 | wdog2: wdog@020c0000 { | ||
518 | compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt"; | ||
519 | reg = <0x020c0000 0x4000>; | ||
520 | interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; | ||
521 | clocks = <&clks IMX6SX_CLK_DUMMY>; | ||
522 | status = "disabled"; | ||
523 | }; | ||
524 | |||
525 | clks: ccm@020c4000 { | ||
526 | compatible = "fsl,imx6sx-ccm"; | ||
527 | reg = <0x020c4000 0x4000>; | ||
528 | interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, | ||
529 | <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; | ||
530 | #clock-cells = <1>; | ||
531 | clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>; | ||
532 | clock-names = "ckil", "osc", "ipp_di0", "ipp_di1"; | ||
533 | }; | ||
534 | |||
535 | anatop: anatop@020c8000 { | ||
536 | compatible = "fsl,imx6sx-anatop", "fsl,imx6q-anatop", | ||
537 | "syscon", "simple-bus"; | ||
538 | reg = <0x020c8000 0x1000>; | ||
539 | interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, | ||
540 | <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, | ||
541 | <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; | ||
542 | |||
543 | regulator-1p1@110 { | ||
544 | compatible = "fsl,anatop-regulator"; | ||
545 | regulator-name = "vdd1p1"; | ||
546 | regulator-min-microvolt = <800000>; | ||
547 | regulator-max-microvolt = <1375000>; | ||
548 | regulator-always-on; | ||
549 | anatop-reg-offset = <0x110>; | ||
550 | anatop-vol-bit-shift = <8>; | ||
551 | anatop-vol-bit-width = <5>; | ||
552 | anatop-min-bit-val = <4>; | ||
553 | anatop-min-voltage = <800000>; | ||
554 | anatop-max-voltage = <1375000>; | ||
555 | }; | ||
556 | |||
557 | regulator-3p0@120 { | ||
558 | compatible = "fsl,anatop-regulator"; | ||
559 | regulator-name = "vdd3p0"; | ||
560 | regulator-min-microvolt = <2800000>; | ||
561 | regulator-max-microvolt = <3150000>; | ||
562 | regulator-always-on; | ||
563 | anatop-reg-offset = <0x120>; | ||
564 | anatop-vol-bit-shift = <8>; | ||
565 | anatop-vol-bit-width = <5>; | ||
566 | anatop-min-bit-val = <0>; | ||
567 | anatop-min-voltage = <2625000>; | ||
568 | anatop-max-voltage = <3400000>; | ||
569 | }; | ||
570 | |||
571 | regulator-2p5@130 { | ||
572 | compatible = "fsl,anatop-regulator"; | ||
573 | regulator-name = "vdd2p5"; | ||
574 | regulator-min-microvolt = <2100000>; | ||
575 | regulator-max-microvolt = <2875000>; | ||
576 | regulator-always-on; | ||
577 | anatop-reg-offset = <0x130>; | ||
578 | anatop-vol-bit-shift = <8>; | ||
579 | anatop-vol-bit-width = <5>; | ||
580 | anatop-min-bit-val = <0>; | ||
581 | anatop-min-voltage = <2100000>; | ||
582 | anatop-max-voltage = <2875000>; | ||
583 | }; | ||
584 | |||
585 | reg_arm: regulator-vddcore@140 { | ||
586 | compatible = "fsl,anatop-regulator"; | ||
587 | regulator-name = "vddarm"; | ||
588 | regulator-min-microvolt = <725000>; | ||
589 | regulator-max-microvolt = <1450000>; | ||
590 | regulator-always-on; | ||
591 | anatop-reg-offset = <0x140>; | ||
592 | anatop-vol-bit-shift = <0>; | ||
593 | anatop-vol-bit-width = <5>; | ||
594 | anatop-delay-reg-offset = <0x170>; | ||
595 | anatop-delay-bit-shift = <24>; | ||
596 | anatop-delay-bit-width = <2>; | ||
597 | anatop-min-bit-val = <1>; | ||
598 | anatop-min-voltage = <725000>; | ||
599 | anatop-max-voltage = <1450000>; | ||
600 | }; | ||
601 | |||
602 | reg_pcie: regulator-vddpcie@140 { | ||
603 | compatible = "fsl,anatop-regulator"; | ||
604 | regulator-name = "vddpcie"; | ||
605 | regulator-min-microvolt = <725000>; | ||
606 | regulator-max-microvolt = <1450000>; | ||
607 | anatop-reg-offset = <0x140>; | ||
608 | anatop-vol-bit-shift = <9>; | ||
609 | anatop-vol-bit-width = <5>; | ||
610 | anatop-delay-reg-offset = <0x170>; | ||
611 | anatop-delay-bit-shift = <26>; | ||
612 | anatop-delay-bit-width = <2>; | ||
613 | anatop-min-bit-val = <1>; | ||
614 | anatop-min-voltage = <725000>; | ||
615 | anatop-max-voltage = <1450000>; | ||
616 | }; | ||
617 | |||
618 | reg_soc: regulator-vddsoc@140 { | ||
619 | compatible = "fsl,anatop-regulator"; | ||
620 | regulator-name = "vddsoc"; | ||
621 | regulator-min-microvolt = <725000>; | ||
622 | regulator-max-microvolt = <1450000>; | ||
623 | regulator-always-on; | ||
624 | anatop-reg-offset = <0x140>; | ||
625 | anatop-vol-bit-shift = <18>; | ||
626 | anatop-vol-bit-width = <5>; | ||
627 | anatop-delay-reg-offset = <0x170>; | ||
628 | anatop-delay-bit-shift = <28>; | ||
629 | anatop-delay-bit-width = <2>; | ||
630 | anatop-min-bit-val = <1>; | ||
631 | anatop-min-voltage = <725000>; | ||
632 | anatop-max-voltage = <1450000>; | ||
633 | }; | ||
634 | }; | ||
635 | |||
636 | tempmon: tempmon { | ||
637 | compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon"; | ||
638 | interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; | ||
639 | fsl,tempmon = <&anatop>; | ||
640 | fsl,tempmon-data = <&ocotp>; | ||
641 | clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>; | ||
642 | }; | ||
643 | |||
644 | usbphy1: usbphy@020c9000 { | ||
645 | compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy"; | ||
646 | reg = <0x020c9000 0x1000>; | ||
647 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; | ||
648 | clocks = <&clks IMX6SX_CLK_USBPHY1>; | ||
649 | fsl,anatop = <&anatop>; | ||
650 | }; | ||
651 | |||
652 | usbphy2: usbphy@020ca000 { | ||
653 | compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy"; | ||
654 | reg = <0x020ca000 0x1000>; | ||
655 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | ||
656 | clocks = <&clks IMX6SX_CLK_USBPHY2>; | ||
657 | fsl,anatop = <&anatop>; | ||
658 | }; | ||
659 | |||
660 | snvs: snvs@020cc000 { | ||
661 | compatible = "fsl,sec-v4.0-mon", "simple-bus"; | ||
662 | #address-cells = <1>; | ||
663 | #size-cells = <1>; | ||
664 | ranges = <0 0x020cc000 0x4000>; | ||
665 | |||
666 | snvs-rtc-lp@34 { | ||
667 | compatible = "fsl,sec-v4.0-mon-rtc-lp"; | ||
668 | reg = <0x34 0x58>; | ||
669 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; | ||
670 | }; | ||
671 | }; | ||
672 | |||
673 | epit1: epit@020d0000 { | ||
674 | reg = <0x020d0000 0x4000>; | ||
675 | interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; | ||
676 | }; | ||
677 | |||
678 | epit2: epit@020d4000 { | ||
679 | reg = <0x020d4000 0x4000>; | ||
680 | interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; | ||
681 | }; | ||
682 | |||
683 | src: src@020d8000 { | ||
684 | compatible = "fsl,imx6sx-src", "fsl,imx51-src"; | ||
685 | reg = <0x020d8000 0x4000>; | ||
686 | interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, | ||
687 | <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; | ||
688 | #reset-cells = <1>; | ||
689 | }; | ||
690 | |||
691 | gpc: gpc@020dc000 { | ||
692 | compatible = "fsl,imx6sx-gpc", "fsl,imx6q-gpc"; | ||
693 | reg = <0x020dc000 0x4000>; | ||
694 | interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; | ||
695 | }; | ||
696 | |||
697 | iomuxc: iomuxc@020e0000 { | ||
698 | compatible = "fsl,imx6sx-iomuxc"; | ||
699 | reg = <0x020e0000 0x4000>; | ||
700 | }; | ||
701 | |||
702 | gpr: iomuxc-gpr@020e4000 { | ||
703 | compatible = "fsl,imx6sx-iomuxc-gpr", | ||
704 | "fsl,imx6q-iomuxc-gpr", "syscon"; | ||
705 | reg = <0x020e4000 0x4000>; | ||
706 | }; | ||
707 | |||
708 | sdma: sdma@020ec000 { | ||
709 | compatible = "fsl,imx6sx-sdma", "fsl,imx6q-sdma"; | ||
710 | reg = <0x020ec000 0x4000>; | ||
711 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; | ||
712 | clocks = <&clks IMX6SX_CLK_SDMA>, | ||
713 | <&clks IMX6SX_CLK_SDMA>; | ||
714 | clock-names = "ipg", "ahb"; | ||
715 | #dma-cells = <3>; | ||
716 | /* imx6sx reuses imx6q sdma firmware */ | ||
717 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin"; | ||
718 | }; | ||
719 | }; | ||
720 | |||
721 | aips2: aips-bus@02100000 { | ||
722 | compatible = "fsl,aips-bus", "simple-bus"; | ||
723 | #address-cells = <1>; | ||
724 | #size-cells = <1>; | ||
725 | reg = <0x02100000 0x100000>; | ||
726 | ranges; | ||
727 | |||
728 | usbotg1: usb@02184000 { | ||
729 | compatible = "fsl,imx6sx-usb", "fsl,imx27-usb"; | ||
730 | reg = <0x02184000 0x200>; | ||
731 | interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; | ||
732 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
733 | fsl,usbphy = <&usbphy1>; | ||
734 | fsl,usbmisc = <&usbmisc 0>; | ||
735 | fsl,anatop = <&anatop>; | ||
736 | status = "disabled"; | ||
737 | }; | ||
738 | |||
739 | usbotg2: usb@02184200 { | ||
740 | compatible = "fsl,imx6sx-usb", "fsl,imx27-usb"; | ||
741 | reg = <0x02184200 0x200>; | ||
742 | interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; | ||
743 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
744 | fsl,usbphy = <&usbphy2>; | ||
745 | fsl,usbmisc = <&usbmisc 1>; | ||
746 | status = "disabled"; | ||
747 | }; | ||
748 | |||
749 | usbh: usb@02184400 { | ||
750 | compatible = "fsl,imx6sx-usb", "fsl,imx27-usb"; | ||
751 | reg = <0x02184400 0x200>; | ||
752 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; | ||
753 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
754 | fsl,usbmisc = <&usbmisc 2>; | ||
755 | phy_type = "hsic"; | ||
756 | fsl,anatop = <&anatop>; | ||
757 | status = "disabled"; | ||
758 | }; | ||
759 | |||
760 | usbmisc: usbmisc@02184800 { | ||
761 | #index-cells = <1>; | ||
762 | compatible = "fsl,imx6sx-usbmisc", "fsl,imx6q-usbmisc"; | ||
763 | reg = <0x02184800 0x200>; | ||
764 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
765 | }; | ||
766 | |||
767 | fec1: ethernet@02188000 { | ||
768 | compatible = "fsl,imx6sx-fec", "fsl,imx6q-fec"; | ||
769 | reg = <0x02188000 0x4000>; | ||
770 | interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, | ||
771 | <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; | ||
772 | clocks = <&clks IMX6SX_CLK_ENET>, | ||
773 | <&clks IMX6SX_CLK_ENET_AHB>, | ||
774 | <&clks IMX6SX_CLK_ENET_PTP>, | ||
775 | <&clks IMX6SX_CLK_ENET_REF>, | ||
776 | <&clks IMX6SX_CLK_ENET_PTP>; | ||
777 | clock-names = "ipg", "ahb", "ptp", | ||
778 | "enet_clk_ref", "enet_out"; | ||
779 | status = "disabled"; | ||
780 | }; | ||
781 | |||
782 | mlb: mlb@0218c000 { | ||
783 | reg = <0x0218c000 0x4000>; | ||
784 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, | ||
785 | <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, | ||
786 | <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; | ||
787 | clocks = <&clks IMX6SX_CLK_MLB>; | ||
788 | status = "disabled"; | ||
789 | }; | ||
790 | |||
791 | usdhc1: usdhc@02190000 { | ||
792 | compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc"; | ||
793 | reg = <0x02190000 0x4000>; | ||
794 | interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; | ||
795 | clocks = <&clks IMX6SX_CLK_USDHC1>, | ||
796 | <&clks IMX6SX_CLK_USDHC1>, | ||
797 | <&clks IMX6SX_CLK_USDHC1>; | ||
798 | clock-names = "ipg", "ahb", "per"; | ||
799 | bus-width = <4>; | ||
800 | status = "disabled"; | ||
801 | }; | ||
802 | |||
803 | usdhc2: usdhc@02194000 { | ||
804 | compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc"; | ||
805 | reg = <0x02194000 0x4000>; | ||
806 | interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; | ||
807 | clocks = <&clks IMX6SX_CLK_USDHC2>, | ||
808 | <&clks IMX6SX_CLK_USDHC2>, | ||
809 | <&clks IMX6SX_CLK_USDHC2>; | ||
810 | clock-names = "ipg", "ahb", "per"; | ||
811 | bus-width = <4>; | ||
812 | status = "disabled"; | ||
813 | }; | ||
814 | |||
815 | usdhc3: usdhc@02198000 { | ||
816 | compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc"; | ||
817 | reg = <0x02198000 0x4000>; | ||
818 | interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; | ||
819 | clocks = <&clks IMX6SX_CLK_USDHC3>, | ||
820 | <&clks IMX6SX_CLK_USDHC3>, | ||
821 | <&clks IMX6SX_CLK_USDHC3>; | ||
822 | clock-names = "ipg", "ahb", "per"; | ||
823 | bus-width = <4>; | ||
824 | status = "disabled"; | ||
825 | }; | ||
826 | |||
827 | usdhc4: usdhc@0219c000 { | ||
828 | compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc"; | ||
829 | reg = <0x0219c000 0x4000>; | ||
830 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | ||
831 | clocks = <&clks IMX6SX_CLK_USDHC4>, | ||
832 | <&clks IMX6SX_CLK_USDHC4>, | ||
833 | <&clks IMX6SX_CLK_USDHC4>; | ||
834 | clock-names = "ipg", "ahb", "per"; | ||
835 | bus-width = <4>; | ||
836 | status = "disabled"; | ||
837 | }; | ||
838 | |||
839 | i2c1: i2c@021a0000 { | ||
840 | #address-cells = <1>; | ||
841 | #size-cells = <0>; | ||
842 | compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c"; | ||
843 | reg = <0x021a0000 0x4000>; | ||
844 | interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; | ||
845 | clocks = <&clks IMX6SX_CLK_I2C1>; | ||
846 | status = "disabled"; | ||
847 | }; | ||
848 | |||
849 | i2c2: i2c@021a4000 { | ||
850 | #address-cells = <1>; | ||
851 | #size-cells = <0>; | ||
852 | compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c"; | ||
853 | reg = <0x021a4000 0x4000>; | ||
854 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | ||
855 | clocks = <&clks IMX6SX_CLK_I2C2>; | ||
856 | status = "disabled"; | ||
857 | }; | ||
858 | |||
859 | i2c3: i2c@021a8000 { | ||
860 | #address-cells = <1>; | ||
861 | #size-cells = <0>; | ||
862 | compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c"; | ||
863 | reg = <0x021a8000 0x4000>; | ||
864 | interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; | ||
865 | clocks = <&clks IMX6SX_CLK_I2C3>; | ||
866 | status = "disabled"; | ||
867 | }; | ||
868 | |||
869 | mmdc: mmdc@021b0000 { | ||
870 | compatible = "fsl,imx6sx-mmdc", "fsl,imx6q-mmdc"; | ||
871 | reg = <0x021b0000 0x4000>; | ||
872 | }; | ||
873 | |||
874 | fec2: ethernet@021b4000 { | ||
875 | compatible = "fsl,imx6sx-fec"; | ||
876 | reg = <0x021b4000 0x4000>; | ||
877 | interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, | ||
878 | <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; | ||
879 | clocks = <&clks IMX6SX_CLK_ENET>, | ||
880 | <&clks IMX6SX_CLK_ENET_AHB>, | ||
881 | <&clks IMX6SX_CLK_ENET_PTP>, | ||
882 | <&clks IMX6SX_CLK_ENET2_REF_125M>, | ||
883 | <&clks IMX6SX_CLK_ENET_PTP>; | ||
884 | clock-names = "ipg", "ahb", "ptp", | ||
885 | "enet_clk_ref", "enet_out"; | ||
886 | status = "disabled"; | ||
887 | }; | ||
888 | |||
889 | weim: weim@021b8000 { | ||
890 | compatible = "fsl,imx6sx-weim", "fsl,imx6q-weim"; | ||
891 | reg = <0x021b8000 0x4000>; | ||
892 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; | ||
893 | clocks = <&clks IMX6SX_CLK_EIM_SLOW>; | ||
894 | }; | ||
895 | |||
896 | ocotp: ocotp@021bc000 { | ||
897 | compatible = "fsl,imx6sx-ocotp", "syscon"; | ||
898 | reg = <0x021bc000 0x4000>; | ||
899 | clocks = <&clks IMX6SX_CLK_OCOTP>; | ||
900 | }; | ||
901 | |||
902 | sai1: sai@021d4000 { | ||
903 | compatible = "fsl,imx6sx-sai"; | ||
904 | reg = <0x021d4000 0x4000>; | ||
905 | interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; | ||
906 | clocks = <&clks IMX6SX_CLK_SAI1_IPG>, | ||
907 | <&clks IMX6SX_CLK_SAI1>, | ||
908 | <&clks 0>, <&clks 0>; | ||
909 | clock-names = "bus", "mclk1", "mclk2", "mclk3"; | ||
910 | dma-names = "rx", "tx"; | ||
911 | dmas = <&sdma 31 23 0>, <&sdma 32 23 0>; | ||
912 | dma-source = <&gpr 0 15 0 16>; | ||
913 | status = "disabled"; | ||
914 | }; | ||
915 | |||
916 | audmux: audmux@021d8000 { | ||
917 | compatible = "fsl,imx6sx-audmux", "fsl,imx31-audmux"; | ||
918 | reg = <0x021d8000 0x4000>; | ||
919 | status = "disabled"; | ||
920 | }; | ||
921 | |||
922 | sai2: sai@021dc000 { | ||
923 | compatible = "fsl,imx6sx-sai"; | ||
924 | reg = <0x021dc000 0x4000>; | ||
925 | interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; | ||
926 | clocks = <&clks IMX6SX_CLK_SAI2_IPG>, | ||
927 | <&clks IMX6SX_CLK_SAI2>, | ||
928 | <&clks 0>, <&clks 0>; | ||
929 | clock-names = "bus", "mclk1", "mclk2", "mclk3"; | ||
930 | dma-names = "rx", "tx"; | ||
931 | dmas = <&sdma 33 23 0>, <&sdma 34 23 0>; | ||
932 | dma-source = <&gpr 0 17 0 18>; | ||
933 | status = "disabled"; | ||
934 | }; | ||
935 | |||
936 | qspi1: qspi@021e0000 { | ||
937 | #address-cells = <1>; | ||
938 | #size-cells = <0>; | ||
939 | compatible = "fsl,imx6sx-qspi"; | ||
940 | reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>; | ||
941 | reg-names = "QuadSPI", "QuadSPI-memory"; | ||
942 | interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; | ||
943 | clocks = <&clks IMX6SX_CLK_QSPI1>, | ||
944 | <&clks IMX6SX_CLK_QSPI1>; | ||
945 | clock-names = "qspi_en", "qspi"; | ||
946 | status = "disabled"; | ||
947 | }; | ||
948 | |||
949 | qspi2: qspi@021e4000 { | ||
950 | #address-cells = <1>; | ||
951 | #size-cells = <0>; | ||
952 | compatible = "fsl,imx6sx-qspi"; | ||
953 | reg = <0x021e4000 0x4000>, <0x70000000 0x10000000>; | ||
954 | reg-names = "QuadSPI", "QuadSPI-memory"; | ||
955 | interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||
956 | clocks = <&clks IMX6SX_CLK_QSPI2>, | ||
957 | <&clks IMX6SX_CLK_QSPI2>; | ||
958 | clock-names = "qspi_en", "qspi"; | ||
959 | status = "disabled"; | ||
960 | }; | ||
961 | |||
962 | uart2: serial@021e8000 { | ||
963 | compatible = "fsl,imx6sx-uart", "fsl,imx21-uart"; | ||
964 | reg = <0x021e8000 0x4000>; | ||
965 | interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; | ||
966 | clocks = <&clks IMX6SX_CLK_UART_IPG>, | ||
967 | <&clks IMX6SX_CLK_UART_SERIAL>; | ||
968 | clock-names = "ipg", "per"; | ||
969 | dmas = <&sdma 27 4 0>, <&sdma 28 4 0>; | ||
970 | dma-names = "rx", "tx"; | ||
971 | status = "disabled"; | ||
972 | }; | ||
973 | |||
974 | uart3: serial@021ec000 { | ||
975 | compatible = "fsl,imx6sx-uart", "fsl,imx21-uart"; | ||
976 | reg = <0x021ec000 0x4000>; | ||
977 | interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | ||
978 | clocks = <&clks IMX6SX_CLK_UART_IPG>, | ||
979 | <&clks IMX6SX_CLK_UART_SERIAL>; | ||
980 | clock-names = "ipg", "per"; | ||
981 | dmas = <&sdma 29 4 0>, <&sdma 30 4 0>; | ||
982 | dma-names = "rx", "tx"; | ||
983 | status = "disabled"; | ||
984 | }; | ||
985 | |||
986 | uart4: serial@021f0000 { | ||
987 | compatible = "fsl,imx6sx-uart", "fsl,imx21-uart"; | ||
988 | reg = <0x021f0000 0x4000>; | ||
989 | interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; | ||
990 | clocks = <&clks IMX6SX_CLK_UART_IPG>, | ||
991 | <&clks IMX6SX_CLK_UART_SERIAL>; | ||
992 | clock-names = "ipg", "per"; | ||
993 | dmas = <&sdma 31 4 0>, <&sdma 32 4 0>; | ||
994 | dma-names = "rx", "tx"; | ||
995 | status = "disabled"; | ||
996 | }; | ||
997 | |||
998 | uart5: serial@021f4000 { | ||
999 | compatible = "fsl,imx6sx-uart", "fsl,imx21-uart"; | ||
1000 | reg = <0x021f4000 0x4000>; | ||
1001 | interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; | ||
1002 | clocks = <&clks IMX6SX_CLK_UART_IPG>, | ||
1003 | <&clks IMX6SX_CLK_UART_SERIAL>; | ||
1004 | clock-names = "ipg", "per"; | ||
1005 | dmas = <&sdma 33 4 0>, <&sdma 34 4 0>; | ||
1006 | dma-names = "rx", "tx"; | ||
1007 | status = "disabled"; | ||
1008 | }; | ||
1009 | |||
1010 | i2c4: i2c@021f8000 { | ||
1011 | #address-cells = <1>; | ||
1012 | #size-cells = <0>; | ||
1013 | compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c"; | ||
1014 | reg = <0x021f8000 0x4000>; | ||
1015 | interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; | ||
1016 | clocks = <&clks IMX6SX_CLK_I2C4>; | ||
1017 | status = "disabled"; | ||
1018 | }; | ||
1019 | }; | ||
1020 | |||
1021 | aips3: aips-bus@02200000 { | ||
1022 | compatible = "fsl,aips-bus", "simple-bus"; | ||
1023 | #address-cells = <1>; | ||
1024 | #size-cells = <1>; | ||
1025 | reg = <0x02200000 0x100000>; | ||
1026 | ranges; | ||
1027 | |||
1028 | spba-bus@02200000 { | ||
1029 | compatible = "fsl,spba-bus", "simple-bus"; | ||
1030 | #address-cells = <1>; | ||
1031 | #size-cells = <1>; | ||
1032 | reg = <0x02240000 0x40000>; | ||
1033 | ranges; | ||
1034 | |||
1035 | csi1: csi@02214000 { | ||
1036 | reg = <0x02214000 0x4000>; | ||
1037 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | ||
1038 | clocks = <&clks IMX6SX_CLK_DISPLAY_AXI>, | ||
1039 | <&clks IMX6SX_CLK_CSI>, | ||
1040 | <&clks IMX6SX_CLK_DCIC1>; | ||
1041 | clock-names = "disp-axi", "csi_mclk", "dcic"; | ||
1042 | status = "disabled"; | ||
1043 | }; | ||
1044 | |||
1045 | pxp: pxp@02218000 { | ||
1046 | reg = <0x02218000 0x4000>; | ||
1047 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | ||
1048 | clocks = <&clks IMX6SX_CLK_PXP_AXI>, | ||
1049 | <&clks IMX6SX_CLK_DISPLAY_AXI>; | ||
1050 | clock-names = "pxp-axi", "disp-axi"; | ||
1051 | status = "disabled"; | ||
1052 | }; | ||
1053 | |||
1054 | csi2: csi@0221c000 { | ||
1055 | reg = <0x0221c000 0x4000>; | ||
1056 | interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; | ||
1057 | clocks = <&clks IMX6SX_CLK_DISPLAY_AXI>, | ||
1058 | <&clks IMX6SX_CLK_CSI>, | ||
1059 | <&clks IMX6SX_CLK_DCIC2>; | ||
1060 | clock-names = "disp-axi", "csi_mclk", "dcic"; | ||
1061 | status = "disabled"; | ||
1062 | }; | ||
1063 | |||
1064 | lcdif1: lcdif@02220000 { | ||
1065 | reg = <0x02220000 0x4000>; | ||
1066 | interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; | ||
1067 | clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>, | ||
1068 | <&clks IMX6SX_CLK_LCDIF_APB>, | ||
1069 | <&clks IMX6SX_CLK_DISPLAY_AXI>; | ||
1070 | clock-names = "pix", "axi", "disp_axi"; | ||
1071 | status = "disabled"; | ||
1072 | }; | ||
1073 | |||
1074 | lcdif2: lcdif@02224000 { | ||
1075 | reg = <0x02224000 0x4000>; | ||
1076 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | ||
1077 | clocks = <&clks IMX6SX_CLK_LCDIF2_PIX>, | ||
1078 | <&clks IMX6SX_CLK_LCDIF_APB>, | ||
1079 | <&clks IMX6SX_CLK_DISPLAY_AXI>; | ||
1080 | clock-names = "pix", "axi", "disp_axi"; | ||
1081 | status = "disabled"; | ||
1082 | }; | ||
1083 | |||
1084 | vadc: vadc@02228000 { | ||
1085 | reg = <0x02228000 0x4000>, <0x0222c000 0x4000>; | ||
1086 | reg-names = "vadc-vafe", "vadc-vdec"; | ||
1087 | clocks = <&clks IMX6SX_CLK_VADC>, | ||
1088 | <&clks IMX6SX_CLK_CSI>; | ||
1089 | clock-names = "vadc", "csi"; | ||
1090 | status = "disabled"; | ||
1091 | }; | ||
1092 | }; | ||
1093 | |||
1094 | adc1: adc@02280000 { | ||
1095 | compatible = "fsl,imx6sx-adc", "fsl,vf610-adc"; | ||
1096 | reg = <0x02280000 0x4000>; | ||
1097 | interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; | ||
1098 | clocks = <&clks IMX6SX_CLK_IPG>; | ||
1099 | clock-names = "adc"; | ||
1100 | status = "disabled"; | ||
1101 | }; | ||
1102 | |||
1103 | adc2: adc@02284000 { | ||
1104 | compatible = "fsl,imx6sx-adc", "fsl,vf610-adc"; | ||
1105 | reg = <0x02284000 0x4000>; | ||
1106 | interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||
1107 | clocks = <&clks IMX6SX_CLK_IPG>; | ||
1108 | clock-names = "adc"; | ||
1109 | status = "disabled"; | ||
1110 | }; | ||
1111 | |||
1112 | wdog3: wdog@02288000 { | ||
1113 | compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt"; | ||
1114 | reg = <0x02288000 0x4000>; | ||
1115 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
1116 | clocks = <&clks IMX6SX_CLK_DUMMY>; | ||
1117 | status = "disabled"; | ||
1118 | }; | ||
1119 | |||
1120 | ecspi5: ecspi@0228c000 { | ||
1121 | #address-cells = <1>; | ||
1122 | #size-cells = <0>; | ||
1123 | compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi"; | ||
1124 | reg = <0x0228c000 0x4000>; | ||
1125 | interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; | ||
1126 | clocks = <&clks IMX6SX_CLK_ECSPI5>, | ||
1127 | <&clks IMX6SX_CLK_ECSPI5>; | ||
1128 | clock-names = "ipg", "per"; | ||
1129 | status = "disabled"; | ||
1130 | }; | ||
1131 | |||
1132 | uart6: serial@022a0000 { | ||
1133 | compatible = "fsl,imx6sx-uart", "fsl,imx21-uart"; | ||
1134 | reg = <0x022a0000 0x4000>; | ||
1135 | interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; | ||
1136 | clocks = <&clks IMX6SX_CLK_UART_IPG>, | ||
1137 | <&clks IMX6SX_CLK_UART_SERIAL>; | ||
1138 | clock-names = "ipg", "per"; | ||
1139 | dmas = <&sdma 0 4 0>, <&sdma 47 4 0>; | ||
1140 | dma-names = "rx", "tx"; | ||
1141 | status = "disabled"; | ||
1142 | }; | ||
1143 | |||
1144 | pwm5: pwm@022a4000 { | ||
1145 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
1146 | reg = <0x022a4000 0x4000>; | ||
1147 | interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; | ||
1148 | clocks = <&clks IMX6SX_CLK_PWM5>, | ||
1149 | <&clks IMX6SX_CLK_PWM5>; | ||
1150 | clock-names = "ipg", "per"; | ||
1151 | #pwm-cells = <2>; | ||
1152 | }; | ||
1153 | |||
1154 | pwm6: pwm@022a8000 { | ||
1155 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
1156 | reg = <0x022a8000 0x4000>; | ||
1157 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; | ||
1158 | clocks = <&clks IMX6SX_CLK_PWM6>, | ||
1159 | <&clks IMX6SX_CLK_PWM6>; | ||
1160 | clock-names = "ipg", "per"; | ||
1161 | #pwm-cells = <2>; | ||
1162 | }; | ||
1163 | |||
1164 | pwm7: pwm@022ac000 { | ||
1165 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
1166 | reg = <0x022ac000 0x4000>; | ||
1167 | interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | ||
1168 | clocks = <&clks IMX6SX_CLK_PWM7>, | ||
1169 | <&clks IMX6SX_CLK_PWM7>; | ||
1170 | clock-names = "ipg", "per"; | ||
1171 | #pwm-cells = <2>; | ||
1172 | }; | ||
1173 | |||
1174 | pwm8: pwm@0022b0000 { | ||
1175 | compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; | ||
1176 | reg = <0x0022b0000 0x4000>; | ||
1177 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; | ||
1178 | clocks = <&clks IMX6SX_CLK_PWM8>, | ||
1179 | <&clks IMX6SX_CLK_PWM8>; | ||
1180 | clock-names = "ipg", "per"; | ||
1181 | #pwm-cells = <2>; | ||
1182 | }; | ||
1183 | }; | ||
1184 | |||
1185 | pcie: pcie@0x08000000 { | ||
1186 | compatible = "fsl,imx6sx-pcie", "snps,dw-pcie"; | ||
1187 | reg = <0x08ffc000 0x4000>; /* DBI */ | ||
1188 | #address-cells = <3>; | ||
1189 | #size-cells = <2>; | ||
1190 | device_type = "pci"; | ||
1191 | /* configuration space */ | ||
1192 | ranges = <0x00000800 0 0x08f00000 0x08f00000 0 0x00080000 | ||
1193 | /* downstream I/O */ | ||
1194 | 0x81000000 0 0 0x08f80000 0 0x00010000 | ||
1195 | /* non-prefetchable memory */ | ||
1196 | 0x82000000 0 0x08000000 0x08000000 0 0x00f00000>; | ||
1197 | num-lanes = <1>; | ||
1198 | interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; | ||
1199 | clocks = <&clks IMX6SX_CLK_PCIE_REF_125M>, | ||
1200 | <&clks IMX6SX_CLK_PCIE_AXI>, | ||
1201 | <&clks IMX6SX_CLK_LVDS1_OUT>, | ||
1202 | <&clks IMX6SX_CLK_DISPLAY_AXI>; | ||
1203 | clock-names = "pcie_ref_125m", "pcie_axi", | ||
1204 | "lvds_gate", "display_axi"; | ||
1205 | status = "disabled"; | ||
1206 | }; | ||
1207 | }; | ||
1208 | }; | ||
diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi index 6cc314e7b8fb..583dd363c9dc 100644 --- a/arch/arm/boot/dts/vf610.dtsi +++ b/arch/arm/boot/dts/vf610.dtsi | |||
@@ -14,6 +14,8 @@ | |||
14 | 14 | ||
15 | / { | 15 | / { |
16 | aliases { | 16 | aliases { |
17 | can0 = &can0; | ||
18 | can1 = &can1; | ||
17 | serial0 = &uart0; | 19 | serial0 = &uart0; |
18 | serial1 = &uart1; | 20 | serial1 = &uart1; |
19 | serial2 = &uart2; | 21 | serial2 = &uart2; |
@@ -103,6 +105,16 @@ | |||
103 | <&clks VF610_CLK_DMAMUX1>; | 105 | <&clks VF610_CLK_DMAMUX1>; |
104 | }; | 106 | }; |
105 | 107 | ||
108 | can0: flexcan@40020000 { | ||
109 | compatible = "fsl,vf610-flexcan"; | ||
110 | reg = <0x40020000 0x4000>; | ||
111 | interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>; | ||
112 | clocks = <&clks VF610_CLK_FLEXCAN0>, | ||
113 | <&clks VF610_CLK_FLEXCAN0>; | ||
114 | clock-names = "ipg", "per"; | ||
115 | status = "disabled"; | ||
116 | }; | ||
117 | |||
106 | uart0: serial@40027000 { | 118 | uart0: serial@40027000 { |
107 | compatible = "fsl,vf610-lpuart"; | 119 | compatible = "fsl,vf610-lpuart"; |
108 | reg = <0x40027000 0x1000>; | 120 | reg = <0x40027000 0x1000>; |
@@ -362,7 +374,7 @@ | |||
362 | 374 | ||
363 | esdhc1: esdhc@400b2000 { | 375 | esdhc1: esdhc@400b2000 { |
364 | compatible = "fsl,imx53-esdhc"; | 376 | compatible = "fsl,imx53-esdhc"; |
365 | reg = <0x400b2000 0x4000>; | 377 | reg = <0x400b2000 0x1000>; |
366 | interrupts = <0 28 0x04>; | 378 | interrupts = <0 28 0x04>; |
367 | clocks = <&clks VF610_CLK_IPG_BUS>, | 379 | clocks = <&clks VF610_CLK_IPG_BUS>, |
368 | <&clks VF610_CLK_PLATFORM_BUS>, | 380 | <&clks VF610_CLK_PLATFORM_BUS>, |
@@ -405,6 +417,17 @@ | |||
405 | clock-names = "ipg", "ahb", "ptp"; | 417 | clock-names = "ipg", "ahb", "ptp"; |
406 | status = "disabled"; | 418 | status = "disabled"; |
407 | }; | 419 | }; |
420 | |||
421 | can1: flexcan@400d4000 { | ||
422 | compatible = "fsl,vf610-flexcan"; | ||
423 | reg = <0x400d4000 0x4000>; | ||
424 | interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>; | ||
425 | clocks = <&clks VF610_CLK_FLEXCAN1>, | ||
426 | <&clks VF610_CLK_FLEXCAN1>; | ||
427 | clock-names = "ipg", "per"; | ||
428 | status = "disabled"; | ||
429 | }; | ||
430 | |||
408 | }; | 431 | }; |
409 | }; | 432 | }; |
410 | }; | 433 | }; |
diff --git a/arch/arm/configs/imx_v4_v5_defconfig b/arch/arm/configs/imx_v4_v5_defconfig index bada59d93b67..63bde0efc041 100644 --- a/arch/arm/configs/imx_v4_v5_defconfig +++ b/arch/arm/configs/imx_v4_v5_defconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | # CONFIG_SWAP is not set | 1 | # CONFIG_SWAP is not set |
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_POSIX_MQUEUE=y | 3 | CONFIG_POSIX_MQUEUE=y |
4 | CONFIG_FHANDLE=y | ||
4 | CONFIG_NO_HZ=y | 5 | CONFIG_NO_HZ=y |
5 | CONFIG_HIGH_RES_TIMERS=y | 6 | CONFIG_HIGH_RES_TIMERS=y |
6 | CONFIG_LOG_BUF_SHIFT=14 | 7 | CONFIG_LOG_BUF_SHIFT=14 |
@@ -35,10 +36,8 @@ CONFIG_MACH_EUKREA_CPUIMX27_USESDHC2=y | |||
35 | CONFIG_MACH_EUKREA_CPUIMX27_USEUART4=y | 36 | CONFIG_MACH_EUKREA_CPUIMX27_USEUART4=y |
36 | CONFIG_MACH_MX27_3DS=y | 37 | CONFIG_MACH_MX27_3DS=y |
37 | CONFIG_MACH_IMX27_VISSTRIM_M10=y | 38 | CONFIG_MACH_IMX27_VISSTRIM_M10=y |
38 | CONFIG_MACH_IMX27LITE=y | ||
39 | CONFIG_MACH_PCA100=y | 39 | CONFIG_MACH_PCA100=y |
40 | CONFIG_MACH_MXT_TD60=y | 40 | CONFIG_MACH_MXT_TD60=y |
41 | CONFIG_MACH_IMX27IPCAM=y | ||
42 | CONFIG_MACH_IMX27_DT=y | 41 | CONFIG_MACH_IMX27_DT=y |
43 | CONFIG_PREEMPT=y | 42 | CONFIG_PREEMPT=y |
44 | CONFIG_AEABI=y | 43 | CONFIG_AEABI=y |
@@ -159,6 +158,8 @@ CONFIG_USB_CHIPIDEA=y | |||
159 | CONFIG_USB_CHIPIDEA_UDC=y | 158 | CONFIG_USB_CHIPIDEA_UDC=y |
160 | CONFIG_USB_CHIPIDEA_HOST=y | 159 | CONFIG_USB_CHIPIDEA_HOST=y |
161 | CONFIG_NOP_USB_XCEIV=y | 160 | CONFIG_NOP_USB_XCEIV=y |
161 | CONFIG_USB_GADGET=y | ||
162 | CONFIG_USB_ETH=m | ||
162 | CONFIG_MMC=y | 163 | CONFIG_MMC=y |
163 | CONFIG_MMC_SDHCI=y | 164 | CONFIG_MMC_SDHCI=y |
164 | CONFIG_MMC_SDHCI_PLTFM=y | 165 | CONFIG_MMC_SDHCI_PLTFM=y |
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index 59b7e45142d8..16cfec4385c8 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig | |||
@@ -1,5 +1,6 @@ | |||
1 | CONFIG_KERNEL_LZO=y | 1 | CONFIG_KERNEL_LZO=y |
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_FHANDLE=y | ||
3 | CONFIG_NO_HZ=y | 4 | CONFIG_NO_HZ=y |
4 | CONFIG_HIGH_RES_TIMERS=y | 5 | CONFIG_HIGH_RES_TIMERS=y |
5 | CONFIG_LOG_BUF_SHIFT=18 | 6 | CONFIG_LOG_BUF_SHIFT=18 |
@@ -31,11 +32,12 @@ CONFIG_MACH_IMX35_DT=y | |||
31 | CONFIG_MACH_PCM043=y | 32 | CONFIG_MACH_PCM043=y |
32 | CONFIG_MACH_MX35_3DS=y | 33 | CONFIG_MACH_MX35_3DS=y |
33 | CONFIG_MACH_VPR200=y | 34 | CONFIG_MACH_VPR200=y |
34 | CONFIG_MACH_IMX51_DT=y | 35 | CONFIG_SOC_IMX51=y |
35 | CONFIG_SOC_IMX50=y | 36 | CONFIG_SOC_IMX50=y |
36 | CONFIG_SOC_IMX53=y | 37 | CONFIG_SOC_IMX53=y |
37 | CONFIG_SOC_IMX6Q=y | 38 | CONFIG_SOC_IMX6Q=y |
38 | CONFIG_SOC_IMX6SL=y | 39 | CONFIG_SOC_IMX6SL=y |
40 | CONFIG_SOC_IMX6SX=y | ||
39 | CONFIG_SOC_VF610=y | 41 | CONFIG_SOC_VF610=y |
40 | CONFIG_PCI=y | 42 | CONFIG_PCI=y |
41 | CONFIG_PCI_IMX6=y | 43 | CONFIG_PCI_IMX6=y |
@@ -67,6 +69,8 @@ CONFIG_IP_PNP_DHCP=y | |||
67 | # CONFIG_INET_LRO is not set | 69 | # CONFIG_INET_LRO is not set |
68 | CONFIG_IPV6=y | 70 | CONFIG_IPV6=y |
69 | CONFIG_NETFILTER=y | 71 | CONFIG_NETFILTER=y |
72 | CONFIG_CAN=y | ||
73 | CONFIG_CAN_FLEXCAN=y | ||
70 | CONFIG_CFG80211=y | 74 | CONFIG_CFG80211=y |
71 | CONFIG_MAC80211=y | 75 | CONFIG_MAC80211=y |
72 | CONFIG_RFKILL=y | 76 | CONFIG_RFKILL=y |
@@ -160,6 +164,7 @@ CONFIG_SPI=y | |||
160 | CONFIG_SPI_IMX=y | 164 | CONFIG_SPI_IMX=y |
161 | CONFIG_GPIO_SYSFS=y | 165 | CONFIG_GPIO_SYSFS=y |
162 | CONFIG_GPIO_MC9S08DZ60=y | 166 | CONFIG_GPIO_MC9S08DZ60=y |
167 | CONFIG_GPIO_STMPE=y | ||
163 | # CONFIG_HWMON is not set | 168 | # CONFIG_HWMON is not set |
164 | CONFIG_WATCHDOG=y | 169 | CONFIG_WATCHDOG=y |
165 | CONFIG_IMX2_WDT=y | 170 | CONFIG_IMX2_WDT=y |
@@ -242,6 +247,7 @@ CONFIG_RTC_DRV_SNVS=y | |||
242 | CONFIG_DMADEVICES=y | 247 | CONFIG_DMADEVICES=y |
243 | CONFIG_IMX_SDMA=y | 248 | CONFIG_IMX_SDMA=y |
244 | CONFIG_MXS_DMA=y | 249 | CONFIG_MXS_DMA=y |
250 | CONFIG_FSL_EDMA=y | ||
245 | CONFIG_STAGING=y | 251 | CONFIG_STAGING=y |
246 | CONFIG_DRM_IMX=y | 252 | CONFIG_DRM_IMX=y |
247 | CONFIG_DRM_IMX_FB_HELPER=y | 253 | CONFIG_DRM_IMX_FB_HELPER=y |
@@ -288,6 +294,7 @@ CONFIG_NLS_ASCII=y | |||
288 | CONFIG_NLS_ISO8859_1=y | 294 | CONFIG_NLS_ISO8859_1=y |
289 | CONFIG_NLS_ISO8859_15=m | 295 | CONFIG_NLS_ISO8859_15=m |
290 | CONFIG_NLS_UTF8=y | 296 | CONFIG_NLS_UTF8=y |
297 | CONFIG_PRINTK_TIME=y | ||
291 | CONFIG_DEBUG_FS=y | 298 | CONFIG_DEBUG_FS=y |
292 | CONFIG_MAGIC_SYSRQ=y | 299 | CONFIG_MAGIC_SYSRQ=y |
293 | # CONFIG_SCHED_DEBUG is not set | 300 | # CONFIG_SCHED_DEBUG is not set |
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index 534836497998..f70ea2116fec 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig | |||
@@ -27,7 +27,7 @@ CONFIG_ARCH_HIGHBANK=y | |||
27 | CONFIG_ARCH_HI3xxx=y | 27 | CONFIG_ARCH_HI3xxx=y |
28 | CONFIG_ARCH_KEYSTONE=y | 28 | CONFIG_ARCH_KEYSTONE=y |
29 | CONFIG_ARCH_MXC=y | 29 | CONFIG_ARCH_MXC=y |
30 | CONFIG_MACH_IMX51_DT=y | 30 | CONFIG_SOC_IMX51=y |
31 | CONFIG_SOC_IMX53=y | 31 | CONFIG_SOC_IMX53=y |
32 | CONFIG_SOC_IMX6Q=y | 32 | CONFIG_SOC_IMX6Q=y |
33 | CONFIG_SOC_IMX6SL=y | 33 | CONFIG_SOC_IMX6SL=y |
diff --git a/arch/arm/configs/mxs_defconfig b/arch/arm/configs/mxs_defconfig index a9f992335eb2..c7906c2fd645 100644 --- a/arch/arm/configs/mxs_defconfig +++ b/arch/arm/configs/mxs_defconfig | |||
@@ -1,4 +1,5 @@ | |||
1 | CONFIG_SYSVIPC=y | 1 | CONFIG_SYSVIPC=y |
2 | CONFIG_FHANDLE=y | ||
2 | CONFIG_NO_HZ=y | 3 | CONFIG_NO_HZ=y |
3 | CONFIG_HIGH_RES_TIMERS=y | 4 | CONFIG_HIGH_RES_TIMERS=y |
4 | CONFIG_TASKSTATS=y | 5 | CONFIG_TASKSTATS=y |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 4b5185748f74..2bc7b97861b4 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -65,18 +65,8 @@ config IMX_HAVE_IOMUX_V1 | |||
65 | config ARCH_MXC_IOMUX_V3 | 65 | config ARCH_MXC_IOMUX_V3 |
66 | bool | 66 | bool |
67 | 67 | ||
68 | config ARCH_MX1 | ||
69 | bool | ||
70 | |||
71 | config ARCH_MX25 | ||
72 | bool | ||
73 | |||
74 | config MACH_MX27 | ||
75 | bool | ||
76 | |||
77 | config SOC_IMX1 | 68 | config SOC_IMX1 |
78 | bool | 69 | bool |
79 | select ARCH_MX1 | ||
80 | select CPU_ARM920T | 70 | select CPU_ARM920T |
81 | select IMX_HAVE_IOMUX_V1 | 71 | select IMX_HAVE_IOMUX_V1 |
82 | select MXC_AVIC | 72 | select MXC_AVIC |
@@ -89,7 +79,6 @@ config SOC_IMX21 | |||
89 | 79 | ||
90 | config SOC_IMX25 | 80 | config SOC_IMX25 |
91 | bool | 81 | bool |
92 | select ARCH_MX25 | ||
93 | select ARCH_MXC_IOMUX_V3 | 82 | select ARCH_MXC_IOMUX_V3 |
94 | select CPU_ARM926T | 83 | select CPU_ARM926T |
95 | select MXC_AVIC | 84 | select MXC_AVIC |
@@ -100,7 +89,6 @@ config SOC_IMX27 | |||
100 | select ARCH_HAS_OPP | 89 | select ARCH_HAS_OPP |
101 | select CPU_ARM926T | 90 | select CPU_ARM926T |
102 | select IMX_HAVE_IOMUX_V1 | 91 | select IMX_HAVE_IOMUX_V1 |
103 | select MACH_MX27 | ||
104 | select MXC_AVIC | 92 | select MXC_AVIC |
105 | select PINCTRL_IMX27 | 93 | select PINCTRL_IMX27 |
106 | 94 | ||
@@ -119,18 +107,6 @@ config SOC_IMX35 | |||
119 | select PINCTRL_IMX35 | 107 | select PINCTRL_IMX35 |
120 | select SMP_ON_UP if SMP | 108 | select SMP_ON_UP if SMP |
121 | 109 | ||
122 | config SOC_IMX5 | ||
123 | bool | ||
124 | select ARCH_HAS_OPP | ||
125 | select ARCH_MXC_IOMUX_V3 | ||
126 | select MXC_TZIC | ||
127 | |||
128 | config SOC_IMX51 | ||
129 | bool | ||
130 | select HAVE_IMX_SRC | ||
131 | select PINCTRL_IMX51 | ||
132 | select SOC_IMX5 | ||
133 | |||
134 | if ARCH_MULTI_V4T | 110 | if ARCH_MULTI_V4T |
135 | 111 | ||
136 | comment "MX1 platforms:" | 112 | comment "MX1 platforms:" |
@@ -366,15 +342,6 @@ config MACH_IMX27_VISSTRIM_M10 | |||
366 | This includes specific configurations for the board and its | 342 | This includes specific configurations for the board and its |
367 | peripherals. | 343 | peripherals. |
368 | 344 | ||
369 | config MACH_IMX27LITE | ||
370 | bool "LogicPD MX27 LITEKIT platform" | ||
371 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
372 | select IMX_HAVE_PLATFORM_IMX_UART | ||
373 | select SOC_IMX27 | ||
374 | help | ||
375 | Include support for MX27 LITEKIT platform. This includes specific | ||
376 | configurations for the board and its peripherals. | ||
377 | |||
378 | config MACH_PCA100 | 345 | config MACH_PCA100 |
379 | bool "Phytec phyCARD-s (pca100)" | 346 | bool "Phytec phyCARD-s (pca100)" |
380 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC | 347 | select IMX_HAVE_PLATFORM_FSL_USB2_UDC |
@@ -406,15 +373,6 @@ config MACH_MXT_TD60 | |||
406 | Include support for i-MXT (aka td60) platform. This | 373 | Include support for i-MXT (aka td60) platform. This |
407 | includes specific configurations for the module and its peripherals. | 374 | includes specific configurations for the module and its peripherals. |
408 | 375 | ||
409 | config MACH_IMX27IPCAM | ||
410 | bool "IMX27 IPCAM platform" | ||
411 | select IMX_HAVE_PLATFORM_IMX2_WDT | ||
412 | select IMX_HAVE_PLATFORM_IMX_UART | ||
413 | select SOC_IMX27 | ||
414 | help | ||
415 | Include support for IMX27 IPCAM platform. This includes specific | ||
416 | configurations for the board and its peripherals. | ||
417 | |||
418 | config MACH_IMX27_DT | 376 | config MACH_IMX27_DT |
419 | bool "Support i.MX27 platforms from device tree" | 377 | bool "Support i.MX27 platforms from device tree" |
420 | select SOC_IMX27 | 378 | select SOC_IMX27 |
@@ -700,24 +658,29 @@ if ARCH_MULTI_V7 | |||
700 | 658 | ||
701 | comment "Device tree only" | 659 | comment "Device tree only" |
702 | 660 | ||
661 | config SOC_IMX5 | ||
662 | bool | ||
663 | select ARCH_HAS_OPP | ||
664 | select HAVE_IMX_SRC | ||
665 | select MXC_TZIC | ||
666 | |||
703 | config SOC_IMX50 | 667 | config SOC_IMX50 |
704 | bool "i.MX50 support" | 668 | bool "i.MX50 support" |
705 | select HAVE_IMX_SRC | ||
706 | select PINCTRL_IMX50 | 669 | select PINCTRL_IMX50 |
707 | select SOC_IMX5 | 670 | select SOC_IMX5 |
708 | 671 | ||
709 | help | 672 | help |
710 | This enables support for Freescale i.MX50 processor. | 673 | This enables support for Freescale i.MX50 processor. |
711 | 674 | ||
712 | config MACH_IMX51_DT | 675 | config SOC_IMX51 |
713 | bool "i.MX51 support" | 676 | bool "i.MX51 support" |
714 | select SOC_IMX51 | 677 | select PINCTRL_IMX51 |
678 | select SOC_IMX5 | ||
715 | help | 679 | help |
716 | This enables support for Freescale i.MX51 processor | 680 | This enables support for Freescale i.MX51 processor |
717 | 681 | ||
718 | config SOC_IMX53 | 682 | config SOC_IMX53 |
719 | bool "i.MX53 support" | 683 | bool "i.MX53 support" |
720 | select HAVE_IMX_SRC | ||
721 | select PINCTRL_IMX53 | 684 | select PINCTRL_IMX53 |
722 | select SOC_IMX5 | 685 | select SOC_IMX5 |
723 | 686 | ||
@@ -734,8 +697,6 @@ config SOC_IMX6 | |||
734 | select HAVE_IMX_MMDC | 697 | select HAVE_IMX_MMDC |
735 | select HAVE_IMX_SRC | 698 | select HAVE_IMX_SRC |
736 | select MFD_SYSCON | 699 | select MFD_SYSCON |
737 | select PL310_ERRATA_588369 if CACHE_L2X0 | ||
738 | select PL310_ERRATA_727915 if CACHE_L2X0 | ||
739 | select PL310_ERRATA_769419 if CACHE_L2X0 | 700 | select PL310_ERRATA_769419 if CACHE_L2X0 |
740 | 701 | ||
741 | config SOC_IMX6Q | 702 | config SOC_IMX6Q |
@@ -771,8 +732,6 @@ config SOC_VF610 | |||
771 | select ARM_GIC | 732 | select ARM_GIC |
772 | select PINCTRL_VF610 | 733 | select PINCTRL_VF610 |
773 | select VF_PIT_TIMER | 734 | select VF_PIT_TIMER |
774 | select PL310_ERRATA_588369 if CACHE_L2X0 | ||
775 | select PL310_ERRATA_727915 if CACHE_L2X0 | ||
776 | select PL310_ERRATA_769419 if CACHE_L2X0 | 735 | select PL310_ERRATA_769419 if CACHE_L2X0 |
777 | 736 | ||
778 | help | 737 | help |
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index bbe93bbfd003..ac88599ca080 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile | |||
@@ -12,7 +12,7 @@ obj-$(CONFIG_SOC_IMX31) += mm-imx3.o cpu-imx31.o clk-imx31.o iomux-imx31.o ehci- | |||
12 | obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o clk-imx35.o ehci-imx35.o pm-imx3.o | 12 | obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o clk-imx35.o ehci-imx35.o pm-imx3.o |
13 | 13 | ||
14 | imx5-pm-$(CONFIG_PM) += pm-imx5.o | 14 | imx5-pm-$(CONFIG_PM) += pm-imx5.o |
15 | obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o mm-imx5.o clk-imx51-imx53.o ehci-imx5.o $(imx5-pm-y) | 15 | obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o clk-imx51-imx53.o $(imx5-pm-y) |
16 | 16 | ||
17 | obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \ | 17 | obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \ |
18 | clk-pfd.o clk-busy.o clk.o \ | 18 | clk-pfd.o clk-busy.o clk.o \ |
@@ -31,6 +31,8 @@ ifeq ($(CONFIG_CPU_IDLE),y) | |||
31 | obj-$(CONFIG_SOC_IMX5) += cpuidle-imx5.o | 31 | obj-$(CONFIG_SOC_IMX5) += cpuidle-imx5.o |
32 | obj-$(CONFIG_SOC_IMX6Q) += cpuidle-imx6q.o | 32 | obj-$(CONFIG_SOC_IMX6Q) += cpuidle-imx6q.o |
33 | obj-$(CONFIG_SOC_IMX6SL) += cpuidle-imx6sl.o | 33 | obj-$(CONFIG_SOC_IMX6SL) += cpuidle-imx6sl.o |
34 | # i.MX6SX reuses i.MX6Q cpuidle driver | ||
35 | obj-$(CONFIG_SOC_IMX6SX) += cpuidle-imx6q.o | ||
34 | endif | 36 | endif |
35 | 37 | ||
36 | ifdef CONFIG_SND_IMX_SOC | 38 | ifdef CONFIG_SND_IMX_SOC |
@@ -38,9 +40,6 @@ obj-y += ssi-fiq.o | |||
38 | obj-y += ssi-fiq-ksym.o | 40 | obj-y += ssi-fiq-ksym.o |
39 | endif | 41 | endif |
40 | 42 | ||
41 | # Support for CMOS sensor interface | ||
42 | obj-$(CONFIG_MX1_VIDEO) += mx1-camera-fiq.o mx1-camera-fiq-ksym.o | ||
43 | |||
44 | # i.MX1 based machines | 43 | # i.MX1 based machines |
45 | obj-$(CONFIG_ARCH_MX1ADS) += mach-mx1ads.o | 44 | obj-$(CONFIG_ARCH_MX1ADS) += mach-mx1ads.o |
46 | obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o | 45 | obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o |
@@ -60,13 +59,11 @@ obj-$(CONFIG_MACH_MX27ADS) += mach-mx27ads.o | |||
60 | obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o | 59 | obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o |
61 | obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o | 60 | obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o |
62 | obj-$(CONFIG_MACH_MX27_3DS) += mach-mx27_3ds.o | 61 | obj-$(CONFIG_MACH_MX27_3DS) += mach-mx27_3ds.o |
63 | obj-$(CONFIG_MACH_IMX27LITE) += mach-imx27lite.o | ||
64 | obj-$(CONFIG_MACH_IMX27_VISSTRIM_M10) += mach-imx27_visstrim_m10.o | 62 | obj-$(CONFIG_MACH_IMX27_VISSTRIM_M10) += mach-imx27_visstrim_m10.o |
65 | obj-$(CONFIG_MACH_CPUIMX27) += mach-cpuimx27.o | 63 | obj-$(CONFIG_MACH_CPUIMX27) += mach-cpuimx27.o |
66 | obj-$(CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD) += eukrea_mbimx27-baseboard.o | 64 | obj-$(CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD) += eukrea_mbimx27-baseboard.o |
67 | obj-$(CONFIG_MACH_PCA100) += mach-pca100.o | 65 | obj-$(CONFIG_MACH_PCA100) += mach-pca100.o |
68 | obj-$(CONFIG_MACH_MXT_TD60) += mach-mxt_td60.o | 66 | obj-$(CONFIG_MACH_MXT_TD60) += mach-mxt_td60.o |
69 | obj-$(CONFIG_MACH_IMX27IPCAM) += mach-imx27ipcam.o | ||
70 | obj-$(CONFIG_MACH_IMX27_DT) += imx27-dt.o | 67 | obj-$(CONFIG_MACH_IMX27_DT) += imx27-dt.o |
71 | 68 | ||
72 | # i.MX31 based machines | 69 | # i.MX31 based machines |
@@ -109,8 +106,8 @@ obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o | |||
109 | endif | 106 | endif |
110 | obj-$(CONFIG_SOC_IMX6) += pm-imx6.o | 107 | obj-$(CONFIG_SOC_IMX6) += pm-imx6.o |
111 | 108 | ||
112 | obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o | ||
113 | obj-$(CONFIG_SOC_IMX50) += mach-imx50.o | 109 | obj-$(CONFIG_SOC_IMX50) += mach-imx50.o |
110 | obj-$(CONFIG_SOC_IMX51) += mach-imx51.o | ||
114 | obj-$(CONFIG_SOC_IMX53) += mach-imx53.o | 111 | obj-$(CONFIG_SOC_IMX53) += mach-imx53.o |
115 | 112 | ||
116 | obj-$(CONFIG_SOC_VF610) += clk-vf610.o mach-vf610.o | 113 | obj-$(CONFIG_SOC_VF610) += clk-vf610.o mach-vf610.o |
diff --git a/arch/arm/mach-imx/clk-imx1.c b/arch/arm/mach-imx/clk-imx1.c index 7f739be3de2c..37c307a8d896 100644 --- a/arch/arm/mach-imx/clk-imx1.c +++ b/arch/arm/mach-imx/clk-imx1.c | |||
@@ -15,100 +15,103 @@ | |||
15 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. | 15 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. |
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <linux/kernel.h> | ||
19 | #include <linux/init.h> | ||
20 | #include <linux/clk.h> | 18 | #include <linux/clk.h> |
21 | #include <linux/io.h> | ||
22 | #include <linux/clkdev.h> | 19 | #include <linux/clkdev.h> |
20 | #include <linux/clk-provider.h> | ||
23 | #include <linux/err.h> | 21 | #include <linux/err.h> |
22 | #include <linux/init.h> | ||
23 | #include <linux/of.h> | ||
24 | #include <linux/of_address.h> | ||
25 | #include <dt-bindings/clock/imx1-clock.h> | ||
24 | 26 | ||
25 | #include "clk.h" | 27 | #include "clk.h" |
26 | #include "common.h" | 28 | #include "common.h" |
27 | #include "hardware.h" | 29 | #include "hardware.h" |
28 | 30 | ||
29 | /* CCM register addresses */ | ||
30 | #define IO_ADDR_CCM(off) (MX1_IO_ADDRESS(MX1_CCM_BASE_ADDR + (off))) | ||
31 | |||
32 | #define CCM_CSCR IO_ADDR_CCM(0x0) | ||
33 | #define CCM_MPCTL0 IO_ADDR_CCM(0x4) | ||
34 | #define CCM_SPCTL0 IO_ADDR_CCM(0xc) | ||
35 | #define CCM_PCDR IO_ADDR_CCM(0x20) | ||
36 | |||
37 | /* SCM register addresses */ | ||
38 | #define IO_ADDR_SCM(off) (MX1_IO_ADDRESS(MX1_SCM_BASE_ADDR + (off))) | ||
39 | |||
40 | #define SCM_GCCR IO_ADDR_SCM(0xc) | ||
41 | |||
42 | static const char *prem_sel_clks[] = { "clk32_premult", "clk16m", }; | 31 | static const char *prem_sel_clks[] = { "clk32_premult", "clk16m", }; |
43 | static const char *clko_sel_clks[] = { "per1", "hclk", "clk48m", "clk16m", | 32 | static const char *clko_sel_clks[] = { "per1", "hclk", "clk48m", "clk16m", |
44 | "prem", "fclk", }; | 33 | "prem", "fclk", }; |
45 | 34 | ||
46 | enum imx1_clks { | 35 | static struct clk *clk[IMX1_CLK_MAX]; |
47 | dummy, clk32, clk16m_ext, clk16m, clk32_premult, prem, mpll, mpll_gate, | 36 | static struct clk_onecell_data clk_data; |
48 | spll, spll_gate, mcu, fclk, hclk, clk48m, per1, per2, per3, clko, | ||
49 | uart3_gate, ssi2_gate, brom_gate, dma_gate, csi_gate, mma_gate, | ||
50 | usbd_gate, clk_max | ||
51 | }; | ||
52 | 37 | ||
53 | static struct clk *clk[clk_max]; | 38 | static void __iomem *ccm __initdata; |
39 | #define CCM_CSCR (ccm + 0x0000) | ||
40 | #define CCM_MPCTL0 (ccm + 0x0004) | ||
41 | #define CCM_SPCTL0 (ccm + 0x000c) | ||
42 | #define CCM_PCDR (ccm + 0x0020) | ||
43 | #define SCM_GCCR (ccm + 0x0810) | ||
54 | 44 | ||
55 | int __init mx1_clocks_init(unsigned long fref) | 45 | static void __init _mx1_clocks_init(unsigned long fref) |
56 | { | 46 | { |
57 | int i; | 47 | clk[IMX1_CLK_DUMMY] = imx_clk_fixed("dummy", 0); |
48 | clk[IMX1_CLK_CLK32] = imx_obtain_fixed_clock("clk32", fref); | ||
49 | clk[IMX1_CLK_CLK16M_EXT] = imx_clk_fixed("clk16m_ext", 16000000); | ||
50 | clk[IMX1_CLK_CLK16M] = imx_clk_gate("clk16m", "clk16m_ext", CCM_CSCR, 17); | ||
51 | clk[IMX1_CLK_CLK32_PREMULT] = imx_clk_fixed_factor("clk32_premult", "clk32", 512, 1); | ||
52 | clk[IMX1_CLK_PREM] = imx_clk_mux("prem", CCM_CSCR, 16, 1, prem_sel_clks, ARRAY_SIZE(prem_sel_clks)); | ||
53 | clk[IMX1_CLK_MPLL] = imx_clk_pllv1("mpll", "clk32_premult", CCM_MPCTL0); | ||
54 | clk[IMX1_CLK_MPLL_GATE] = imx_clk_gate("mpll_gate", "mpll", CCM_CSCR, 0); | ||
55 | clk[IMX1_CLK_SPLL] = imx_clk_pllv1("spll", "prem", CCM_SPCTL0); | ||
56 | clk[IMX1_CLK_SPLL_GATE] = imx_clk_gate("spll_gate", "spll", CCM_CSCR, 1); | ||
57 | clk[IMX1_CLK_MCU] = imx_clk_divider("mcu", "clk32_premult", CCM_CSCR, 15, 1); | ||
58 | clk[IMX1_CLK_FCLK] = imx_clk_divider("fclk", "mpll_gate", CCM_CSCR, 15, 1); | ||
59 | clk[IMX1_CLK_HCLK] = imx_clk_divider("hclk", "spll_gate", CCM_CSCR, 10, 4); | ||
60 | clk[IMX1_CLK_CLK48M] = imx_clk_divider("clk48m", "spll_gate", CCM_CSCR, 26, 3); | ||
61 | clk[IMX1_CLK_PER1] = imx_clk_divider("per1", "spll_gate", CCM_PCDR, 0, 4); | ||
62 | clk[IMX1_CLK_PER2] = imx_clk_divider("per2", "spll_gate", CCM_PCDR, 4, 4); | ||
63 | clk[IMX1_CLK_PER3] = imx_clk_divider("per3", "spll_gate", CCM_PCDR, 16, 7); | ||
64 | clk[IMX1_CLK_CLKO] = imx_clk_mux("clko", CCM_CSCR, 29, 3, clko_sel_clks, ARRAY_SIZE(clko_sel_clks)); | ||
65 | clk[IMX1_CLK_UART3_GATE] = imx_clk_gate("uart3_gate", "hclk", SCM_GCCR, 6); | ||
66 | clk[IMX1_CLK_SSI2_GATE] = imx_clk_gate("ssi2_gate", "hclk", SCM_GCCR, 5); | ||
67 | clk[IMX1_CLK_BROM_GATE] = imx_clk_gate("brom_gate", "hclk", SCM_GCCR, 4); | ||
68 | clk[IMX1_CLK_DMA_GATE] = imx_clk_gate("dma_gate", "hclk", SCM_GCCR, 3); | ||
69 | clk[IMX1_CLK_CSI_GATE] = imx_clk_gate("csi_gate", "hclk", SCM_GCCR, 2); | ||
70 | clk[IMX1_CLK_MMA_GATE] = imx_clk_gate("mma_gate", "hclk", SCM_GCCR, 1); | ||
71 | clk[IMX1_CLK_USBD_GATE] = imx_clk_gate("usbd_gate", "clk48m", SCM_GCCR, 0); | ||
72 | |||
73 | imx_check_clocks(clk, ARRAY_SIZE(clk)); | ||
74 | } | ||
58 | 75 | ||
59 | clk[dummy] = imx_clk_fixed("dummy", 0); | 76 | int __init mx1_clocks_init(unsigned long fref) |
60 | clk[clk32] = imx_clk_fixed("clk32", fref); | 77 | { |
61 | clk[clk16m_ext] = imx_clk_fixed("clk16m_ext", 16000000); | 78 | ccm = MX1_IO_ADDRESS(MX1_CCM_BASE_ADDR); |
62 | clk[clk16m] = imx_clk_gate("clk16m", "clk16m_ext", CCM_CSCR, 17); | ||
63 | clk[clk32_premult] = imx_clk_fixed_factor("clk32_premult", "clk32", 512, 1); | ||
64 | clk[prem] = imx_clk_mux("prem", CCM_CSCR, 16, 1, prem_sel_clks, | ||
65 | ARRAY_SIZE(prem_sel_clks)); | ||
66 | clk[mpll] = imx_clk_pllv1("mpll", "clk32_premult", CCM_MPCTL0); | ||
67 | clk[mpll_gate] = imx_clk_gate("mpll_gate", "mpll", CCM_CSCR, 0); | ||
68 | clk[spll] = imx_clk_pllv1("spll", "prem", CCM_SPCTL0); | ||
69 | clk[spll_gate] = imx_clk_gate("spll_gate", "spll", CCM_CSCR, 1); | ||
70 | clk[mcu] = imx_clk_divider("mcu", "clk32_premult", CCM_CSCR, 15, 1); | ||
71 | clk[fclk] = imx_clk_divider("fclk", "mpll_gate", CCM_CSCR, 15, 1); | ||
72 | clk[hclk] = imx_clk_divider("hclk", "spll_gate", CCM_CSCR, 10, 4); | ||
73 | clk[clk48m] = imx_clk_divider("clk48m", "spll_gate", CCM_CSCR, 26, 3); | ||
74 | clk[per1] = imx_clk_divider("per1", "spll_gate", CCM_PCDR, 0, 4); | ||
75 | clk[per2] = imx_clk_divider("per2", "spll_gate", CCM_PCDR, 4, 4); | ||
76 | clk[per3] = imx_clk_divider("per3", "spll_gate", CCM_PCDR, 16, 7); | ||
77 | clk[clko] = imx_clk_mux("clko", CCM_CSCR, 29, 3, clko_sel_clks, | ||
78 | ARRAY_SIZE(clko_sel_clks)); | ||
79 | clk[uart3_gate] = imx_clk_gate("uart3_gate", "hclk", SCM_GCCR, 6); | ||
80 | clk[ssi2_gate] = imx_clk_gate("ssi2_gate", "hclk", SCM_GCCR, 5); | ||
81 | clk[brom_gate] = imx_clk_gate("brom_gate", "hclk", SCM_GCCR, 4); | ||
82 | clk[dma_gate] = imx_clk_gate("dma_gate", "hclk", SCM_GCCR, 3); | ||
83 | clk[csi_gate] = imx_clk_gate("csi_gate", "hclk", SCM_GCCR, 2); | ||
84 | clk[mma_gate] = imx_clk_gate("mma_gate", "hclk", SCM_GCCR, 1); | ||
85 | clk[usbd_gate] = imx_clk_gate("usbd_gate", "clk48m", SCM_GCCR, 0); | ||
86 | 79 | ||
87 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 80 | _mx1_clocks_init(fref); |
88 | if (IS_ERR(clk[i])) | ||
89 | pr_err("imx1 clk %d: register failed with %ld\n", | ||
90 | i, PTR_ERR(clk[i])); | ||
91 | 81 | ||
92 | clk_register_clkdev(clk[dma_gate], "ahb", "imx1-dma"); | 82 | clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx-gpt.0"); |
93 | clk_register_clkdev(clk[hclk], "ipg", "imx1-dma"); | 83 | clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx-gpt.0"); |
94 | clk_register_clkdev(clk[per1], "per", "imx-gpt.0"); | 84 | clk_register_clkdev(clk[IMX1_CLK_DMA_GATE], "ahb", "imx1-dma"); |
95 | clk_register_clkdev(clk[hclk], "ipg", "imx-gpt.0"); | 85 | clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx1-dma"); |
96 | clk_register_clkdev(clk[per1], "per", "imx1-uart.0"); | 86 | clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx1-uart.0"); |
97 | clk_register_clkdev(clk[hclk], "ipg", "imx1-uart.0"); | 87 | clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx1-uart.0"); |
98 | clk_register_clkdev(clk[per1], "per", "imx1-uart.1"); | 88 | clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx1-uart.1"); |
99 | clk_register_clkdev(clk[hclk], "ipg", "imx1-uart.1"); | 89 | clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx1-uart.1"); |
100 | clk_register_clkdev(clk[per1], "per", "imx1-uart.2"); | 90 | clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx1-uart.2"); |
101 | clk_register_clkdev(clk[uart3_gate], "ipg", "imx1-uart.2"); | 91 | clk_register_clkdev(clk[IMX1_CLK_UART3_GATE], "ipg", "imx1-uart.2"); |
102 | clk_register_clkdev(clk[hclk], NULL, "imx1-i2c.0"); | 92 | clk_register_clkdev(clk[IMX1_CLK_HCLK], NULL, "imx1-i2c.0"); |
103 | clk_register_clkdev(clk[per2], "per", "imx1-cspi.0"); | 93 | clk_register_clkdev(clk[IMX1_CLK_PER2], "per", "imx1-cspi.0"); |
104 | clk_register_clkdev(clk[dummy], "ipg", "imx1-cspi.0"); | 94 | clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ipg", "imx1-cspi.0"); |
105 | clk_register_clkdev(clk[per2], "per", "imx1-cspi.1"); | 95 | clk_register_clkdev(clk[IMX1_CLK_PER2], "per", "imx1-cspi.1"); |
106 | clk_register_clkdev(clk[dummy], "ipg", "imx1-cspi.1"); | 96 | clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ipg", "imx1-cspi.1"); |
107 | clk_register_clkdev(clk[per2], "per", "imx1-fb.0"); | 97 | clk_register_clkdev(clk[IMX1_CLK_PER2], "per", "imx1-fb.0"); |
108 | clk_register_clkdev(clk[dummy], "ipg", "imx1-fb.0"); | 98 | clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ipg", "imx1-fb.0"); |
109 | clk_register_clkdev(clk[dummy], "ahb", "imx1-fb.0"); | 99 | clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ahb", "imx1-fb.0"); |
110 | 100 | ||
111 | mxc_timer_init(MX1_IO_ADDRESS(MX1_TIM1_BASE_ADDR), MX1_TIM1_INT); | 101 | mxc_timer_init(MX1_IO_ADDRESS(MX1_TIM1_BASE_ADDR), MX1_TIM1_INT); |
112 | 102 | ||
113 | return 0; | 103 | return 0; |
114 | } | 104 | } |
105 | |||
106 | static void __init mx1_clocks_init_dt(struct device_node *np) | ||
107 | { | ||
108 | ccm = of_iomap(np, 0); | ||
109 | BUG_ON(!ccm); | ||
110 | |||
111 | _mx1_clocks_init(32768); | ||
112 | |||
113 | clk_data.clks = clk; | ||
114 | clk_data.clk_num = ARRAY_SIZE(clk); | ||
115 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | ||
116 | } | ||
117 | CLK_OF_DECLARE(imx1_ccm, "fsl,imx1-ccm", mx1_clocks_init_dt); | ||
diff --git a/arch/arm/mach-imx/clk-imx21.c b/arch/arm/mach-imx/clk-imx21.c index bdc2e4630a08..4b4c75339aa6 100644 --- a/arch/arm/mach-imx/clk-imx21.c +++ b/arch/arm/mach-imx/clk-imx21.c | |||
@@ -7,178 +7,165 @@ | |||
7 | * modify it under the terms of the GNU General Public License | 7 | * modify it under the terms of the GNU General Public License |
8 | * as published by the Free Software Foundation; either version 2 | 8 | * as published by the Free Software Foundation; either version 2 |
9 | * of the License, or (at your option) any later version. | 9 | * of the License, or (at your option) any later version. |
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
18 | * MA 02110-1301, USA. | ||
19 | */ | 10 | */ |
20 | 11 | ||
21 | #include <linux/clk.h> | 12 | #include <linux/clk.h> |
22 | #include <linux/clkdev.h> | ||
23 | #include <linux/clk-provider.h> | 13 | #include <linux/clk-provider.h> |
24 | #include <linux/io.h> | 14 | #include <linux/clkdev.h> |
25 | #include <linux/module.h> | 15 | #include <linux/of.h> |
26 | #include <linux/err.h> | 16 | #include <linux/of_address.h> |
17 | #include <dt-bindings/clock/imx21-clock.h> | ||
27 | 18 | ||
28 | #include "clk.h" | 19 | #include "clk.h" |
29 | #include "common.h" | 20 | #include "common.h" |
30 | #include "hardware.h" | 21 | #include "hardware.h" |
31 | 22 | ||
32 | #define IO_ADDR_CCM(off) (MX21_IO_ADDRESS(MX21_CCM_BASE_ADDR + (off))) | 23 | static void __iomem *ccm __initdata; |
33 | 24 | ||
34 | /* Register offsets */ | 25 | /* Register offsets */ |
35 | #define CCM_CSCR IO_ADDR_CCM(0x0) | 26 | #define CCM_CSCR (ccm + 0x00) |
36 | #define CCM_MPCTL0 IO_ADDR_CCM(0x4) | 27 | #define CCM_MPCTL0 (ccm + 0x04) |
37 | #define CCM_MPCTL1 IO_ADDR_CCM(0x8) | 28 | #define CCM_SPCTL0 (ccm + 0x0c) |
38 | #define CCM_SPCTL0 IO_ADDR_CCM(0xc) | 29 | #define CCM_PCDR0 (ccm + 0x18) |
39 | #define CCM_SPCTL1 IO_ADDR_CCM(0x10) | 30 | #define CCM_PCDR1 (ccm + 0x1c) |
40 | #define CCM_OSC26MCTL IO_ADDR_CCM(0x14) | 31 | #define CCM_PCCR0 (ccm + 0x20) |
41 | #define CCM_PCDR0 IO_ADDR_CCM(0x18) | 32 | #define CCM_PCCR1 (ccm + 0x24) |
42 | #define CCM_PCDR1 IO_ADDR_CCM(0x1c) | 33 | |
43 | #define CCM_PCCR0 IO_ADDR_CCM(0x20) | 34 | static const char *mpll_osc_sel_clks[] = { "ckih_gate", "ckih_div1p5", }; |
44 | #define CCM_PCCR1 IO_ADDR_CCM(0x24) | 35 | static const char *mpll_sel_clks[] = { "fpm_gate", "mpll_osc_sel", }; |
45 | #define CCM_CCSR IO_ADDR_CCM(0x28) | 36 | static const char *spll_sel_clks[] = { "fpm_gate", "mpll_osc_sel", }; |
46 | #define CCM_PMCTL IO_ADDR_CCM(0x2c) | 37 | static const char *ssi_sel_clks[] = { "spll_gate", "mpll_gate", }; |
47 | #define CCM_PMCOUNT IO_ADDR_CCM(0x30) | 38 | |
48 | #define CCM_WKGDCTL IO_ADDR_CCM(0x34) | 39 | static struct clk *clk[IMX21_CLK_MAX]; |
49 | 40 | static struct clk_onecell_data clk_data; | |
50 | static const char *mpll_sel_clks[] = { "fpm", "ckih", }; | 41 | |
51 | static const char *spll_sel_clks[] = { "fpm", "ckih", }; | 42 | static void __init _mx21_clocks_init(unsigned long lref, unsigned long href) |
52 | 43 | { | |
53 | enum imx21_clks { | 44 | BUG_ON(!ccm); |
54 | ckil, ckih, fpm, mpll_sel, spll_sel, mpll, spll, fclk, hclk, ipg, per1, | 45 | |
55 | per2, per3, per4, uart1_ipg_gate, uart2_ipg_gate, uart3_ipg_gate, | 46 | clk[IMX21_CLK_DUMMY] = imx_clk_fixed("dummy", 0); |
56 | uart4_ipg_gate, gpt1_ipg_gate, gpt2_ipg_gate, gpt3_ipg_gate, | 47 | clk[IMX21_CLK_CKIL] = imx_obtain_fixed_clock("ckil", lref); |
57 | pwm_ipg_gate, sdhc1_ipg_gate, sdhc2_ipg_gate, lcdc_ipg_gate, | 48 | clk[IMX21_CLK_CKIH] = imx_obtain_fixed_clock("ckih", href); |
58 | lcdc_hclk_gate, cspi3_ipg_gate, cspi2_ipg_gate, cspi1_ipg_gate, | 49 | clk[IMX21_CLK_FPM] = imx_clk_fixed_factor("fpm", "ckil", 512, 1); |
59 | per4_gate, csi_hclk_gate, usb_div, usb_gate, usb_hclk_gate, ssi1_gate, | 50 | clk[IMX21_CLK_CKIH_DIV1P5] = imx_clk_fixed_factor("ckih_div1p5", "ckih_gate", 2, 3); |
60 | ssi2_gate, nfc_div, nfc_gate, dma_gate, dma_hclk_gate, brom_gate, | 51 | |
61 | emma_gate, emma_hclk_gate, slcdc_gate, slcdc_hclk_gate, wdog_gate, | 52 | clk[IMX21_CLK_MPLL_GATE] = imx_clk_gate("mpll_gate", "mpll", CCM_CSCR, 0); |
62 | gpio_gate, i2c_gate, kpp_gate, owire_gate, rtc_gate, clk_max | 53 | clk[IMX21_CLK_SPLL_GATE] = imx_clk_gate("spll_gate", "spll", CCM_CSCR, 1); |
63 | }; | 54 | clk[IMX21_CLK_FPM_GATE] = imx_clk_gate("fpm_gate", "fpm", CCM_CSCR, 2); |
64 | 55 | clk[IMX21_CLK_CKIH_GATE] = imx_clk_gate_dis("ckih_gate", "ckih", CCM_CSCR, 3); | |
65 | static struct clk *clk[clk_max]; | 56 | clk[IMX21_CLK_MPLL_OSC_SEL] = imx_clk_mux("mpll_osc_sel", CCM_CSCR, 4, 1, mpll_osc_sel_clks, ARRAY_SIZE(mpll_osc_sel_clks)); |
57 | clk[IMX21_CLK_IPG] = imx_clk_divider("ipg", "hclk", CCM_CSCR, 9, 1); | ||
58 | clk[IMX21_CLK_HCLK] = imx_clk_divider("hclk", "fclk", CCM_CSCR, 10, 4); | ||
59 | clk[IMX21_CLK_MPLL_SEL] = imx_clk_mux("mpll_sel", CCM_CSCR, 16, 1, mpll_sel_clks, ARRAY_SIZE(mpll_sel_clks)); | ||
60 | clk[IMX21_CLK_SPLL_SEL] = imx_clk_mux("spll_sel", CCM_CSCR, 17, 1, spll_sel_clks, ARRAY_SIZE(spll_sel_clks)); | ||
61 | clk[IMX21_CLK_SSI1_SEL] = imx_clk_mux("ssi1_sel", CCM_CSCR, 19, 1, ssi_sel_clks, ARRAY_SIZE(ssi_sel_clks)); | ||
62 | clk[IMX21_CLK_SSI2_SEL] = imx_clk_mux("ssi2_sel", CCM_CSCR, 20, 1, ssi_sel_clks, ARRAY_SIZE(ssi_sel_clks)); | ||
63 | clk[IMX21_CLK_USB_DIV] = imx_clk_divider("usb_div", "spll_gate", CCM_CSCR, 26, 3); | ||
64 | clk[IMX21_CLK_FCLK] = imx_clk_divider("fclk", "mpll_gate", CCM_CSCR, 29, 3); | ||
65 | |||
66 | clk[IMX21_CLK_MPLL] = imx_clk_pllv1("mpll", "mpll_sel", CCM_MPCTL0); | ||
67 | |||
68 | clk[IMX21_CLK_SPLL] = imx_clk_pllv1("spll", "spll_sel", CCM_SPCTL0); | ||
69 | |||
70 | clk[IMX21_CLK_NFC_DIV] = imx_clk_divider("nfc_div", "fclk", CCM_PCDR0, 12, 4); | ||
71 | clk[IMX21_CLK_SSI1_DIV] = imx_clk_divider("ssi1_div", "ssi1_sel", CCM_PCDR0, 16, 6); | ||
72 | clk[IMX21_CLK_SSI2_DIV] = imx_clk_divider("ssi2_div", "ssi2_sel", CCM_PCDR0, 26, 6); | ||
73 | |||
74 | clk[IMX21_CLK_PER1] = imx_clk_divider("per1", "mpll_gate", CCM_PCDR1, 0, 6); | ||
75 | clk[IMX21_CLK_PER2] = imx_clk_divider("per2", "mpll_gate", CCM_PCDR1, 8, 6); | ||
76 | clk[IMX21_CLK_PER3] = imx_clk_divider("per3", "mpll_gate", CCM_PCDR1, 16, 6); | ||
77 | clk[IMX21_CLK_PER4] = imx_clk_divider("per4", "mpll_gate", CCM_PCDR1, 24, 6); | ||
78 | |||
79 | clk[IMX21_CLK_UART1_IPG_GATE] = imx_clk_gate("uart1_ipg_gate", "ipg", CCM_PCCR0, 0); | ||
80 | clk[IMX21_CLK_UART2_IPG_GATE] = imx_clk_gate("uart2_ipg_gate", "ipg", CCM_PCCR0, 1); | ||
81 | clk[IMX21_CLK_UART3_IPG_GATE] = imx_clk_gate("uart3_ipg_gate", "ipg", CCM_PCCR0, 2); | ||
82 | clk[IMX21_CLK_UART4_IPG_GATE] = imx_clk_gate("uart4_ipg_gate", "ipg", CCM_PCCR0, 3); | ||
83 | clk[IMX21_CLK_CSPI1_IPG_GATE] = imx_clk_gate("cspi1_ipg_gate", "ipg", CCM_PCCR0, 4); | ||
84 | clk[IMX21_CLK_CSPI2_IPG_GATE] = imx_clk_gate("cspi2_ipg_gate", "ipg", CCM_PCCR0, 5); | ||
85 | clk[IMX21_CLK_SSI1_GATE] = imx_clk_gate("ssi1_gate", "ipg", CCM_PCCR0, 6); | ||
86 | clk[IMX21_CLK_SSI2_GATE] = imx_clk_gate("ssi2_gate", "ipg", CCM_PCCR0, 7); | ||
87 | clk[IMX21_CLK_SDHC1_IPG_GATE] = imx_clk_gate("sdhc1_ipg_gate", "ipg", CCM_PCCR0, 9); | ||
88 | clk[IMX21_CLK_SDHC2_IPG_GATE] = imx_clk_gate("sdhc2_ipg_gate", "ipg", CCM_PCCR0, 10); | ||
89 | clk[IMX21_CLK_GPIO_GATE] = imx_clk_gate("gpio_gate", "ipg", CCM_PCCR0, 11); | ||
90 | clk[IMX21_CLK_I2C_GATE] = imx_clk_gate("i2c_gate", "ipg", CCM_PCCR0, 12); | ||
91 | clk[IMX21_CLK_DMA_GATE] = imx_clk_gate("dma_gate", "ipg", CCM_PCCR0, 13); | ||
92 | clk[IMX21_CLK_USB_GATE] = imx_clk_gate("usb_gate", "usb_div", CCM_PCCR0, 14); | ||
93 | clk[IMX21_CLK_EMMA_GATE] = imx_clk_gate("emma_gate", "ipg", CCM_PCCR0, 15); | ||
94 | clk[IMX21_CLK_SSI2_BAUD_GATE] = imx_clk_gate("ssi2_baud_gate", "ipg", CCM_PCCR0, 16); | ||
95 | clk[IMX21_CLK_SSI1_BAUD_GATE] = imx_clk_gate("ssi1_baud_gate", "ipg", CCM_PCCR0, 17); | ||
96 | clk[IMX21_CLK_LCDC_IPG_GATE] = imx_clk_gate("lcdc_ipg_gate", "ipg", CCM_PCCR0, 18); | ||
97 | clk[IMX21_CLK_NFC_GATE] = imx_clk_gate("nfc_gate", "nfc_div", CCM_PCCR0, 19); | ||
98 | clk[IMX21_CLK_SLCDC_HCLK_GATE] = imx_clk_gate("slcdc_hclk_gate", "hclk", CCM_PCCR0, 21); | ||
99 | clk[IMX21_CLK_PER4_GATE] = imx_clk_gate("per4_gate", "per4", CCM_PCCR0, 22); | ||
100 | clk[IMX21_CLK_BMI_GATE] = imx_clk_gate("bmi_gate", "hclk", CCM_PCCR0, 23); | ||
101 | clk[IMX21_CLK_USB_HCLK_GATE] = imx_clk_gate("usb_hclk_gate", "hclk", CCM_PCCR0, 24); | ||
102 | clk[IMX21_CLK_SLCDC_GATE] = imx_clk_gate("slcdc_gate", "hclk", CCM_PCCR0, 25); | ||
103 | clk[IMX21_CLK_LCDC_HCLK_GATE] = imx_clk_gate("lcdc_hclk_gate", "hclk", CCM_PCCR0, 26); | ||
104 | clk[IMX21_CLK_EMMA_HCLK_GATE] = imx_clk_gate("emma_hclk_gate", "hclk", CCM_PCCR0, 27); | ||
105 | clk[IMX21_CLK_BROM_GATE] = imx_clk_gate("brom_gate", "hclk", CCM_PCCR0, 28); | ||
106 | clk[IMX21_CLK_DMA_HCLK_GATE] = imx_clk_gate("dma_hclk_gate", "hclk", CCM_PCCR0, 30); | ||
107 | clk[IMX21_CLK_CSI_HCLK_GATE] = imx_clk_gate("csi_hclk_gate", "hclk", CCM_PCCR0, 31); | ||
108 | |||
109 | clk[IMX21_CLK_CSPI3_IPG_GATE] = imx_clk_gate("cspi3_ipg_gate", "ipg", CCM_PCCR1, 23); | ||
110 | clk[IMX21_CLK_WDOG_GATE] = imx_clk_gate("wdog_gate", "ipg", CCM_PCCR1, 24); | ||
111 | clk[IMX21_CLK_GPT1_IPG_GATE] = imx_clk_gate("gpt1_ipg_gate", "ipg", CCM_PCCR1, 25); | ||
112 | clk[IMX21_CLK_GPT2_IPG_GATE] = imx_clk_gate("gpt2_ipg_gate", "ipg", CCM_PCCR1, 26); | ||
113 | clk[IMX21_CLK_GPT3_IPG_GATE] = imx_clk_gate("gpt3_ipg_gate", "ipg", CCM_PCCR1, 27); | ||
114 | clk[IMX21_CLK_PWM_IPG_GATE] = imx_clk_gate("pwm_ipg_gate", "ipg", CCM_PCCR1, 28); | ||
115 | clk[IMX21_CLK_RTC_GATE] = imx_clk_gate("rtc_gate", "ipg", CCM_PCCR1, 29); | ||
116 | clk[IMX21_CLK_KPP_GATE] = imx_clk_gate("kpp_gate", "ipg", CCM_PCCR1, 30); | ||
117 | clk[IMX21_CLK_OWIRE_GATE] = imx_clk_gate("owire_gate", "ipg", CCM_PCCR1, 31); | ||
118 | |||
119 | imx_check_clocks(clk, ARRAY_SIZE(clk)); | ||
120 | } | ||
66 | 121 | ||
67 | /* | ||
68 | * must be called very early to get information about the | ||
69 | * available clock rate when the timer framework starts | ||
70 | */ | ||
71 | int __init mx21_clocks_init(unsigned long lref, unsigned long href) | 122 | int __init mx21_clocks_init(unsigned long lref, unsigned long href) |
72 | { | 123 | { |
73 | int i; | 124 | ccm = ioremap(MX21_CCM_BASE_ADDR, SZ_2K); |
74 | 125 | ||
75 | clk[ckil] = imx_clk_fixed("ckil", lref); | 126 | _mx21_clocks_init(lref, href); |
76 | clk[ckih] = imx_clk_fixed("ckih", href); | 127 | |
77 | clk[fpm] = imx_clk_fixed_factor("fpm", "ckil", 512, 1); | 128 | clk_register_clkdev(clk[IMX21_CLK_PER1], "per", "imx21-uart.0"); |
78 | clk[mpll_sel] = imx_clk_mux("mpll_sel", CCM_CSCR, 16, 1, mpll_sel_clks, | 129 | clk_register_clkdev(clk[IMX21_CLK_UART1_IPG_GATE], "ipg", "imx21-uart.0"); |
79 | ARRAY_SIZE(mpll_sel_clks)); | 130 | clk_register_clkdev(clk[IMX21_CLK_PER1], "per", "imx21-uart.1"); |
80 | clk[spll_sel] = imx_clk_mux("spll_sel", CCM_CSCR, 17, 1, spll_sel_clks, | 131 | clk_register_clkdev(clk[IMX21_CLK_UART2_IPG_GATE], "ipg", "imx21-uart.1"); |
81 | ARRAY_SIZE(spll_sel_clks)); | 132 | clk_register_clkdev(clk[IMX21_CLK_PER1], "per", "imx21-uart.2"); |
82 | clk[mpll] = imx_clk_pllv1("mpll", "mpll_sel", CCM_MPCTL0); | 133 | clk_register_clkdev(clk[IMX21_CLK_UART3_IPG_GATE], "ipg", "imx21-uart.2"); |
83 | clk[spll] = imx_clk_pllv1("spll", "spll_sel", CCM_SPCTL0); | 134 | clk_register_clkdev(clk[IMX21_CLK_PER1], "per", "imx21-uart.3"); |
84 | clk[fclk] = imx_clk_divider("fclk", "mpll", CCM_CSCR, 29, 3); | 135 | clk_register_clkdev(clk[IMX21_CLK_UART4_IPG_GATE], "ipg", "imx21-uart.3"); |
85 | clk[hclk] = imx_clk_divider("hclk", "fclk", CCM_CSCR, 10, 4); | 136 | clk_register_clkdev(clk[IMX21_CLK_GPT1_IPG_GATE], "ipg", "imx-gpt.0"); |
86 | clk[ipg] = imx_clk_divider("ipg", "hclk", CCM_CSCR, 9, 1); | 137 | clk_register_clkdev(clk[IMX21_CLK_PER1], "per", "imx-gpt.0"); |
87 | clk[per1] = imx_clk_divider("per1", "mpll", CCM_PCDR1, 0, 6); | 138 | clk_register_clkdev(clk[IMX21_CLK_PER2], "per", "imx21-cspi.0"); |
88 | clk[per2] = imx_clk_divider("per2", "mpll", CCM_PCDR1, 8, 6); | 139 | clk_register_clkdev(clk[IMX21_CLK_CSPI1_IPG_GATE], "ipg", "imx21-cspi.0"); |
89 | clk[per3] = imx_clk_divider("per3", "mpll", CCM_PCDR1, 16, 6); | 140 | clk_register_clkdev(clk[IMX21_CLK_PER2], "per", "imx21-cspi.1"); |
90 | clk[per4] = imx_clk_divider("per4", "mpll", CCM_PCDR1, 24, 6); | 141 | clk_register_clkdev(clk[IMX21_CLK_CSPI2_IPG_GATE], "ipg", "imx21-cspi.1"); |
91 | clk[uart1_ipg_gate] = imx_clk_gate("uart1_ipg_gate", "ipg", CCM_PCCR0, 0); | 142 | clk_register_clkdev(clk[IMX21_CLK_PER2], "per", "imx21-cspi.2"); |
92 | clk[uart2_ipg_gate] = imx_clk_gate("uart2_ipg_gate", "ipg", CCM_PCCR0, 1); | 143 | clk_register_clkdev(clk[IMX21_CLK_CSPI3_IPG_GATE], "ipg", "imx21-cspi.2"); |
93 | clk[uart3_ipg_gate] = imx_clk_gate("uart3_ipg_gate", "ipg", CCM_PCCR0, 2); | 144 | clk_register_clkdev(clk[IMX21_CLK_PER3], "per", "imx21-fb.0"); |
94 | clk[uart4_ipg_gate] = imx_clk_gate("uart4_ipg_gate", "ipg", CCM_PCCR0, 3); | 145 | clk_register_clkdev(clk[IMX21_CLK_LCDC_IPG_GATE], "ipg", "imx21-fb.0"); |
95 | clk[gpt1_ipg_gate] = imx_clk_gate("gpt1_ipg_gate", "ipg", CCM_PCCR1, 25); | 146 | clk_register_clkdev(clk[IMX21_CLK_LCDC_HCLK_GATE], "ahb", "imx21-fb.0"); |
96 | clk[gpt2_ipg_gate] = imx_clk_gate("gpt2_ipg_gate", "ipg", CCM_PCCR1, 26); | 147 | clk_register_clkdev(clk[IMX21_CLK_USB_GATE], "per", "imx21-hcd.0"); |
97 | clk[gpt3_ipg_gate] = imx_clk_gate("gpt3_ipg_gate", "ipg", CCM_PCCR1, 27); | 148 | clk_register_clkdev(clk[IMX21_CLK_USB_HCLK_GATE], "ahb", "imx21-hcd.0"); |
98 | clk[pwm_ipg_gate] = imx_clk_gate("pwm_ipg_gate", "ipg", CCM_PCCR1, 28); | 149 | clk_register_clkdev(clk[IMX21_CLK_NFC_GATE], NULL, "imx21-nand.0"); |
99 | clk[sdhc1_ipg_gate] = imx_clk_gate("sdhc1_ipg_gate", "ipg", CCM_PCCR0, 9); | 150 | clk_register_clkdev(clk[IMX21_CLK_DMA_HCLK_GATE], "ahb", "imx21-dma"); |
100 | clk[sdhc2_ipg_gate] = imx_clk_gate("sdhc2_ipg_gate", "ipg", CCM_PCCR0, 10); | 151 | clk_register_clkdev(clk[IMX21_CLK_DMA_GATE], "ipg", "imx21-dma"); |
101 | clk[lcdc_ipg_gate] = imx_clk_gate("lcdc_ipg_gate", "ipg", CCM_PCCR0, 18); | 152 | clk_register_clkdev(clk[IMX21_CLK_WDOG_GATE], NULL, "imx2-wdt.0"); |
102 | clk[lcdc_hclk_gate] = imx_clk_gate("lcdc_hclk_gate", "hclk", CCM_PCCR0, 26); | 153 | clk_register_clkdev(clk[IMX21_CLK_I2C_GATE], NULL, "imx21-i2c.0"); |
103 | clk[cspi3_ipg_gate] = imx_clk_gate("cspi3_ipg_gate", "ipg", CCM_PCCR1, 23); | 154 | clk_register_clkdev(clk[IMX21_CLK_OWIRE_GATE], NULL, "mxc_w1.0"); |
104 | clk[cspi2_ipg_gate] = imx_clk_gate("cspi2_ipg_gate", "ipg", CCM_PCCR0, 5); | ||
105 | clk[cspi1_ipg_gate] = imx_clk_gate("cspi1_ipg_gate", "ipg", CCM_PCCR0, 4); | ||
106 | clk[per4_gate] = imx_clk_gate("per4_gate", "per4", CCM_PCCR0, 22); | ||
107 | clk[csi_hclk_gate] = imx_clk_gate("csi_hclk_gate", "hclk", CCM_PCCR0, 31); | ||
108 | clk[usb_div] = imx_clk_divider("usb_div", "spll", CCM_CSCR, 26, 3); | ||
109 | clk[usb_gate] = imx_clk_gate("usb_gate", "usb_div", CCM_PCCR0, 14); | ||
110 | clk[usb_hclk_gate] = imx_clk_gate("usb_hclk_gate", "hclk", CCM_PCCR0, 24); | ||
111 | clk[ssi1_gate] = imx_clk_gate("ssi1_gate", "ipg", CCM_PCCR0, 6); | ||
112 | clk[ssi2_gate] = imx_clk_gate("ssi2_gate", "ipg", CCM_PCCR0, 7); | ||
113 | clk[nfc_div] = imx_clk_divider("nfc_div", "ipg", CCM_PCDR0, 12, 4); | ||
114 | clk[nfc_gate] = imx_clk_gate("nfc_gate", "nfc_div", CCM_PCCR0, 19); | ||
115 | clk[dma_gate] = imx_clk_gate("dma_gate", "ipg", CCM_PCCR0, 13); | ||
116 | clk[dma_hclk_gate] = imx_clk_gate("dma_hclk_gate", "hclk", CCM_PCCR0, 30); | ||
117 | clk[brom_gate] = imx_clk_gate("brom_gate", "hclk", CCM_PCCR0, 28); | ||
118 | clk[emma_gate] = imx_clk_gate("emma_gate", "ipg", CCM_PCCR0, 15); | ||
119 | clk[emma_hclk_gate] = imx_clk_gate("emma_hclk_gate", "hclk", CCM_PCCR0, 27); | ||
120 | clk[slcdc_gate] = imx_clk_gate("slcdc_gate", "ipg", CCM_PCCR0, 25); | ||
121 | clk[slcdc_hclk_gate] = imx_clk_gate("slcdc_hclk_gate", "hclk", CCM_PCCR0, 21); | ||
122 | clk[wdog_gate] = imx_clk_gate("wdog_gate", "ipg", CCM_PCCR1, 24); | ||
123 | clk[gpio_gate] = imx_clk_gate("gpio_gate", "ipg", CCM_PCCR0, 11); | ||
124 | clk[i2c_gate] = imx_clk_gate("i2c_gate", "ipg", CCM_PCCR0, 12); | ||
125 | clk[kpp_gate] = imx_clk_gate("kpp_gate", "ipg", CCM_PCCR1, 30); | ||
126 | clk[owire_gate] = imx_clk_gate("owire_gate", "ipg", CCM_PCCR1, 31); | ||
127 | clk[rtc_gate] = imx_clk_gate("rtc_gate", "ipg", CCM_PCCR1, 29); | ||
128 | |||
129 | for (i = 0; i < ARRAY_SIZE(clk); i++) | ||
130 | if (IS_ERR(clk[i])) | ||
131 | pr_err("i.MX21 clk %d: register failed with %ld\n", | ||
132 | i, PTR_ERR(clk[i])); | ||
133 | |||
134 | clk_register_clkdev(clk[per1], "per1", NULL); | ||
135 | clk_register_clkdev(clk[per2], "per2", NULL); | ||
136 | clk_register_clkdev(clk[per3], "per3", NULL); | ||
137 | clk_register_clkdev(clk[per4], "per4", NULL); | ||
138 | clk_register_clkdev(clk[per1], "per", "imx21-uart.0"); | ||
139 | clk_register_clkdev(clk[uart1_ipg_gate], "ipg", "imx21-uart.0"); | ||
140 | clk_register_clkdev(clk[per1], "per", "imx21-uart.1"); | ||
141 | clk_register_clkdev(clk[uart2_ipg_gate], "ipg", "imx21-uart.1"); | ||
142 | clk_register_clkdev(clk[per1], "per", "imx21-uart.2"); | ||
143 | clk_register_clkdev(clk[uart3_ipg_gate], "ipg", "imx21-uart.2"); | ||
144 | clk_register_clkdev(clk[per1], "per", "imx21-uart.3"); | ||
145 | clk_register_clkdev(clk[uart4_ipg_gate], "ipg", "imx21-uart.3"); | ||
146 | clk_register_clkdev(clk[gpt1_ipg_gate], "ipg", "imx-gpt.0"); | ||
147 | clk_register_clkdev(clk[per1], "per", "imx-gpt.0"); | ||
148 | clk_register_clkdev(clk[gpt2_ipg_gate], "ipg", "imx-gpt.1"); | ||
149 | clk_register_clkdev(clk[per1], "per", "imx-gpt.1"); | ||
150 | clk_register_clkdev(clk[gpt3_ipg_gate], "ipg", "imx-gpt.2"); | ||
151 | clk_register_clkdev(clk[per1], "per", "imx-gpt.2"); | ||
152 | clk_register_clkdev(clk[per2], "per", "imx21-cspi.0"); | ||
153 | clk_register_clkdev(clk[cspi1_ipg_gate], "ipg", "imx21-cspi.0"); | ||
154 | clk_register_clkdev(clk[per2], "per", "imx21-cspi.1"); | ||
155 | clk_register_clkdev(clk[cspi2_ipg_gate], "ipg", "imx21-cspi.1"); | ||
156 | clk_register_clkdev(clk[per2], "per", "imx21-cspi.2"); | ||
157 | clk_register_clkdev(clk[cspi3_ipg_gate], "ipg", "imx21-cspi.2"); | ||
158 | clk_register_clkdev(clk[per3], "per", "imx21-fb.0"); | ||
159 | clk_register_clkdev(clk[lcdc_ipg_gate], "ipg", "imx21-fb.0"); | ||
160 | clk_register_clkdev(clk[lcdc_hclk_gate], "ahb", "imx21-fb.0"); | ||
161 | clk_register_clkdev(clk[usb_gate], "per", "imx21-hcd.0"); | ||
162 | clk_register_clkdev(clk[usb_hclk_gate], "ahb", "imx21-hcd.0"); | ||
163 | clk_register_clkdev(clk[nfc_gate], NULL, "imx21-nand.0"); | ||
164 | clk_register_clkdev(clk[dma_hclk_gate], "ahb", "imx21-dma"); | ||
165 | clk_register_clkdev(clk[dma_gate], "ipg", "imx21-dma"); | ||
166 | clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0"); | ||
167 | clk_register_clkdev(clk[i2c_gate], NULL, "imx21-i2c.0"); | ||
168 | clk_register_clkdev(clk[kpp_gate], NULL, "mxc-keypad"); | ||
169 | clk_register_clkdev(clk[owire_gate], NULL, "mxc_w1.0"); | ||
170 | clk_register_clkdev(clk[brom_gate], "brom", NULL); | ||
171 | clk_register_clkdev(clk[emma_gate], "emma", NULL); | ||
172 | clk_register_clkdev(clk[slcdc_gate], "slcdc", NULL); | ||
173 | clk_register_clkdev(clk[gpio_gate], "gpio", NULL); | ||
174 | clk_register_clkdev(clk[rtc_gate], "rtc", NULL); | ||
175 | clk_register_clkdev(clk[csi_hclk_gate], "csi", NULL); | ||
176 | clk_register_clkdev(clk[ssi1_gate], "ssi1", NULL); | ||
177 | clk_register_clkdev(clk[ssi2_gate], "ssi2", NULL); | ||
178 | clk_register_clkdev(clk[sdhc1_ipg_gate], "sdhc1", NULL); | ||
179 | clk_register_clkdev(clk[sdhc2_ipg_gate], "sdhc2", NULL); | ||
180 | 155 | ||
181 | mxc_timer_init(MX21_IO_ADDRESS(MX21_GPT1_BASE_ADDR), MX21_INT_GPT1); | 156 | mxc_timer_init(MX21_IO_ADDRESS(MX21_GPT1_BASE_ADDR), MX21_INT_GPT1); |
182 | 157 | ||
183 | return 0; | 158 | return 0; |
184 | } | 159 | } |
160 | |||
161 | static void __init mx21_clocks_init_dt(struct device_node *np) | ||
162 | { | ||
163 | ccm = of_iomap(np, 0); | ||
164 | |||
165 | _mx21_clocks_init(32768, 26000000); | ||
166 | |||
167 | clk_data.clks = clk; | ||
168 | clk_data.clk_num = ARRAY_SIZE(clk); | ||
169 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | ||
170 | } | ||
171 | CLK_OF_DECLARE(imx27_ccm, "fsl,imx21-ccm", mx21_clocks_init_dt); | ||
diff --git a/arch/arm/mach-imx/clk-imx25.c b/arch/arm/mach-imx/clk-imx25.c index ae578c096ad8..59c0c8558c6b 100644 --- a/arch/arm/mach-imx/clk-imx25.c +++ b/arch/arm/mach-imx/clk-imx25.c | |||
@@ -32,8 +32,6 @@ | |||
32 | #include "hardware.h" | 32 | #include "hardware.h" |
33 | #include "mx25.h" | 33 | #include "mx25.h" |
34 | 34 | ||
35 | #define CRM_BASE MX25_IO_ADDRESS(MX25_CRM_BASE_ADDR) | ||
36 | |||
37 | #define CCM_MPCTL 0x00 | 35 | #define CCM_MPCTL 0x00 |
38 | #define CCM_UPCTL 0x04 | 36 | #define CCM_UPCTL 0x04 |
39 | #define CCM_CCTL 0x08 | 37 | #define CCM_CCTL 0x08 |
@@ -56,7 +54,7 @@ | |||
56 | #define CCM_LTR3 0x4c | 54 | #define CCM_LTR3 0x4c |
57 | #define CCM_MCR 0x64 | 55 | #define CCM_MCR 0x64 |
58 | 56 | ||
59 | #define ccm(x) (CRM_BASE + (x)) | 57 | #define ccm(x) (ccm_base + (x)) |
60 | 58 | ||
61 | static struct clk_onecell_data clk_data; | 59 | static struct clk_onecell_data clk_data; |
62 | 60 | ||
@@ -91,9 +89,10 @@ enum mx25_clks { | |||
91 | 89 | ||
92 | static struct clk *clk[clk_max]; | 90 | static struct clk *clk[clk_max]; |
93 | 91 | ||
94 | static int __init __mx25_clocks_init(unsigned long osc_rate) | 92 | static int __init __mx25_clocks_init(unsigned long osc_rate, |
93 | void __iomem *ccm_base) | ||
95 | { | 94 | { |
96 | int i; | 95 | BUG_ON(!ccm_base); |
97 | 96 | ||
98 | clk[dummy] = imx_clk_fixed("dummy", 0); | 97 | clk[dummy] = imx_clk_fixed("dummy", 0); |
99 | clk[osc] = imx_clk_fixed("osc", osc_rate); | 98 | clk[osc] = imx_clk_fixed("osc", osc_rate); |
@@ -224,19 +223,13 @@ static int __init __mx25_clocks_init(unsigned long osc_rate) | |||
224 | /* CCM_CGCR2(19): reserved in datasheet, but used as wdt in FSL kernel */ | 223 | /* CCM_CGCR2(19): reserved in datasheet, but used as wdt in FSL kernel */ |
225 | clk[wdt_ipg] = imx_clk_gate("wdt_ipg", "ipg", ccm(CCM_CGCR2), 19); | 224 | clk[wdt_ipg] = imx_clk_gate("wdt_ipg", "ipg", ccm(CCM_CGCR2), 19); |
226 | 225 | ||
227 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 226 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
228 | if (IS_ERR(clk[i])) | ||
229 | pr_err("i.MX25 clk %d: register failed with %ld\n", | ||
230 | i, PTR_ERR(clk[i])); | ||
231 | 227 | ||
232 | clk_prepare_enable(clk[emi_ahb]); | 228 | clk_prepare_enable(clk[emi_ahb]); |
233 | 229 | ||
234 | /* Clock source for gpt must be derived from AHB */ | 230 | /* Clock source for gpt must be derived from AHB */ |
235 | clk_set_parent(clk[per5_sel], clk[ahb]); | 231 | clk_set_parent(clk[per5_sel], clk[ahb]); |
236 | 232 | ||
237 | clk_register_clkdev(clk[ipg], "ipg", "imx-gpt.0"); | ||
238 | clk_register_clkdev(clk[gpt_ipg_per], "per", "imx-gpt.0"); | ||
239 | |||
240 | /* | 233 | /* |
241 | * Let's initially set up CLKO parent as ipg, since this configuration | 234 | * Let's initially set up CLKO parent as ipg, since this configuration |
242 | * is used on some imx25 board designs to clock the audio codec. | 235 | * is used on some imx25 board designs to clock the audio codec. |
@@ -248,8 +241,14 @@ static int __init __mx25_clocks_init(unsigned long osc_rate) | |||
248 | 241 | ||
249 | int __init mx25_clocks_init(void) | 242 | int __init mx25_clocks_init(void) |
250 | { | 243 | { |
251 | __mx25_clocks_init(24000000); | 244 | void __iomem *ccm; |
252 | 245 | ||
246 | ccm = ioremap(MX25_CRM_BASE_ADDR, SZ_16K); | ||
247 | |||
248 | __mx25_clocks_init(24000000, ccm); | ||
249 | |||
250 | clk_register_clkdev(clk[gpt1_ipg], "ipg", "imx-gpt.0"); | ||
251 | clk_register_clkdev(clk[gpt_ipg_per], "per", "imx-gpt.0"); | ||
253 | /* i.mx25 has the i.mx21 type uart */ | 252 | /* i.mx25 has the i.mx21 type uart */ |
254 | clk_register_clkdev(clk[uart1_ipg], "ipg", "imx21-uart.0"); | 253 | clk_register_clkdev(clk[uart1_ipg], "ipg", "imx21-uart.0"); |
255 | clk_register_clkdev(clk[uart_ipg_per], "per", "imx21-uart.0"); | 254 | clk_register_clkdev(clk[uart_ipg_per], "per", "imx21-uart.0"); |
@@ -314,29 +313,27 @@ int __init mx25_clocks_init(void) | |||
314 | return 0; | 313 | return 0; |
315 | } | 314 | } |
316 | 315 | ||
317 | int __init mx25_clocks_init_dt(void) | 316 | static void __init mx25_clocks_init_dt(struct device_node *np) |
318 | { | 317 | { |
319 | struct device_node *np; | 318 | struct device_node *refnp; |
320 | unsigned long osc_rate = 24000000; | 319 | unsigned long osc_rate = 24000000; |
320 | void __iomem *ccm; | ||
321 | 321 | ||
322 | /* retrieve the freqency of fixed clocks from device tree */ | 322 | /* retrieve the freqency of fixed clocks from device tree */ |
323 | for_each_compatible_node(np, NULL, "fixed-clock") { | 323 | for_each_compatible_node(refnp, NULL, "fixed-clock") { |
324 | u32 rate; | 324 | u32 rate; |
325 | if (of_property_read_u32(np, "clock-frequency", &rate)) | 325 | if (of_property_read_u32(refnp, "clock-frequency", &rate)) |
326 | continue; | 326 | continue; |
327 | 327 | ||
328 | if (of_device_is_compatible(np, "fsl,imx-osc")) | 328 | if (of_device_is_compatible(refnp, "fsl,imx-osc")) |
329 | osc_rate = rate; | 329 | osc_rate = rate; |
330 | } | 330 | } |
331 | 331 | ||
332 | np = of_find_compatible_node(NULL, NULL, "fsl,imx25-ccm"); | 332 | ccm = of_iomap(np, 0); |
333 | __mx25_clocks_init(osc_rate, ccm); | ||
334 | |||
333 | clk_data.clks = clk; | 335 | clk_data.clks = clk; |
334 | clk_data.clk_num = ARRAY_SIZE(clk); | 336 | clk_data.clk_num = ARRAY_SIZE(clk); |
335 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 337 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
336 | |||
337 | __mx25_clocks_init(osc_rate); | ||
338 | |||
339 | mxc_timer_init_dt(of_find_compatible_node(NULL, NULL, "fsl,imx25-gpt")); | ||
340 | |||
341 | return 0; | ||
342 | } | 338 | } |
339 | CLK_OF_DECLARE(imx25_ccm, "fsl,imx25-ccm", mx25_clocks_init_dt); | ||
diff --git a/arch/arm/mach-imx/clk-imx27.c b/arch/arm/mach-imx/clk-imx27.c index 317a662626d6..ab6349ec23b9 100644 --- a/arch/arm/mach-imx/clk-imx27.c +++ b/arch/arm/mach-imx/clk-imx27.c | |||
@@ -1,61 +1,36 @@ | |||
1 | #include <linux/clk.h> | 1 | #include <linux/clk.h> |
2 | #include <linux/io.h> | 2 | #include <linux/clk-provider.h> |
3 | #include <linux/module.h> | ||
4 | #include <linux/clkdev.h> | 3 | #include <linux/clkdev.h> |
5 | #include <linux/err.h> | 4 | #include <linux/err.h> |
6 | #include <linux/clk-provider.h> | ||
7 | #include <linux/of.h> | 5 | #include <linux/of.h> |
6 | #include <linux/of_address.h> | ||
7 | #include <dt-bindings/clock/imx27-clock.h> | ||
8 | 8 | ||
9 | #include "clk.h" | 9 | #include "clk.h" |
10 | #include "common.h" | 10 | #include "common.h" |
11 | #include "hardware.h" | 11 | #include "hardware.h" |
12 | 12 | ||
13 | #define IO_ADDR_CCM(off) (MX27_IO_ADDRESS(MX27_CCM_BASE_ADDR + (off))) | 13 | static void __iomem *ccm __initdata; |
14 | 14 | ||
15 | /* Register offsets */ | 15 | /* Register offsets */ |
16 | #define CCM_CSCR IO_ADDR_CCM(0x0) | 16 | #define CCM_CSCR (ccm + 0x00) |
17 | #define CCM_MPCTL0 IO_ADDR_CCM(0x4) | 17 | #define CCM_MPCTL0 (ccm + 0x04) |
18 | #define CCM_MPCTL1 IO_ADDR_CCM(0x8) | 18 | #define CCM_MPCTL1 (ccm + 0x08) |
19 | #define CCM_SPCTL0 IO_ADDR_CCM(0xc) | 19 | #define CCM_SPCTL0 (ccm + 0x0c) |
20 | #define CCM_SPCTL1 IO_ADDR_CCM(0x10) | 20 | #define CCM_SPCTL1 (ccm + 0x10) |
21 | #define CCM_OSC26MCTL IO_ADDR_CCM(0x14) | 21 | #define CCM_PCDR0 (ccm + 0x18) |
22 | #define CCM_PCDR0 IO_ADDR_CCM(0x18) | 22 | #define CCM_PCDR1 (ccm + 0x1c) |
23 | #define CCM_PCDR1 IO_ADDR_CCM(0x1c) | 23 | #define CCM_PCCR0 (ccm + 0x20) |
24 | #define CCM_PCCR0 IO_ADDR_CCM(0x20) | 24 | #define CCM_PCCR1 (ccm + 0x24) |
25 | #define CCM_PCCR1 IO_ADDR_CCM(0x24) | 25 | #define CCM_CCSR (ccm + 0x28) |
26 | #define CCM_CCSR IO_ADDR_CCM(0x28) | ||
27 | #define CCM_PMCTL IO_ADDR_CCM(0x2c) | ||
28 | #define CCM_PMCOUNT IO_ADDR_CCM(0x30) | ||
29 | #define CCM_WKGDCTL IO_ADDR_CCM(0x34) | ||
30 | |||
31 | #define CCM_CSCR_UPDATE_DIS (1 << 31) | ||
32 | #define CCM_CSCR_SSI2 (1 << 23) | ||
33 | #define CCM_CSCR_SSI1 (1 << 22) | ||
34 | #define CCM_CSCR_VPU (1 << 21) | ||
35 | #define CCM_CSCR_MSHC (1 << 20) | ||
36 | #define CCM_CSCR_SPLLRES (1 << 19) | ||
37 | #define CCM_CSCR_MPLLRES (1 << 18) | ||
38 | #define CCM_CSCR_SP (1 << 17) | ||
39 | #define CCM_CSCR_MCU (1 << 16) | ||
40 | #define CCM_CSCR_OSC26MDIV (1 << 4) | ||
41 | #define CCM_CSCR_OSC26M (1 << 3) | ||
42 | #define CCM_CSCR_FPM (1 << 2) | ||
43 | #define CCM_CSCR_SPEN (1 << 1) | ||
44 | #define CCM_CSCR_MPEN (1 << 0) | ||
45 | |||
46 | /* i.MX27 TO 2+ */ | ||
47 | #define CCM_CSCR_ARM_SRC (1 << 15) | ||
48 | |||
49 | #define CCM_SPCTL1_LF (1 << 15) | ||
50 | #define CCM_SPCTL1_BRMO (1 << 6) | ||
51 | 26 | ||
52 | static const char *vpu_sel_clks[] = { "spll", "mpll_main2", }; | 27 | static const char *vpu_sel_clks[] = { "spll", "mpll_main2", }; |
53 | static const char *cpu_sel_clks[] = { "mpll_main2", "mpll", }; | 28 | static const char *cpu_sel_clks[] = { "mpll_main2", "mpll", }; |
54 | static const char *mpll_sel_clks[] = { "fpm", "mpll_osc_sel", }; | 29 | static const char *mpll_sel_clks[] = { "fpm", "mpll_osc_sel", }; |
55 | static const char *mpll_osc_sel_clks[] = { "ckih", "ckih_div1p5", }; | 30 | static const char *mpll_osc_sel_clks[] = { "ckih_gate", "ckih_div1p5", }; |
56 | static const char *clko_sel_clks[] = { | 31 | static const char *clko_sel_clks[] = { |
57 | "ckil", "fpm", "ckih", "ckih", | 32 | "ckil", "fpm", "ckih_gate", "ckih_gate", |
58 | "ckih", "mpll", "spll", "cpu_div", | 33 | "ckih_gate", "mpll", "spll", "cpu_div", |
59 | "ahb", "ipg", "per1_div", "per2_div", | 34 | "ahb", "ipg", "per1_div", "per2_div", |
60 | "per3_div", "per4_div", "ssi1_div", "ssi2_div", | 35 | "per3_div", "per4_div", "ssi1_div", "ssi2_div", |
61 | "nfc_div", "mshc_div", "vpu_div", "60m", | 36 | "nfc_div", "mshc_div", "vpu_div", "60m", |
@@ -64,239 +39,220 @@ static const char *clko_sel_clks[] = { | |||
64 | 39 | ||
65 | static const char *ssi_sel_clks[] = { "spll_gate", "mpll", }; | 40 | static const char *ssi_sel_clks[] = { "spll_gate", "mpll", }; |
66 | 41 | ||
67 | enum mx27_clks { | 42 | static struct clk *clk[IMX27_CLK_MAX]; |
68 | dummy, ckih, ckil, mpll, spll, mpll_main2, ahb, ipg, nfc_div, per1_div, | ||
69 | per2_div, per3_div, per4_div, vpu_sel, vpu_div, usb_div, cpu_sel, | ||
70 | clko_sel, cpu_div, clko_div, ssi1_sel, ssi2_sel, ssi1_div, ssi2_div, | ||
71 | clko_en, ssi2_ipg_gate, ssi1_ipg_gate, slcdc_ipg_gate, sdhc3_ipg_gate, | ||
72 | sdhc2_ipg_gate, sdhc1_ipg_gate, scc_ipg_gate, sahara_ipg_gate, | ||
73 | rtc_ipg_gate, pwm_ipg_gate, owire_ipg_gate, lcdc_ipg_gate, | ||
74 | kpp_ipg_gate, iim_ipg_gate, i2c2_ipg_gate, i2c1_ipg_gate, | ||
75 | gpt6_ipg_gate, gpt5_ipg_gate, gpt4_ipg_gate, gpt3_ipg_gate, | ||
76 | gpt2_ipg_gate, gpt1_ipg_gate, gpio_ipg_gate, fec_ipg_gate, | ||
77 | emma_ipg_gate, dma_ipg_gate, cspi3_ipg_gate, cspi2_ipg_gate, | ||
78 | cspi1_ipg_gate, nfc_baud_gate, ssi2_baud_gate, ssi1_baud_gate, | ||
79 | vpu_baud_gate, per4_gate, per3_gate, per2_gate, per1_gate, | ||
80 | usb_ahb_gate, slcdc_ahb_gate, sahara_ahb_gate, lcdc_ahb_gate, | ||
81 | vpu_ahb_gate, fec_ahb_gate, emma_ahb_gate, emi_ahb_gate, dma_ahb_gate, | ||
82 | csi_ahb_gate, brom_ahb_gate, ata_ahb_gate, wdog_ipg_gate, usb_ipg_gate, | ||
83 | uart6_ipg_gate, uart5_ipg_gate, uart4_ipg_gate, uart3_ipg_gate, | ||
84 | uart2_ipg_gate, uart1_ipg_gate, ckih_div1p5, fpm, mpll_osc_sel, | ||
85 | mpll_sel, spll_gate, mshc_div, rtic_ipg_gate, mshc_ipg_gate, | ||
86 | rtic_ahb_gate, mshc_baud_gate, clk_max | ||
87 | }; | ||
88 | |||
89 | static struct clk *clk[clk_max]; | ||
90 | static struct clk_onecell_data clk_data; | 43 | static struct clk_onecell_data clk_data; |
91 | 44 | ||
92 | int __init mx27_clocks_init(unsigned long fref) | 45 | static void __init _mx27_clocks_init(unsigned long fref) |
93 | { | 46 | { |
94 | int i; | 47 | BUG_ON(!ccm); |
95 | struct device_node *np; | ||
96 | |||
97 | clk[dummy] = imx_clk_fixed("dummy", 0); | ||
98 | clk[ckih] = imx_clk_fixed("ckih", fref); | ||
99 | clk[ckil] = imx_clk_fixed("ckil", 32768); | ||
100 | clk[fpm] = imx_clk_fixed_factor("fpm", "ckil", 1024, 1); | ||
101 | clk[ckih_div1p5] = imx_clk_fixed_factor("ckih_div1p5", "ckih", 2, 3); | ||
102 | 48 | ||
103 | clk[mpll_osc_sel] = imx_clk_mux("mpll_osc_sel", CCM_CSCR, 4, 1, | 49 | clk[IMX27_CLK_DUMMY] = imx_clk_fixed("dummy", 0); |
104 | mpll_osc_sel_clks, | 50 | clk[IMX27_CLK_CKIH] = imx_clk_fixed("ckih", fref); |
105 | ARRAY_SIZE(mpll_osc_sel_clks)); | 51 | clk[IMX27_CLK_CKIL] = imx_clk_fixed("ckil", 32768); |
106 | clk[mpll_sel] = imx_clk_mux("mpll_sel", CCM_CSCR, 16, 1, mpll_sel_clks, | 52 | clk[IMX27_CLK_FPM] = imx_clk_fixed_factor("fpm", "ckil", 1024, 1); |
107 | ARRAY_SIZE(mpll_sel_clks)); | 53 | clk[IMX27_CLK_CKIH_DIV1P5] = imx_clk_fixed_factor("ckih_div1p5", "ckih_gate", 2, 3); |
108 | clk[mpll] = imx_clk_pllv1("mpll", "mpll_sel", CCM_MPCTL0); | 54 | clk[IMX27_CLK_CKIH_GATE] = imx_clk_gate_dis("ckih_gate", "ckih", CCM_CSCR, 3); |
109 | clk[spll] = imx_clk_pllv1("spll", "ckih", CCM_SPCTL0); | 55 | clk[IMX27_CLK_MPLL_OSC_SEL] = imx_clk_mux("mpll_osc_sel", CCM_CSCR, 4, 1, mpll_osc_sel_clks, ARRAY_SIZE(mpll_osc_sel_clks)); |
110 | clk[spll_gate] = imx_clk_gate("spll_gate", "spll", CCM_CSCR, 1); | 56 | clk[IMX27_CLK_MPLL_SEL] = imx_clk_mux("mpll_sel", CCM_CSCR, 16, 1, mpll_sel_clks, ARRAY_SIZE(mpll_sel_clks)); |
111 | clk[mpll_main2] = imx_clk_fixed_factor("mpll_main2", "mpll", 2, 3); | 57 | clk[IMX27_CLK_MPLL] = imx_clk_pllv1("mpll", "mpll_sel", CCM_MPCTL0); |
58 | clk[IMX27_CLK_SPLL] = imx_clk_pllv1("spll", "ckih_gate", CCM_SPCTL0); | ||
59 | clk[IMX27_CLK_SPLL_GATE] = imx_clk_gate("spll_gate", "spll", CCM_CSCR, 1); | ||
60 | clk[IMX27_CLK_MPLL_MAIN2] = imx_clk_fixed_factor("mpll_main2", "mpll", 2, 3); | ||
112 | 61 | ||
113 | if (mx27_revision() >= IMX_CHIP_REVISION_2_0) { | 62 | if (mx27_revision() >= IMX_CHIP_REVISION_2_0) { |
114 | clk[ahb] = imx_clk_divider("ahb", "mpll_main2", CCM_CSCR, 8, 2); | 63 | clk[IMX27_CLK_AHB] = imx_clk_divider("ahb", "mpll_main2", CCM_CSCR, 8, 2); |
115 | clk[ipg] = imx_clk_fixed_factor("ipg", "ahb", 1, 2); | 64 | clk[IMX27_CLK_IPG] = imx_clk_fixed_factor("ipg", "ahb", 1, 2); |
116 | } else { | 65 | } else { |
117 | clk[ahb] = imx_clk_divider("ahb", "mpll_main2", CCM_CSCR, 9, 4); | 66 | clk[IMX27_CLK_AHB] = imx_clk_divider("ahb", "mpll_main2", CCM_CSCR, 9, 4); |
118 | clk[ipg] = imx_clk_divider("ipg", "ahb", CCM_CSCR, 8, 1); | 67 | clk[IMX27_CLK_IPG] = imx_clk_divider("ipg", "ahb", CCM_CSCR, 8, 1); |
119 | } | 68 | } |
120 | 69 | ||
121 | clk[mshc_div] = imx_clk_divider("mshc_div", "ahb", CCM_PCDR0, 0, 6); | 70 | clk[IMX27_CLK_MSHC_DIV] = imx_clk_divider("mshc_div", "ahb", CCM_PCDR0, 0, 6); |
122 | clk[nfc_div] = imx_clk_divider("nfc_div", "ahb", CCM_PCDR0, 6, 4); | 71 | clk[IMX27_CLK_NFC_DIV] = imx_clk_divider("nfc_div", "ahb", CCM_PCDR0, 6, 4); |
123 | clk[per1_div] = imx_clk_divider("per1_div", "mpll_main2", CCM_PCDR1, 0, 6); | 72 | clk[IMX27_CLK_PER1_DIV] = imx_clk_divider("per1_div", "mpll_main2", CCM_PCDR1, 0, 6); |
124 | clk[per2_div] = imx_clk_divider("per2_div", "mpll_main2", CCM_PCDR1, 8, 6); | 73 | clk[IMX27_CLK_PER2_DIV] = imx_clk_divider("per2_div", "mpll_main2", CCM_PCDR1, 8, 6); |
125 | clk[per3_div] = imx_clk_divider("per3_div", "mpll_main2", CCM_PCDR1, 16, 6); | 74 | clk[IMX27_CLK_PER3_DIV] = imx_clk_divider("per3_div", "mpll_main2", CCM_PCDR1, 16, 6); |
126 | clk[per4_div] = imx_clk_divider("per4_div", "mpll_main2", CCM_PCDR1, 24, 6); | 75 | clk[IMX27_CLK_PER4_DIV] = imx_clk_divider("per4_div", "mpll_main2", CCM_PCDR1, 24, 6); |
127 | clk[vpu_sel] = imx_clk_mux("vpu_sel", CCM_CSCR, 21, 1, vpu_sel_clks, ARRAY_SIZE(vpu_sel_clks)); | 76 | clk[IMX27_CLK_VPU_SEL] = imx_clk_mux("vpu_sel", CCM_CSCR, 21, 1, vpu_sel_clks, ARRAY_SIZE(vpu_sel_clks)); |
128 | clk[vpu_div] = imx_clk_divider("vpu_div", "vpu_sel", CCM_PCDR0, 10, 6); | 77 | clk[IMX27_CLK_VPU_DIV] = imx_clk_divider("vpu_div", "vpu_sel", CCM_PCDR0, 10, 6); |
129 | clk[usb_div] = imx_clk_divider("usb_div", "spll_gate", CCM_CSCR, 28, 3); | 78 | clk[IMX27_CLK_USB_DIV] = imx_clk_divider("usb_div", "spll_gate", CCM_CSCR, 28, 3); |
130 | clk[cpu_sel] = imx_clk_mux("cpu_sel", CCM_CSCR, 15, 1, cpu_sel_clks, ARRAY_SIZE(cpu_sel_clks)); | 79 | clk[IMX27_CLK_CPU_SEL] = imx_clk_mux("cpu_sel", CCM_CSCR, 15, 1, cpu_sel_clks, ARRAY_SIZE(cpu_sel_clks)); |
131 | clk[clko_sel] = imx_clk_mux("clko_sel", CCM_CCSR, 0, 5, clko_sel_clks, ARRAY_SIZE(clko_sel_clks)); | 80 | clk[IMX27_CLK_CLKO_SEL] = imx_clk_mux("clko_sel", CCM_CCSR, 0, 5, clko_sel_clks, ARRAY_SIZE(clko_sel_clks)); |
81 | |||
132 | if (mx27_revision() >= IMX_CHIP_REVISION_2_0) | 82 | if (mx27_revision() >= IMX_CHIP_REVISION_2_0) |
133 | clk[cpu_div] = imx_clk_divider("cpu_div", "cpu_sel", CCM_CSCR, 12, 2); | 83 | clk[IMX27_CLK_CPU_DIV] = imx_clk_divider("cpu_div", "cpu_sel", CCM_CSCR, 12, 2); |
134 | else | 84 | else |
135 | clk[cpu_div] = imx_clk_divider("cpu_div", "cpu_sel", CCM_CSCR, 13, 3); | 85 | clk[IMX27_CLK_CPU_DIV] = imx_clk_divider("cpu_div", "cpu_sel", CCM_CSCR, 13, 3); |
136 | clk[clko_div] = imx_clk_divider("clko_div", "clko_sel", CCM_PCDR0, 22, 3); | ||
137 | clk[ssi1_sel] = imx_clk_mux("ssi1_sel", CCM_CSCR, 22, 1, ssi_sel_clks, ARRAY_SIZE(ssi_sel_clks)); | ||
138 | clk[ssi2_sel] = imx_clk_mux("ssi2_sel", CCM_CSCR, 23, 1, ssi_sel_clks, ARRAY_SIZE(ssi_sel_clks)); | ||
139 | clk[ssi1_div] = imx_clk_divider("ssi1_div", "ssi1_sel", CCM_PCDR0, 16, 6); | ||
140 | clk[ssi2_div] = imx_clk_divider("ssi2_div", "ssi2_sel", CCM_PCDR0, 26, 6); | ||
141 | clk[clko_en] = imx_clk_gate("clko_en", "clko_div", CCM_PCCR0, 0); | ||
142 | clk[ssi2_ipg_gate] = imx_clk_gate("ssi2_ipg_gate", "ipg", CCM_PCCR0, 0); | ||
143 | clk[ssi1_ipg_gate] = imx_clk_gate("ssi1_ipg_gate", "ipg", CCM_PCCR0, 1); | ||
144 | clk[slcdc_ipg_gate] = imx_clk_gate("slcdc_ipg_gate", "ipg", CCM_PCCR0, 2); | ||
145 | clk[sdhc3_ipg_gate] = imx_clk_gate("sdhc3_ipg_gate", "ipg", CCM_PCCR0, 3); | ||
146 | clk[sdhc2_ipg_gate] = imx_clk_gate("sdhc2_ipg_gate", "ipg", CCM_PCCR0, 4); | ||
147 | clk[sdhc1_ipg_gate] = imx_clk_gate("sdhc1_ipg_gate", "ipg", CCM_PCCR0, 5); | ||
148 | clk[scc_ipg_gate] = imx_clk_gate("scc_ipg_gate", "ipg", CCM_PCCR0, 6); | ||
149 | clk[sahara_ipg_gate] = imx_clk_gate("sahara_ipg_gate", "ipg", CCM_PCCR0, 7); | ||
150 | clk[rtic_ipg_gate] = imx_clk_gate("rtic_ipg_gate", "ipg", CCM_PCCR0, 8); | ||
151 | clk[rtc_ipg_gate] = imx_clk_gate("rtc_ipg_gate", "ipg", CCM_PCCR0, 9); | ||
152 | clk[pwm_ipg_gate] = imx_clk_gate("pwm_ipg_gate", "ipg", CCM_PCCR0, 11); | ||
153 | clk[owire_ipg_gate] = imx_clk_gate("owire_ipg_gate", "ipg", CCM_PCCR0, 12); | ||
154 | clk[mshc_ipg_gate] = imx_clk_gate("mshc_ipg_gate", "ipg", CCM_PCCR0, 13); | ||
155 | clk[lcdc_ipg_gate] = imx_clk_gate("lcdc_ipg_gate", "ipg", CCM_PCCR0, 14); | ||
156 | clk[kpp_ipg_gate] = imx_clk_gate("kpp_ipg_gate", "ipg", CCM_PCCR0, 15); | ||
157 | clk[iim_ipg_gate] = imx_clk_gate("iim_ipg_gate", "ipg", CCM_PCCR0, 16); | ||
158 | clk[i2c2_ipg_gate] = imx_clk_gate("i2c2_ipg_gate", "ipg", CCM_PCCR0, 17); | ||
159 | clk[i2c1_ipg_gate] = imx_clk_gate("i2c1_ipg_gate", "ipg", CCM_PCCR0, 18); | ||
160 | clk[gpt6_ipg_gate] = imx_clk_gate("gpt6_ipg_gate", "ipg", CCM_PCCR0, 19); | ||
161 | clk[gpt5_ipg_gate] = imx_clk_gate("gpt5_ipg_gate", "ipg", CCM_PCCR0, 20); | ||
162 | clk[gpt4_ipg_gate] = imx_clk_gate("gpt4_ipg_gate", "ipg", CCM_PCCR0, 21); | ||
163 | clk[gpt3_ipg_gate] = imx_clk_gate("gpt3_ipg_gate", "ipg", CCM_PCCR0, 22); | ||
164 | clk[gpt2_ipg_gate] = imx_clk_gate("gpt2_ipg_gate", "ipg", CCM_PCCR0, 23); | ||
165 | clk[gpt1_ipg_gate] = imx_clk_gate("gpt1_ipg_gate", "ipg", CCM_PCCR0, 24); | ||
166 | clk[gpio_ipg_gate] = imx_clk_gate("gpio_ipg_gate", "ipg", CCM_PCCR0, 25); | ||
167 | clk[fec_ipg_gate] = imx_clk_gate("fec_ipg_gate", "ipg", CCM_PCCR0, 26); | ||
168 | clk[emma_ipg_gate] = imx_clk_gate("emma_ipg_gate", "ipg", CCM_PCCR0, 27); | ||
169 | clk[dma_ipg_gate] = imx_clk_gate("dma_ipg_gate", "ipg", CCM_PCCR0, 28); | ||
170 | clk[cspi3_ipg_gate] = imx_clk_gate("cspi3_ipg_gate", "ipg", CCM_PCCR0, 29); | ||
171 | clk[cspi2_ipg_gate] = imx_clk_gate("cspi2_ipg_gate", "ipg", CCM_PCCR0, 30); | ||
172 | clk[cspi1_ipg_gate] = imx_clk_gate("cspi1_ipg_gate", "ipg", CCM_PCCR0, 31); | ||
173 | clk[mshc_baud_gate] = imx_clk_gate("mshc_baud_gate", "mshc_div", CCM_PCCR1, 2); | ||
174 | clk[nfc_baud_gate] = imx_clk_gate("nfc_baud_gate", "nfc_div", CCM_PCCR1, 3); | ||
175 | clk[ssi2_baud_gate] = imx_clk_gate("ssi2_baud_gate", "ssi2_div", CCM_PCCR1, 4); | ||
176 | clk[ssi1_baud_gate] = imx_clk_gate("ssi1_baud_gate", "ssi1_div", CCM_PCCR1, 5); | ||
177 | clk[vpu_baud_gate] = imx_clk_gate("vpu_baud_gate", "vpu_div", CCM_PCCR1, 6); | ||
178 | clk[per4_gate] = imx_clk_gate("per4_gate", "per4_div", CCM_PCCR1, 7); | ||
179 | clk[per3_gate] = imx_clk_gate("per3_gate", "per3_div", CCM_PCCR1, 8); | ||
180 | clk[per2_gate] = imx_clk_gate("per2_gate", "per2_div", CCM_PCCR1, 9); | ||
181 | clk[per1_gate] = imx_clk_gate("per1_gate", "per1_div", CCM_PCCR1, 10); | ||
182 | clk[usb_ahb_gate] = imx_clk_gate("usb_ahb_gate", "ahb", CCM_PCCR1, 11); | ||
183 | clk[slcdc_ahb_gate] = imx_clk_gate("slcdc_ahb_gate", "ahb", CCM_PCCR1, 12); | ||
184 | clk[sahara_ahb_gate] = imx_clk_gate("sahara_ahb_gate", "ahb", CCM_PCCR1, 13); | ||
185 | clk[rtic_ahb_gate] = imx_clk_gate("rtic_ahb_gate", "ahb", CCM_PCCR1, 14); | ||
186 | clk[lcdc_ahb_gate] = imx_clk_gate("lcdc_ahb_gate", "ahb", CCM_PCCR1, 15); | ||
187 | clk[vpu_ahb_gate] = imx_clk_gate("vpu_ahb_gate", "ahb", CCM_PCCR1, 16); | ||
188 | clk[fec_ahb_gate] = imx_clk_gate("fec_ahb_gate", "ahb", CCM_PCCR1, 17); | ||
189 | clk[emma_ahb_gate] = imx_clk_gate("emma_ahb_gate", "ahb", CCM_PCCR1, 18); | ||
190 | clk[emi_ahb_gate] = imx_clk_gate("emi_ahb_gate", "ahb", CCM_PCCR1, 19); | ||
191 | clk[dma_ahb_gate] = imx_clk_gate("dma_ahb_gate", "ahb", CCM_PCCR1, 20); | ||
192 | clk[csi_ahb_gate] = imx_clk_gate("csi_ahb_gate", "ahb", CCM_PCCR1, 21); | ||
193 | clk[brom_ahb_gate] = imx_clk_gate("brom_ahb_gate", "ahb", CCM_PCCR1, 22); | ||
194 | clk[ata_ahb_gate] = imx_clk_gate("ata_ahb_gate", "ahb", CCM_PCCR1, 23); | ||
195 | clk[wdog_ipg_gate] = imx_clk_gate("wdog_ipg_gate", "ipg", CCM_PCCR1, 24); | ||
196 | clk[usb_ipg_gate] = imx_clk_gate("usb_ipg_gate", "ipg", CCM_PCCR1, 25); | ||
197 | clk[uart6_ipg_gate] = imx_clk_gate("uart6_ipg_gate", "ipg", CCM_PCCR1, 26); | ||
198 | clk[uart5_ipg_gate] = imx_clk_gate("uart5_ipg_gate", "ipg", CCM_PCCR1, 27); | ||
199 | clk[uart4_ipg_gate] = imx_clk_gate("uart4_ipg_gate", "ipg", CCM_PCCR1, 28); | ||
200 | clk[uart3_ipg_gate] = imx_clk_gate("uart3_ipg_gate", "ipg", CCM_PCCR1, 29); | ||
201 | clk[uart2_ipg_gate] = imx_clk_gate("uart2_ipg_gate", "ipg", CCM_PCCR1, 30); | ||
202 | clk[uart1_ipg_gate] = imx_clk_gate("uart1_ipg_gate", "ipg", CCM_PCCR1, 31); | ||
203 | 86 | ||
204 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 87 | clk[IMX27_CLK_CLKO_DIV] = imx_clk_divider("clko_div", "clko_sel", CCM_PCDR0, 22, 3); |
205 | if (IS_ERR(clk[i])) | 88 | clk[IMX27_CLK_SSI1_SEL] = imx_clk_mux("ssi1_sel", CCM_CSCR, 22, 1, ssi_sel_clks, ARRAY_SIZE(ssi_sel_clks)); |
206 | pr_err("i.MX27 clk %d: register failed with %ld\n", | 89 | clk[IMX27_CLK_SSI2_SEL] = imx_clk_mux("ssi2_sel", CCM_CSCR, 23, 1, ssi_sel_clks, ARRAY_SIZE(ssi_sel_clks)); |
207 | i, PTR_ERR(clk[i])); | 90 | clk[IMX27_CLK_SSI1_DIV] = imx_clk_divider("ssi1_div", "ssi1_sel", CCM_PCDR0, 16, 6); |
91 | clk[IMX27_CLK_SSI2_DIV] = imx_clk_divider("ssi2_div", "ssi2_sel", CCM_PCDR0, 26, 6); | ||
92 | clk[IMX27_CLK_CLKO_EN] = imx_clk_gate("clko_en", "clko_div", CCM_PCCR0, 0); | ||
93 | clk[IMX27_CLK_SSI2_IPG_GATE] = imx_clk_gate("ssi2_ipg_gate", "ipg", CCM_PCCR0, 0); | ||
94 | clk[IMX27_CLK_SSI1_IPG_GATE] = imx_clk_gate("ssi1_ipg_gate", "ipg", CCM_PCCR0, 1); | ||
95 | clk[IMX27_CLK_SLCDC_IPG_GATE] = imx_clk_gate("slcdc_ipg_gate", "ipg", CCM_PCCR0, 2); | ||
96 | clk[IMX27_CLK_SDHC3_IPG_GATE] = imx_clk_gate("sdhc3_ipg_gate", "ipg", CCM_PCCR0, 3); | ||
97 | clk[IMX27_CLK_SDHC2_IPG_GATE] = imx_clk_gate("sdhc2_ipg_gate", "ipg", CCM_PCCR0, 4); | ||
98 | clk[IMX27_CLK_SDHC1_IPG_GATE] = imx_clk_gate("sdhc1_ipg_gate", "ipg", CCM_PCCR0, 5); | ||
99 | clk[IMX27_CLK_SCC_IPG_GATE] = imx_clk_gate("scc_ipg_gate", "ipg", CCM_PCCR0, 6); | ||
100 | clk[IMX27_CLK_SAHARA_IPG_GATE] = imx_clk_gate("sahara_ipg_gate", "ipg", CCM_PCCR0, 7); | ||
101 | clk[IMX27_CLK_RTIC_IPG_GATE] = imx_clk_gate("rtic_ipg_gate", "ipg", CCM_PCCR0, 8); | ||
102 | clk[IMX27_CLK_RTC_IPG_GATE] = imx_clk_gate("rtc_ipg_gate", "ipg", CCM_PCCR0, 9); | ||
103 | clk[IMX27_CLK_PWM_IPG_GATE] = imx_clk_gate("pwm_ipg_gate", "ipg", CCM_PCCR0, 11); | ||
104 | clk[IMX27_CLK_OWIRE_IPG_GATE] = imx_clk_gate("owire_ipg_gate", "ipg", CCM_PCCR0, 12); | ||
105 | clk[IMX27_CLK_MSHC_IPG_GATE] = imx_clk_gate("mshc_ipg_gate", "ipg", CCM_PCCR0, 13); | ||
106 | clk[IMX27_CLK_LCDC_IPG_GATE] = imx_clk_gate("lcdc_ipg_gate", "ipg", CCM_PCCR0, 14); | ||
107 | clk[IMX27_CLK_KPP_IPG_GATE] = imx_clk_gate("kpp_ipg_gate", "ipg", CCM_PCCR0, 15); | ||
108 | clk[IMX27_CLK_IIM_IPG_GATE] = imx_clk_gate("iim_ipg_gate", "ipg", CCM_PCCR0, 16); | ||
109 | clk[IMX27_CLK_I2C2_IPG_GATE] = imx_clk_gate("i2c2_ipg_gate", "ipg", CCM_PCCR0, 17); | ||
110 | clk[IMX27_CLK_I2C1_IPG_GATE] = imx_clk_gate("i2c1_ipg_gate", "ipg", CCM_PCCR0, 18); | ||
111 | clk[IMX27_CLK_GPT6_IPG_GATE] = imx_clk_gate("gpt6_ipg_gate", "ipg", CCM_PCCR0, 19); | ||
112 | clk[IMX27_CLK_GPT5_IPG_GATE] = imx_clk_gate("gpt5_ipg_gate", "ipg", CCM_PCCR0, 20); | ||
113 | clk[IMX27_CLK_GPT4_IPG_GATE] = imx_clk_gate("gpt4_ipg_gate", "ipg", CCM_PCCR0, 21); | ||
114 | clk[IMX27_CLK_GPT3_IPG_GATE] = imx_clk_gate("gpt3_ipg_gate", "ipg", CCM_PCCR0, 22); | ||
115 | clk[IMX27_CLK_GPT2_IPG_GATE] = imx_clk_gate("gpt2_ipg_gate", "ipg", CCM_PCCR0, 23); | ||
116 | clk[IMX27_CLK_GPT1_IPG_GATE] = imx_clk_gate("gpt1_ipg_gate", "ipg", CCM_PCCR0, 24); | ||
117 | clk[IMX27_CLK_GPIO_IPG_GATE] = imx_clk_gate("gpio_ipg_gate", "ipg", CCM_PCCR0, 25); | ||
118 | clk[IMX27_CLK_FEC_IPG_GATE] = imx_clk_gate("fec_ipg_gate", "ipg", CCM_PCCR0, 26); | ||
119 | clk[IMX27_CLK_EMMA_IPG_GATE] = imx_clk_gate("emma_ipg_gate", "ipg", CCM_PCCR0, 27); | ||
120 | clk[IMX27_CLK_DMA_IPG_GATE] = imx_clk_gate("dma_ipg_gate", "ipg", CCM_PCCR0, 28); | ||
121 | clk[IMX27_CLK_CSPI3_IPG_GATE] = imx_clk_gate("cspi3_ipg_gate", "ipg", CCM_PCCR0, 29); | ||
122 | clk[IMX27_CLK_CSPI2_IPG_GATE] = imx_clk_gate("cspi2_ipg_gate", "ipg", CCM_PCCR0, 30); | ||
123 | clk[IMX27_CLK_CSPI1_IPG_GATE] = imx_clk_gate("cspi1_ipg_gate", "ipg", CCM_PCCR0, 31); | ||
124 | clk[IMX27_CLK_MSHC_BAUD_GATE] = imx_clk_gate("mshc_baud_gate", "mshc_div", CCM_PCCR1, 2); | ||
125 | clk[IMX27_CLK_NFC_BAUD_GATE] = imx_clk_gate("nfc_baud_gate", "nfc_div", CCM_PCCR1, 3); | ||
126 | clk[IMX27_CLK_SSI2_BAUD_GATE] = imx_clk_gate("ssi2_baud_gate", "ssi2_div", CCM_PCCR1, 4); | ||
127 | clk[IMX27_CLK_SSI1_BAUD_GATE] = imx_clk_gate("ssi1_baud_gate", "ssi1_div", CCM_PCCR1, 5); | ||
128 | clk[IMX27_CLK_VPU_BAUD_GATE] = imx_clk_gate("vpu_baud_gate", "vpu_div", CCM_PCCR1, 6); | ||
129 | clk[IMX27_CLK_PER4_GATE] = imx_clk_gate("per4_gate", "per4_div", CCM_PCCR1, 7); | ||
130 | clk[IMX27_CLK_PER3_GATE] = imx_clk_gate("per3_gate", "per3_div", CCM_PCCR1, 8); | ||
131 | clk[IMX27_CLK_PER2_GATE] = imx_clk_gate("per2_gate", "per2_div", CCM_PCCR1, 9); | ||
132 | clk[IMX27_CLK_PER1_GATE] = imx_clk_gate("per1_gate", "per1_div", CCM_PCCR1, 10); | ||
133 | clk[IMX27_CLK_USB_AHB_GATE] = imx_clk_gate("usb_ahb_gate", "ahb", CCM_PCCR1, 11); | ||
134 | clk[IMX27_CLK_SLCDC_AHB_GATE] = imx_clk_gate("slcdc_ahb_gate", "ahb", CCM_PCCR1, 12); | ||
135 | clk[IMX27_CLK_SAHARA_AHB_GATE] = imx_clk_gate("sahara_ahb_gate", "ahb", CCM_PCCR1, 13); | ||
136 | clk[IMX27_CLK_RTIC_AHB_GATE] = imx_clk_gate("rtic_ahb_gate", "ahb", CCM_PCCR1, 14); | ||
137 | clk[IMX27_CLK_LCDC_AHB_GATE] = imx_clk_gate("lcdc_ahb_gate", "ahb", CCM_PCCR1, 15); | ||
138 | clk[IMX27_CLK_VPU_AHB_GATE] = imx_clk_gate("vpu_ahb_gate", "ahb", CCM_PCCR1, 16); | ||
139 | clk[IMX27_CLK_FEC_AHB_GATE] = imx_clk_gate("fec_ahb_gate", "ahb", CCM_PCCR1, 17); | ||
140 | clk[IMX27_CLK_EMMA_AHB_GATE] = imx_clk_gate("emma_ahb_gate", "ahb", CCM_PCCR1, 18); | ||
141 | clk[IMX27_CLK_EMI_AHB_GATE] = imx_clk_gate("emi_ahb_gate", "ahb", CCM_PCCR1, 19); | ||
142 | clk[IMX27_CLK_DMA_AHB_GATE] = imx_clk_gate("dma_ahb_gate", "ahb", CCM_PCCR1, 20); | ||
143 | clk[IMX27_CLK_CSI_AHB_GATE] = imx_clk_gate("csi_ahb_gate", "ahb", CCM_PCCR1, 21); | ||
144 | clk[IMX27_CLK_BROM_AHB_GATE] = imx_clk_gate("brom_ahb_gate", "ahb", CCM_PCCR1, 22); | ||
145 | clk[IMX27_CLK_ATA_AHB_GATE] = imx_clk_gate("ata_ahb_gate", "ahb", CCM_PCCR1, 23); | ||
146 | clk[IMX27_CLK_WDOG_IPG_GATE] = imx_clk_gate("wdog_ipg_gate", "ipg", CCM_PCCR1, 24); | ||
147 | clk[IMX27_CLK_USB_IPG_GATE] = imx_clk_gate("usb_ipg_gate", "ipg", CCM_PCCR1, 25); | ||
148 | clk[IMX27_CLK_UART6_IPG_GATE] = imx_clk_gate("uart6_ipg_gate", "ipg", CCM_PCCR1, 26); | ||
149 | clk[IMX27_CLK_UART5_IPG_GATE] = imx_clk_gate("uart5_ipg_gate", "ipg", CCM_PCCR1, 27); | ||
150 | clk[IMX27_CLK_UART4_IPG_GATE] = imx_clk_gate("uart4_ipg_gate", "ipg", CCM_PCCR1, 28); | ||
151 | clk[IMX27_CLK_UART3_IPG_GATE] = imx_clk_gate("uart3_ipg_gate", "ipg", CCM_PCCR1, 29); | ||
152 | clk[IMX27_CLK_UART2_IPG_GATE] = imx_clk_gate("uart2_ipg_gate", "ipg", CCM_PCCR1, 30); | ||
153 | clk[IMX27_CLK_UART1_IPG_GATE] = imx_clk_gate("uart1_ipg_gate", "ipg", CCM_PCCR1, 31); | ||
208 | 154 | ||
209 | np = of_find_compatible_node(NULL, NULL, "fsl,imx27-ccm"); | 155 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
210 | if (np) { | ||
211 | clk_data.clks = clk; | ||
212 | clk_data.clk_num = ARRAY_SIZE(clk); | ||
213 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | ||
214 | } | ||
215 | 156 | ||
216 | clk_register_clkdev(clk[uart1_ipg_gate], "ipg", "imx21-uart.0"); | 157 | clk_register_clkdev(clk[IMX27_CLK_CPU_DIV], NULL, "cpu0"); |
217 | clk_register_clkdev(clk[per1_gate], "per", "imx21-uart.0"); | ||
218 | clk_register_clkdev(clk[uart2_ipg_gate], "ipg", "imx21-uart.1"); | ||
219 | clk_register_clkdev(clk[per1_gate], "per", "imx21-uart.1"); | ||
220 | clk_register_clkdev(clk[uart3_ipg_gate], "ipg", "imx21-uart.2"); | ||
221 | clk_register_clkdev(clk[per1_gate], "per", "imx21-uart.2"); | ||
222 | clk_register_clkdev(clk[uart4_ipg_gate], "ipg", "imx21-uart.3"); | ||
223 | clk_register_clkdev(clk[per1_gate], "per", "imx21-uart.3"); | ||
224 | clk_register_clkdev(clk[uart5_ipg_gate], "ipg", "imx21-uart.4"); | ||
225 | clk_register_clkdev(clk[per1_gate], "per", "imx21-uart.4"); | ||
226 | clk_register_clkdev(clk[uart6_ipg_gate], "ipg", "imx21-uart.5"); | ||
227 | clk_register_clkdev(clk[per1_gate], "per", "imx21-uart.5"); | ||
228 | clk_register_clkdev(clk[gpt1_ipg_gate], "ipg", "imx-gpt.0"); | ||
229 | clk_register_clkdev(clk[per1_gate], "per", "imx-gpt.0"); | ||
230 | clk_register_clkdev(clk[per2_gate], "per", "imx21-mmc.0"); | ||
231 | clk_register_clkdev(clk[sdhc1_ipg_gate], "ipg", "imx21-mmc.0"); | ||
232 | clk_register_clkdev(clk[per2_gate], "per", "imx21-mmc.1"); | ||
233 | clk_register_clkdev(clk[sdhc2_ipg_gate], "ipg", "imx21-mmc.1"); | ||
234 | clk_register_clkdev(clk[per2_gate], "per", "imx21-mmc.2"); | ||
235 | clk_register_clkdev(clk[sdhc2_ipg_gate], "ipg", "imx21-mmc.2"); | ||
236 | clk_register_clkdev(clk[per2_gate], "per", "imx27-cspi.0"); | ||
237 | clk_register_clkdev(clk[cspi1_ipg_gate], "ipg", "imx27-cspi.0"); | ||
238 | clk_register_clkdev(clk[per2_gate], "per", "imx27-cspi.1"); | ||
239 | clk_register_clkdev(clk[cspi2_ipg_gate], "ipg", "imx27-cspi.1"); | ||
240 | clk_register_clkdev(clk[per2_gate], "per", "imx27-cspi.2"); | ||
241 | clk_register_clkdev(clk[cspi3_ipg_gate], "ipg", "imx27-cspi.2"); | ||
242 | clk_register_clkdev(clk[per3_gate], "per", "imx21-fb.0"); | ||
243 | clk_register_clkdev(clk[lcdc_ipg_gate], "ipg", "imx21-fb.0"); | ||
244 | clk_register_clkdev(clk[lcdc_ahb_gate], "ahb", "imx21-fb.0"); | ||
245 | clk_register_clkdev(clk[csi_ahb_gate], "ahb", "imx27-camera.0"); | ||
246 | clk_register_clkdev(clk[per4_gate], "per", "imx27-camera.0"); | ||
247 | clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27"); | ||
248 | clk_register_clkdev(clk[usb_ipg_gate], "ipg", "imx-udc-mx27"); | ||
249 | clk_register_clkdev(clk[usb_ahb_gate], "ahb", "imx-udc-mx27"); | ||
250 | clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.0"); | ||
251 | clk_register_clkdev(clk[usb_ipg_gate], "ipg", "mxc-ehci.0"); | ||
252 | clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.0"); | ||
253 | clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.1"); | ||
254 | clk_register_clkdev(clk[usb_ipg_gate], "ipg", "mxc-ehci.1"); | ||
255 | clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.1"); | ||
256 | clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2"); | ||
257 | clk_register_clkdev(clk[usb_ipg_gate], "ipg", "mxc-ehci.2"); | ||
258 | clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.2"); | ||
259 | clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0"); | ||
260 | clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1"); | ||
261 | clk_register_clkdev(clk[nfc_baud_gate], NULL, "imx27-nand.0"); | ||
262 | clk_register_clkdev(clk[vpu_baud_gate], "per", "coda-imx27.0"); | ||
263 | clk_register_clkdev(clk[vpu_ahb_gate], "ahb", "coda-imx27.0"); | ||
264 | clk_register_clkdev(clk[dma_ahb_gate], "ahb", "imx27-dma"); | ||
265 | clk_register_clkdev(clk[dma_ipg_gate], "ipg", "imx27-dma"); | ||
266 | clk_register_clkdev(clk[fec_ipg_gate], "ipg", "imx27-fec.0"); | ||
267 | clk_register_clkdev(clk[fec_ahb_gate], "ahb", "imx27-fec.0"); | ||
268 | clk_register_clkdev(clk[wdog_ipg_gate], NULL, "imx2-wdt.0"); | ||
269 | clk_register_clkdev(clk[i2c1_ipg_gate], NULL, "imx21-i2c.0"); | ||
270 | clk_register_clkdev(clk[i2c2_ipg_gate], NULL, "imx21-i2c.1"); | ||
271 | clk_register_clkdev(clk[owire_ipg_gate], NULL, "mxc_w1.0"); | ||
272 | clk_register_clkdev(clk[kpp_ipg_gate], NULL, "imx-keypad"); | ||
273 | clk_register_clkdev(clk[emma_ahb_gate], "emma-ahb", "imx27-camera.0"); | ||
274 | clk_register_clkdev(clk[emma_ipg_gate], "emma-ipg", "imx27-camera.0"); | ||
275 | clk_register_clkdev(clk[emma_ahb_gate], "ahb", "m2m-emmaprp.0"); | ||
276 | clk_register_clkdev(clk[emma_ipg_gate], "ipg", "m2m-emmaprp.0"); | ||
277 | clk_register_clkdev(clk[cpu_div], NULL, "cpu0"); | ||
278 | 158 | ||
279 | mxc_timer_init(MX27_IO_ADDRESS(MX27_GPT1_BASE_ADDR), MX27_INT_GPT1); | 159 | clk_prepare_enable(clk[IMX27_CLK_EMI_AHB_GATE]); |
280 | |||
281 | clk_prepare_enable(clk[emi_ahb_gate]); | ||
282 | 160 | ||
283 | imx_print_silicon_rev("i.MX27", mx27_revision()); | 161 | imx_print_silicon_rev("i.MX27", mx27_revision()); |
162 | } | ||
163 | |||
164 | int __init mx27_clocks_init(unsigned long fref) | ||
165 | { | ||
166 | ccm = ioremap(MX27_CCM_BASE_ADDR, SZ_4K); | ||
167 | |||
168 | _mx27_clocks_init(fref); | ||
169 | |||
170 | clk_register_clkdev(clk[IMX27_CLK_UART1_IPG_GATE], "ipg", "imx21-uart.0"); | ||
171 | clk_register_clkdev(clk[IMX27_CLK_PER1_GATE], "per", "imx21-uart.0"); | ||
172 | clk_register_clkdev(clk[IMX27_CLK_UART2_IPG_GATE], "ipg", "imx21-uart.1"); | ||
173 | clk_register_clkdev(clk[IMX27_CLK_PER1_GATE], "per", "imx21-uart.1"); | ||
174 | clk_register_clkdev(clk[IMX27_CLK_UART3_IPG_GATE], "ipg", "imx21-uart.2"); | ||
175 | clk_register_clkdev(clk[IMX27_CLK_PER1_GATE], "per", "imx21-uart.2"); | ||
176 | clk_register_clkdev(clk[IMX27_CLK_UART4_IPG_GATE], "ipg", "imx21-uart.3"); | ||
177 | clk_register_clkdev(clk[IMX27_CLK_PER1_GATE], "per", "imx21-uart.3"); | ||
178 | clk_register_clkdev(clk[IMX27_CLK_UART5_IPG_GATE], "ipg", "imx21-uart.4"); | ||
179 | clk_register_clkdev(clk[IMX27_CLK_PER1_GATE], "per", "imx21-uart.4"); | ||
180 | clk_register_clkdev(clk[IMX27_CLK_UART6_IPG_GATE], "ipg", "imx21-uart.5"); | ||
181 | clk_register_clkdev(clk[IMX27_CLK_PER1_GATE], "per", "imx21-uart.5"); | ||
182 | clk_register_clkdev(clk[IMX27_CLK_GPT1_IPG_GATE], "ipg", "imx-gpt.0"); | ||
183 | clk_register_clkdev(clk[IMX27_CLK_PER1_GATE], "per", "imx-gpt.0"); | ||
184 | clk_register_clkdev(clk[IMX27_CLK_PER2_GATE], "per", "imx21-mmc.0"); | ||
185 | clk_register_clkdev(clk[IMX27_CLK_SDHC1_IPG_GATE], "ipg", "imx21-mmc.0"); | ||
186 | clk_register_clkdev(clk[IMX27_CLK_PER2_GATE], "per", "imx21-mmc.1"); | ||
187 | clk_register_clkdev(clk[IMX27_CLK_SDHC2_IPG_GATE], "ipg", "imx21-mmc.1"); | ||
188 | clk_register_clkdev(clk[IMX27_CLK_PER2_GATE], "per", "imx21-mmc.2"); | ||
189 | clk_register_clkdev(clk[IMX27_CLK_SDHC2_IPG_GATE], "ipg", "imx21-mmc.2"); | ||
190 | clk_register_clkdev(clk[IMX27_CLK_PER2_GATE], "per", "imx27-cspi.0"); | ||
191 | clk_register_clkdev(clk[IMX27_CLK_CSPI1_IPG_GATE], "ipg", "imx27-cspi.0"); | ||
192 | clk_register_clkdev(clk[IMX27_CLK_PER2_GATE], "per", "imx27-cspi.1"); | ||
193 | clk_register_clkdev(clk[IMX27_CLK_CSPI2_IPG_GATE], "ipg", "imx27-cspi.1"); | ||
194 | clk_register_clkdev(clk[IMX27_CLK_PER2_GATE], "per", "imx27-cspi.2"); | ||
195 | clk_register_clkdev(clk[IMX27_CLK_CSPI3_IPG_GATE], "ipg", "imx27-cspi.2"); | ||
196 | clk_register_clkdev(clk[IMX27_CLK_PER3_GATE], "per", "imx21-fb.0"); | ||
197 | clk_register_clkdev(clk[IMX27_CLK_LCDC_IPG_GATE], "ipg", "imx21-fb.0"); | ||
198 | clk_register_clkdev(clk[IMX27_CLK_LCDC_AHB_GATE], "ahb", "imx21-fb.0"); | ||
199 | clk_register_clkdev(clk[IMX27_CLK_CSI_AHB_GATE], "ahb", "imx27-camera.0"); | ||
200 | clk_register_clkdev(clk[IMX27_CLK_PER4_GATE], "per", "imx27-camera.0"); | ||
201 | clk_register_clkdev(clk[IMX27_CLK_USB_DIV], "per", "imx-udc-mx27"); | ||
202 | clk_register_clkdev(clk[IMX27_CLK_USB_IPG_GATE], "ipg", "imx-udc-mx27"); | ||
203 | clk_register_clkdev(clk[IMX27_CLK_USB_AHB_GATE], "ahb", "imx-udc-mx27"); | ||
204 | clk_register_clkdev(clk[IMX27_CLK_USB_DIV], "per", "mxc-ehci.0"); | ||
205 | clk_register_clkdev(clk[IMX27_CLK_USB_IPG_GATE], "ipg", "mxc-ehci.0"); | ||
206 | clk_register_clkdev(clk[IMX27_CLK_USB_AHB_GATE], "ahb", "mxc-ehci.0"); | ||
207 | clk_register_clkdev(clk[IMX27_CLK_USB_DIV], "per", "mxc-ehci.1"); | ||
208 | clk_register_clkdev(clk[IMX27_CLK_USB_IPG_GATE], "ipg", "mxc-ehci.1"); | ||
209 | clk_register_clkdev(clk[IMX27_CLK_USB_AHB_GATE], "ahb", "mxc-ehci.1"); | ||
210 | clk_register_clkdev(clk[IMX27_CLK_USB_DIV], "per", "mxc-ehci.2"); | ||
211 | clk_register_clkdev(clk[IMX27_CLK_USB_IPG_GATE], "ipg", "mxc-ehci.2"); | ||
212 | clk_register_clkdev(clk[IMX27_CLK_USB_AHB_GATE], "ahb", "mxc-ehci.2"); | ||
213 | clk_register_clkdev(clk[IMX27_CLK_SSI1_IPG_GATE], NULL, "imx-ssi.0"); | ||
214 | clk_register_clkdev(clk[IMX27_CLK_SSI2_IPG_GATE], NULL, "imx-ssi.1"); | ||
215 | clk_register_clkdev(clk[IMX27_CLK_NFC_BAUD_GATE], NULL, "imx27-nand.0"); | ||
216 | clk_register_clkdev(clk[IMX27_CLK_VPU_BAUD_GATE], "per", "coda-imx27.0"); | ||
217 | clk_register_clkdev(clk[IMX27_CLK_VPU_AHB_GATE], "ahb", "coda-imx27.0"); | ||
218 | clk_register_clkdev(clk[IMX27_CLK_DMA_AHB_GATE], "ahb", "imx27-dma"); | ||
219 | clk_register_clkdev(clk[IMX27_CLK_DMA_IPG_GATE], "ipg", "imx27-dma"); | ||
220 | clk_register_clkdev(clk[IMX27_CLK_FEC_IPG_GATE], "ipg", "imx27-fec.0"); | ||
221 | clk_register_clkdev(clk[IMX27_CLK_FEC_AHB_GATE], "ahb", "imx27-fec.0"); | ||
222 | clk_register_clkdev(clk[IMX27_CLK_WDOG_IPG_GATE], NULL, "imx2-wdt.0"); | ||
223 | clk_register_clkdev(clk[IMX27_CLK_I2C1_IPG_GATE], NULL, "imx21-i2c.0"); | ||
224 | clk_register_clkdev(clk[IMX27_CLK_I2C2_IPG_GATE], NULL, "imx21-i2c.1"); | ||
225 | clk_register_clkdev(clk[IMX27_CLK_OWIRE_IPG_GATE], NULL, "mxc_w1.0"); | ||
226 | clk_register_clkdev(clk[IMX27_CLK_KPP_IPG_GATE], NULL, "imx-keypad"); | ||
227 | clk_register_clkdev(clk[IMX27_CLK_EMMA_AHB_GATE], "emma-ahb", "imx27-camera.0"); | ||
228 | clk_register_clkdev(clk[IMX27_CLK_EMMA_IPG_GATE], "emma-ipg", "imx27-camera.0"); | ||
229 | clk_register_clkdev(clk[IMX27_CLK_EMMA_AHB_GATE], "ahb", "m2m-emmaprp.0"); | ||
230 | clk_register_clkdev(clk[IMX27_CLK_EMMA_IPG_GATE], "ipg", "m2m-emmaprp.0"); | ||
231 | |||
232 | mxc_timer_init(MX27_IO_ADDRESS(MX27_GPT1_BASE_ADDR), MX27_INT_GPT1); | ||
284 | 233 | ||
285 | return 0; | 234 | return 0; |
286 | } | 235 | } |
287 | 236 | ||
288 | int __init mx27_clocks_init_dt(void) | 237 | static void __init mx27_clocks_init_dt(struct device_node *np) |
289 | { | 238 | { |
290 | struct device_node *np; | 239 | struct device_node *refnp; |
291 | u32 fref = 26000000; /* default */ | 240 | u32 fref = 26000000; /* default */ |
292 | 241 | ||
293 | for_each_compatible_node(np, NULL, "fixed-clock") { | 242 | for_each_compatible_node(refnp, NULL, "fixed-clock") { |
294 | if (!of_device_is_compatible(np, "fsl,imx-osc26m")) | 243 | if (!of_device_is_compatible(refnp, "fsl,imx-osc26m")) |
295 | continue; | 244 | continue; |
296 | 245 | ||
297 | if (!of_property_read_u32(np, "clock-frequency", &fref)) | 246 | if (!of_property_read_u32(refnp, "clock-frequency", &fref)) |
298 | break; | 247 | break; |
299 | } | 248 | } |
300 | 249 | ||
301 | return mx27_clocks_init(fref); | 250 | ccm = of_iomap(np, 0); |
251 | |||
252 | _mx27_clocks_init(fref); | ||
253 | |||
254 | clk_data.clks = clk; | ||
255 | clk_data.clk_num = ARRAY_SIZE(clk); | ||
256 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | ||
302 | } | 257 | } |
258 | CLK_OF_DECLARE(imx27_ccm, "fsl,imx27-ccm", mx27_clocks_init_dt); | ||
diff --git a/arch/arm/mach-imx/clk-imx31.c b/arch/arm/mach-imx/clk-imx31.c index 4a9de0835eb1..286ef422cebc 100644 --- a/arch/arm/mach-imx/clk-imx31.c +++ b/arch/arm/mach-imx/clk-imx31.c | |||
@@ -51,7 +51,6 @@ static struct clk_onecell_data clk_data; | |||
51 | int __init mx31_clocks_init(unsigned long fref) | 51 | int __init mx31_clocks_init(unsigned long fref) |
52 | { | 52 | { |
53 | void __iomem *base = MX31_IO_ADDRESS(MX31_CCM_BASE_ADDR); | 53 | void __iomem *base = MX31_IO_ADDRESS(MX31_CCM_BASE_ADDR); |
54 | int i; | ||
55 | struct device_node *np; | 54 | struct device_node *np; |
56 | 55 | ||
57 | clk[dummy] = imx_clk_fixed("dummy", 0); | 56 | clk[dummy] = imx_clk_fixed("dummy", 0); |
@@ -114,10 +113,7 @@ int __init mx31_clocks_init(unsigned long fref) | |||
114 | clk[rtic_gate] = imx_clk_gate2("rtic_gate", "ahb", base + MXC_CCM_CGR2, 10); | 113 | clk[rtic_gate] = imx_clk_gate2("rtic_gate", "ahb", base + MXC_CCM_CGR2, 10); |
115 | clk[firi_gate] = imx_clk_gate2("firi_gate", "upll", base+MXC_CCM_CGR2, 12); | 114 | clk[firi_gate] = imx_clk_gate2("firi_gate", "upll", base+MXC_CCM_CGR2, 12); |
116 | 115 | ||
117 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 116 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
118 | if (IS_ERR(clk[i])) | ||
119 | pr_err("imx31 clk %d: register failed with %ld\n", | ||
120 | i, PTR_ERR(clk[i])); | ||
121 | 117 | ||
122 | np = of_find_compatible_node(NULL, NULL, "fsl,imx31-ccm"); | 118 | np = of_find_compatible_node(NULL, NULL, "fsl,imx31-ccm"); |
123 | 119 | ||
diff --git a/arch/arm/mach-imx/clk-imx35.c b/arch/arm/mach-imx/clk-imx35.c index 71c86a2f856d..a0d2b57fd376 100644 --- a/arch/arm/mach-imx/clk-imx35.c +++ b/arch/arm/mach-imx/clk-imx35.c | |||
@@ -75,7 +75,6 @@ int __init mx35_clocks_init(void) | |||
75 | u32 pdr0, consumer_sel, hsp_sel; | 75 | u32 pdr0, consumer_sel, hsp_sel; |
76 | struct arm_ahb_div *aad; | 76 | struct arm_ahb_div *aad; |
77 | unsigned char *hsp_div; | 77 | unsigned char *hsp_div; |
78 | u32 i; | ||
79 | 78 | ||
80 | pdr0 = __raw_readl(base + MXC_CCM_PDR0); | 79 | pdr0 = __raw_readl(base + MXC_CCM_PDR0); |
81 | consumer_sel = (pdr0 >> 16) & 0xf; | 80 | consumer_sel = (pdr0 >> 16) & 0xf; |
@@ -200,10 +199,7 @@ int __init mx35_clocks_init(void) | |||
200 | clk[iim_gate] = imx_clk_gate2("iim_gate", "ipg", base + MX35_CCM_CGR3, 2); | 199 | clk[iim_gate] = imx_clk_gate2("iim_gate", "ipg", base + MX35_CCM_CGR3, 2); |
201 | clk[gpu2d_gate] = imx_clk_gate2("gpu2d_gate", "ahb", base + MX35_CCM_CGR3, 4); | 200 | clk[gpu2d_gate] = imx_clk_gate2("gpu2d_gate", "ahb", base + MX35_CCM_CGR3, 4); |
202 | 201 | ||
203 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 202 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
204 | if (IS_ERR(clk[i])) | ||
205 | pr_err("i.MX35 clk %d: register failed with %ld\n", | ||
206 | i, PTR_ERR(clk[i])); | ||
207 | 203 | ||
208 | clk_register_clkdev(clk[pata_gate], NULL, "pata_imx"); | 204 | clk_register_clkdev(clk[pata_gate], NULL, "pata_imx"); |
209 | clk_register_clkdev(clk[can1_gate], NULL, "flexcan.0"); | 205 | clk_register_clkdev(clk[can1_gate], NULL, "flexcan.0"); |
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c index 21d2b111c83d..72d65214223e 100644 --- a/arch/arm/mach-imx/clk-imx51-imx53.c +++ b/arch/arm/mach-imx/clk-imx51-imx53.c | |||
@@ -18,11 +18,54 @@ | |||
18 | #include <linux/of_irq.h> | 18 | #include <linux/of_irq.h> |
19 | #include <dt-bindings/clock/imx5-clock.h> | 19 | #include <dt-bindings/clock/imx5-clock.h> |
20 | 20 | ||
21 | #include "crm-regs-imx5.h" | ||
22 | #include "clk.h" | 21 | #include "clk.h" |
23 | #include "common.h" | 22 | #include "common.h" |
24 | #include "hardware.h" | 23 | #include "hardware.h" |
25 | 24 | ||
25 | #define MX51_DPLL1_BASE 0x83f80000 | ||
26 | #define MX51_DPLL2_BASE 0x83f84000 | ||
27 | #define MX51_DPLL3_BASE 0x83f88000 | ||
28 | |||
29 | #define MX53_DPLL1_BASE 0x63f80000 | ||
30 | #define MX53_DPLL2_BASE 0x63f84000 | ||
31 | #define MX53_DPLL3_BASE 0x63f88000 | ||
32 | #define MX53_DPLL4_BASE 0x63f8c000 | ||
33 | |||
34 | #define MXC_CCM_CCR (ccm_base + 0x00) | ||
35 | #define MXC_CCM_CCDR (ccm_base + 0x04) | ||
36 | #define MXC_CCM_CSR (ccm_base + 0x08) | ||
37 | #define MXC_CCM_CCSR (ccm_base + 0x0c) | ||
38 | #define MXC_CCM_CACRR (ccm_base + 0x10) | ||
39 | #define MXC_CCM_CBCDR (ccm_base + 0x14) | ||
40 | #define MXC_CCM_CBCMR (ccm_base + 0x18) | ||
41 | #define MXC_CCM_CSCMR1 (ccm_base + 0x1c) | ||
42 | #define MXC_CCM_CSCMR2 (ccm_base + 0x20) | ||
43 | #define MXC_CCM_CSCDR1 (ccm_base + 0x24) | ||
44 | #define MXC_CCM_CS1CDR (ccm_base + 0x28) | ||
45 | #define MXC_CCM_CS2CDR (ccm_base + 0x2c) | ||
46 | #define MXC_CCM_CDCDR (ccm_base + 0x30) | ||
47 | #define MXC_CCM_CHSCDR (ccm_base + 0x34) | ||
48 | #define MXC_CCM_CSCDR2 (ccm_base + 0x38) | ||
49 | #define MXC_CCM_CSCDR3 (ccm_base + 0x3c) | ||
50 | #define MXC_CCM_CSCDR4 (ccm_base + 0x40) | ||
51 | #define MXC_CCM_CWDR (ccm_base + 0x44) | ||
52 | #define MXC_CCM_CDHIPR (ccm_base + 0x48) | ||
53 | #define MXC_CCM_CDCR (ccm_base + 0x4c) | ||
54 | #define MXC_CCM_CTOR (ccm_base + 0x50) | ||
55 | #define MXC_CCM_CLPCR (ccm_base + 0x54) | ||
56 | #define MXC_CCM_CISR (ccm_base + 0x58) | ||
57 | #define MXC_CCM_CIMR (ccm_base + 0x5c) | ||
58 | #define MXC_CCM_CCOSR (ccm_base + 0x60) | ||
59 | #define MXC_CCM_CGPR (ccm_base + 0x64) | ||
60 | #define MXC_CCM_CCGR0 (ccm_base + 0x68) | ||
61 | #define MXC_CCM_CCGR1 (ccm_base + 0x6c) | ||
62 | #define MXC_CCM_CCGR2 (ccm_base + 0x70) | ||
63 | #define MXC_CCM_CCGR3 (ccm_base + 0x74) | ||
64 | #define MXC_CCM_CCGR4 (ccm_base + 0x78) | ||
65 | #define MXC_CCM_CCGR5 (ccm_base + 0x7c) | ||
66 | #define MXC_CCM_CCGR6 (ccm_base + 0x80) | ||
67 | #define MXC_CCM_CCGR7 (ccm_base + 0x84) | ||
68 | |||
26 | /* Low-power Audio Playback Mode clock */ | 69 | /* Low-power Audio Playback Mode clock */ |
27 | static const char *lp_apm_sel[] = { "osc", }; | 70 | static const char *lp_apm_sel[] = { "osc", }; |
28 | 71 | ||
@@ -86,17 +129,15 @@ static const char *mx51_spdif1_com_sel[] = { "spdif1_podf", "ssi2_root_gate", }; | |||
86 | static struct clk *clk[IMX5_CLK_END]; | 129 | static struct clk *clk[IMX5_CLK_END]; |
87 | static struct clk_onecell_data clk_data; | 130 | static struct clk_onecell_data clk_data; |
88 | 131 | ||
89 | static void __init mx5_clocks_common_init(unsigned long rate_ckil, | 132 | static void __init mx5_clocks_common_init(void __iomem *ccm_base) |
90 | unsigned long rate_osc, unsigned long rate_ckih1, | ||
91 | unsigned long rate_ckih2) | ||
92 | { | 133 | { |
93 | int i; | 134 | imx5_pm_set_ccm_base(ccm_base); |
94 | 135 | ||
95 | clk[IMX5_CLK_DUMMY] = imx_clk_fixed("dummy", 0); | 136 | clk[IMX5_CLK_DUMMY] = imx_clk_fixed("dummy", 0); |
96 | clk[IMX5_CLK_CKIL] = imx_obtain_fixed_clock("ckil", rate_ckil); | 137 | clk[IMX5_CLK_CKIL] = imx_obtain_fixed_clock("ckil", 0); |
97 | clk[IMX5_CLK_OSC] = imx_obtain_fixed_clock("osc", rate_osc); | 138 | clk[IMX5_CLK_OSC] = imx_obtain_fixed_clock("osc", 0); |
98 | clk[IMX5_CLK_CKIH1] = imx_obtain_fixed_clock("ckih1", rate_ckih1); | 139 | clk[IMX5_CLK_CKIH1] = imx_obtain_fixed_clock("ckih1", 0); |
99 | clk[IMX5_CLK_CKIH2] = imx_obtain_fixed_clock("ckih2", rate_ckih2); | 140 | clk[IMX5_CLK_CKIH2] = imx_obtain_fixed_clock("ckih2", 0); |
100 | 141 | ||
101 | clk[IMX5_CLK_PERIPH_APM] = imx_clk_mux("periph_apm", MXC_CCM_CBCMR, 12, 2, | 142 | clk[IMX5_CLK_PERIPH_APM] = imx_clk_mux("periph_apm", MXC_CCM_CBCMR, 12, 2, |
102 | periph_apm_sel, ARRAY_SIZE(periph_apm_sel)); | 143 | periph_apm_sel, ARRAY_SIZE(periph_apm_sel)); |
@@ -244,58 +285,8 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil, | |||
244 | clk[IMX5_CLK_SAHARA_IPG_GATE] = imx_clk_gate2("sahara_ipg_gate", "ipg", MXC_CCM_CCGR4, 14); | 285 | clk[IMX5_CLK_SAHARA_IPG_GATE] = imx_clk_gate2("sahara_ipg_gate", "ipg", MXC_CCM_CCGR4, 14); |
245 | clk[IMX5_CLK_SATA_REF] = imx_clk_fixed_factor("sata_ref", "usb_phy1_gate", 1, 1); | 286 | clk[IMX5_CLK_SATA_REF] = imx_clk_fixed_factor("sata_ref", "usb_phy1_gate", 1, 1); |
246 | 287 | ||
247 | for (i = 0; i < ARRAY_SIZE(clk); i++) | ||
248 | if (IS_ERR(clk[i])) | ||
249 | pr_err("i.MX5 clk %d: register failed with %ld\n", | ||
250 | i, PTR_ERR(clk[i])); | ||
251 | |||
252 | clk_register_clkdev(clk[IMX5_CLK_GPT_HF_GATE], "per", "imx-gpt.0"); | ||
253 | clk_register_clkdev(clk[IMX5_CLK_GPT_IPG_GATE], "ipg", "imx-gpt.0"); | ||
254 | clk_register_clkdev(clk[IMX5_CLK_UART1_PER_GATE], "per", "imx21-uart.0"); | ||
255 | clk_register_clkdev(clk[IMX5_CLK_UART1_IPG_GATE], "ipg", "imx21-uart.0"); | ||
256 | clk_register_clkdev(clk[IMX5_CLK_UART2_PER_GATE], "per", "imx21-uart.1"); | ||
257 | clk_register_clkdev(clk[IMX5_CLK_UART2_IPG_GATE], "ipg", "imx21-uart.1"); | ||
258 | clk_register_clkdev(clk[IMX5_CLK_UART3_PER_GATE], "per", "imx21-uart.2"); | ||
259 | clk_register_clkdev(clk[IMX5_CLK_UART3_IPG_GATE], "ipg", "imx21-uart.2"); | ||
260 | clk_register_clkdev(clk[IMX5_CLK_UART4_PER_GATE], "per", "imx21-uart.3"); | ||
261 | clk_register_clkdev(clk[IMX5_CLK_UART4_IPG_GATE], "ipg", "imx21-uart.3"); | ||
262 | clk_register_clkdev(clk[IMX5_CLK_UART5_PER_GATE], "per", "imx21-uart.4"); | ||
263 | clk_register_clkdev(clk[IMX5_CLK_UART5_IPG_GATE], "ipg", "imx21-uart.4"); | ||
264 | clk_register_clkdev(clk[IMX5_CLK_ECSPI1_PER_GATE], "per", "imx51-ecspi.0"); | ||
265 | clk_register_clkdev(clk[IMX5_CLK_ECSPI1_IPG_GATE], "ipg", "imx51-ecspi.0"); | ||
266 | clk_register_clkdev(clk[IMX5_CLK_ECSPI2_PER_GATE], "per", "imx51-ecspi.1"); | ||
267 | clk_register_clkdev(clk[IMX5_CLK_ECSPI2_IPG_GATE], "ipg", "imx51-ecspi.1"); | ||
268 | clk_register_clkdev(clk[IMX5_CLK_CSPI_IPG_GATE], NULL, "imx35-cspi.2"); | ||
269 | clk_register_clkdev(clk[IMX5_CLK_I2C1_GATE], NULL, "imx21-i2c.0"); | ||
270 | clk_register_clkdev(clk[IMX5_CLK_I2C2_GATE], NULL, "imx21-i2c.1"); | ||
271 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_PER_GATE], "per", "mxc-ehci.0"); | ||
272 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ipg", "mxc-ehci.0"); | ||
273 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ahb", "mxc-ehci.0"); | ||
274 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_PER_GATE], "per", "mxc-ehci.1"); | ||
275 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ipg", "mxc-ehci.1"); | ||
276 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ahb", "mxc-ehci.1"); | ||
277 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_PER_GATE], "per", "mxc-ehci.2"); | ||
278 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ipg", "mxc-ehci.2"); | ||
279 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ahb", "mxc-ehci.2"); | ||
280 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_PER_GATE], "per", "imx-udc-mx51"); | ||
281 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ipg", "imx-udc-mx51"); | ||
282 | clk_register_clkdev(clk[IMX5_CLK_USBOH3_GATE], "ahb", "imx-udc-mx51"); | ||
283 | clk_register_clkdev(clk[IMX5_CLK_NFC_GATE], NULL, "imx51-nand"); | ||
284 | clk_register_clkdev(clk[IMX5_CLK_SSI1_IPG_GATE], NULL, "imx-ssi.0"); | ||
285 | clk_register_clkdev(clk[IMX5_CLK_SSI2_IPG_GATE], NULL, "imx-ssi.1"); | ||
286 | clk_register_clkdev(clk[IMX5_CLK_SSI3_IPG_GATE], NULL, "imx-ssi.2"); | ||
287 | clk_register_clkdev(clk[IMX5_CLK_SDMA_GATE], NULL, "imx35-sdma"); | ||
288 | clk_register_clkdev(clk[IMX5_CLK_CPU_PODF], NULL, "cpu0"); | 288 | clk_register_clkdev(clk[IMX5_CLK_CPU_PODF], NULL, "cpu0"); |
289 | clk_register_clkdev(clk[IMX5_CLK_IIM_GATE], "iim", NULL); | ||
290 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], NULL, "imx2-wdt.0"); | ||
291 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], NULL, "imx2-wdt.1"); | ||
292 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], NULL, "imx-keypad"); | ||
293 | clk_register_clkdev(clk[IMX5_CLK_IPU_DI1_GATE], "di1", "imx-tve.0"); | ||
294 | clk_register_clkdev(clk[IMX5_CLK_GPC_DVFS], "gpc_dvfs", NULL); | 289 | clk_register_clkdev(clk[IMX5_CLK_GPC_DVFS], "gpc_dvfs", NULL); |
295 | clk_register_clkdev(clk[IMX5_CLK_EPIT1_IPG_GATE], "ipg", "imx-epit.0"); | ||
296 | clk_register_clkdev(clk[IMX5_CLK_EPIT1_HF_GATE], "per", "imx-epit.0"); | ||
297 | clk_register_clkdev(clk[IMX5_CLK_EPIT2_IPG_GATE], "ipg", "imx-epit.1"); | ||
298 | clk_register_clkdev(clk[IMX5_CLK_EPIT2_HF_GATE], "per", "imx-epit.1"); | ||
299 | 290 | ||
300 | /* Set SDHC parents to be PLL2 */ | 291 | /* Set SDHC parents to be PLL2 */ |
301 | clk_set_parent(clk[IMX5_CLK_ESDHC_A_SEL], clk[IMX5_CLK_PLL2_SW]); | 292 | clk_set_parent(clk[IMX5_CLK_ESDHC_A_SEL], clk[IMX5_CLK_PLL2_SW]); |
@@ -322,12 +313,26 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil, | |||
322 | 313 | ||
323 | static void __init mx50_clocks_init(struct device_node *np) | 314 | static void __init mx50_clocks_init(struct device_node *np) |
324 | { | 315 | { |
316 | void __iomem *ccm_base; | ||
317 | void __iomem *pll_base; | ||
325 | unsigned long r; | 318 | unsigned long r; |
326 | int i; | ||
327 | 319 | ||
328 | clk[IMX5_CLK_PLL1_SW] = imx_clk_pllv2("pll1_sw", "osc", MX53_DPLL1_BASE); | 320 | pll_base = ioremap(MX53_DPLL1_BASE, SZ_16K); |
329 | clk[IMX5_CLK_PLL2_SW] = imx_clk_pllv2("pll2_sw", "osc", MX53_DPLL2_BASE); | 321 | WARN_ON(!pll_base); |
330 | clk[IMX5_CLK_PLL3_SW] = imx_clk_pllv2("pll3_sw", "osc", MX53_DPLL3_BASE); | 322 | clk[IMX5_CLK_PLL1_SW] = imx_clk_pllv2("pll1_sw", "osc", pll_base); |
323 | |||
324 | pll_base = ioremap(MX53_DPLL2_BASE, SZ_16K); | ||
325 | WARN_ON(!pll_base); | ||
326 | clk[IMX5_CLK_PLL2_SW] = imx_clk_pllv2("pll2_sw", "osc", pll_base); | ||
327 | |||
328 | pll_base = ioremap(MX53_DPLL3_BASE, SZ_16K); | ||
329 | WARN_ON(!pll_base); | ||
330 | clk[IMX5_CLK_PLL3_SW] = imx_clk_pllv2("pll3_sw", "osc", pll_base); | ||
331 | |||
332 | ccm_base = of_iomap(np, 0); | ||
333 | WARN_ON(!ccm_base); | ||
334 | |||
335 | mx5_clocks_common_init(ccm_base); | ||
331 | 336 | ||
332 | clk[IMX5_CLK_LP_APM] = imx_clk_mux("lp_apm", MXC_CCM_CCSR, 10, 1, | 337 | clk[IMX5_CLK_LP_APM] = imx_clk_mux("lp_apm", MXC_CCM_CCSR, 10, 1, |
333 | lp_apm_sel, ARRAY_SIZE(lp_apm_sel)); | 338 | lp_apm_sel, ARRAY_SIZE(lp_apm_sel)); |
@@ -349,17 +354,12 @@ static void __init mx50_clocks_init(struct device_node *np) | |||
349 | clk[IMX5_CLK_CKO2_PODF] = imx_clk_divider("cko2_podf", "cko2_sel", MXC_CCM_CCOSR, 21, 3); | 354 | clk[IMX5_CLK_CKO2_PODF] = imx_clk_divider("cko2_podf", "cko2_sel", MXC_CCM_CCOSR, 21, 3); |
350 | clk[IMX5_CLK_CKO2] = imx_clk_gate2("cko2", "cko2_podf", MXC_CCM_CCOSR, 24); | 355 | clk[IMX5_CLK_CKO2] = imx_clk_gate2("cko2", "cko2_podf", MXC_CCM_CCOSR, 24); |
351 | 356 | ||
352 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 357 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
353 | if (IS_ERR(clk[i])) | ||
354 | pr_err("i.MX50 clk %d: register failed with %ld\n", | ||
355 | i, PTR_ERR(clk[i])); | ||
356 | 358 | ||
357 | clk_data.clks = clk; | 359 | clk_data.clks = clk; |
358 | clk_data.clk_num = ARRAY_SIZE(clk); | 360 | clk_data.clk_num = ARRAY_SIZE(clk); |
359 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 361 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
360 | 362 | ||
361 | mx5_clocks_common_init(0, 0, 0, 0); | ||
362 | |||
363 | /* set SDHC root clock to 200MHZ*/ | 363 | /* set SDHC root clock to 200MHZ*/ |
364 | clk_set_rate(clk[IMX5_CLK_ESDHC_A_PODF], 200000000); | 364 | clk_set_rate(clk[IMX5_CLK_ESDHC_A_PODF], 200000000); |
365 | clk_set_rate(clk[IMX5_CLK_ESDHC_B_PODF], 200000000); | 365 | clk_set_rate(clk[IMX5_CLK_ESDHC_B_PODF], 200000000); |
@@ -370,21 +370,32 @@ static void __init mx50_clocks_init(struct device_node *np) | |||
370 | 370 | ||
371 | r = clk_round_rate(clk[IMX5_CLK_USBOH3_PER_GATE], 54000000); | 371 | r = clk_round_rate(clk[IMX5_CLK_USBOH3_PER_GATE], 54000000); |
372 | clk_set_rate(clk[IMX5_CLK_USBOH3_PER_GATE], r); | 372 | clk_set_rate(clk[IMX5_CLK_USBOH3_PER_GATE], r); |
373 | |||
374 | mxc_timer_init_dt(of_find_compatible_node(NULL, NULL, "fsl,imx50-gpt")); | ||
375 | } | 373 | } |
376 | CLK_OF_DECLARE(imx50_ccm, "fsl,imx50-ccm", mx50_clocks_init); | 374 | CLK_OF_DECLARE(imx50_ccm, "fsl,imx50-ccm", mx50_clocks_init); |
377 | 375 | ||
378 | int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | 376 | static void __init mx51_clocks_init(struct device_node *np) |
379 | unsigned long rate_ckih1, unsigned long rate_ckih2) | ||
380 | { | 377 | { |
381 | int i; | 378 | void __iomem *ccm_base; |
379 | void __iomem *pll_base; | ||
382 | u32 val; | 380 | u32 val; |
383 | struct device_node *np; | ||
384 | 381 | ||
385 | clk[IMX5_CLK_PLL1_SW] = imx_clk_pllv2("pll1_sw", "osc", MX51_DPLL1_BASE); | 382 | pll_base = ioremap(MX51_DPLL1_BASE, SZ_16K); |
386 | clk[IMX5_CLK_PLL2_SW] = imx_clk_pllv2("pll2_sw", "osc", MX51_DPLL2_BASE); | 383 | WARN_ON(!pll_base); |
387 | clk[IMX5_CLK_PLL3_SW] = imx_clk_pllv2("pll3_sw", "osc", MX51_DPLL3_BASE); | 384 | clk[IMX5_CLK_PLL1_SW] = imx_clk_pllv2("pll1_sw", "osc", pll_base); |
385 | |||
386 | pll_base = ioremap(MX51_DPLL2_BASE, SZ_16K); | ||
387 | WARN_ON(!pll_base); | ||
388 | clk[IMX5_CLK_PLL2_SW] = imx_clk_pllv2("pll2_sw", "osc", pll_base); | ||
389 | |||
390 | pll_base = ioremap(MX51_DPLL3_BASE, SZ_16K); | ||
391 | WARN_ON(!pll_base); | ||
392 | clk[IMX5_CLK_PLL3_SW] = imx_clk_pllv2("pll3_sw", "osc", pll_base); | ||
393 | |||
394 | ccm_base = of_iomap(np, 0); | ||
395 | WARN_ON(!ccm_base); | ||
396 | |||
397 | mx5_clocks_common_init(ccm_base); | ||
398 | |||
388 | clk[IMX5_CLK_LP_APM] = imx_clk_mux("lp_apm", MXC_CCM_CCSR, 9, 1, | 399 | clk[IMX5_CLK_LP_APM] = imx_clk_mux("lp_apm", MXC_CCM_CCSR, 9, 1, |
389 | lp_apm_sel, ARRAY_SIZE(lp_apm_sel)); | 400 | lp_apm_sel, ARRAY_SIZE(lp_apm_sel)); |
390 | clk[IMX5_CLK_IPU_DI0_SEL] = imx_clk_mux("ipu_di0_sel", MXC_CCM_CSCMR2, 26, 3, | 401 | clk[IMX5_CLK_IPU_DI0_SEL] = imx_clk_mux("ipu_di0_sel", MXC_CCM_CSCMR2, 26, 3, |
@@ -417,35 +428,12 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
417 | mx51_spdif1_com_sel, ARRAY_SIZE(mx51_spdif1_com_sel)); | 428 | mx51_spdif1_com_sel, ARRAY_SIZE(mx51_spdif1_com_sel)); |
418 | clk[IMX5_CLK_SPDIF1_GATE] = imx_clk_gate2("spdif1_gate", "spdif1_com_sel", MXC_CCM_CCGR5, 28); | 429 | clk[IMX5_CLK_SPDIF1_GATE] = imx_clk_gate2("spdif1_gate", "spdif1_com_sel", MXC_CCM_CCGR5, 28); |
419 | 430 | ||
420 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 431 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
421 | if (IS_ERR(clk[i])) | ||
422 | pr_err("i.MX51 clk %d: register failed with %ld\n", | ||
423 | i, PTR_ERR(clk[i])); | ||
424 | 432 | ||
425 | np = of_find_compatible_node(NULL, NULL, "fsl,imx51-ccm"); | ||
426 | clk_data.clks = clk; | 433 | clk_data.clks = clk; |
427 | clk_data.clk_num = ARRAY_SIZE(clk); | 434 | clk_data.clk_num = ARRAY_SIZE(clk); |
428 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 435 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
429 | 436 | ||
430 | mx5_clocks_common_init(rate_ckil, rate_osc, rate_ckih1, rate_ckih2); | ||
431 | |||
432 | clk_register_clkdev(clk[IMX5_CLK_HSI2C_GATE], NULL, "imx21-i2c.2"); | ||
433 | clk_register_clkdev(clk[IMX5_CLK_MX51_MIPI], "mipi_hsp", NULL); | ||
434 | clk_register_clkdev(clk[IMX5_CLK_FEC_GATE], NULL, "imx27-fec.0"); | ||
435 | clk_register_clkdev(clk[IMX5_CLK_USB_PHY_GATE], "phy", "mxc-ehci.0"); | ||
436 | clk_register_clkdev(clk[IMX5_CLK_ESDHC1_IPG_GATE], "ipg", "sdhci-esdhc-imx51.0"); | ||
437 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx51.0"); | ||
438 | clk_register_clkdev(clk[IMX5_CLK_ESDHC1_PER_GATE], "per", "sdhci-esdhc-imx51.0"); | ||
439 | clk_register_clkdev(clk[IMX5_CLK_ESDHC2_IPG_GATE], "ipg", "sdhci-esdhc-imx51.1"); | ||
440 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx51.1"); | ||
441 | clk_register_clkdev(clk[IMX5_CLK_ESDHC2_PER_GATE], "per", "sdhci-esdhc-imx51.1"); | ||
442 | clk_register_clkdev(clk[IMX5_CLK_ESDHC3_IPG_GATE], "ipg", "sdhci-esdhc-imx51.2"); | ||
443 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx51.2"); | ||
444 | clk_register_clkdev(clk[IMX5_CLK_ESDHC3_PER_GATE], "per", "sdhci-esdhc-imx51.2"); | ||
445 | clk_register_clkdev(clk[IMX5_CLK_ESDHC4_IPG_GATE], "ipg", "sdhci-esdhc-imx51.3"); | ||
446 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx51.3"); | ||
447 | clk_register_clkdev(clk[IMX5_CLK_ESDHC4_PER_GATE], "per", "sdhci-esdhc-imx51.3"); | ||
448 | |||
449 | /* set the usboh3 parent to pll2_sw */ | 437 | /* set the usboh3 parent to pll2_sw */ |
450 | clk_set_parent(clk[IMX5_CLK_USBOH3_SEL], clk[IMX5_CLK_PLL2_SW]); | 438 | clk_set_parent(clk[IMX5_CLK_USBOH3_SEL], clk[IMX5_CLK_PLL2_SW]); |
451 | 439 | ||
@@ -453,9 +441,6 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
453 | clk_set_rate(clk[IMX5_CLK_ESDHC_A_PODF], 166250000); | 441 | clk_set_rate(clk[IMX5_CLK_ESDHC_A_PODF], 166250000); |
454 | clk_set_rate(clk[IMX5_CLK_ESDHC_B_PODF], 166250000); | 442 | clk_set_rate(clk[IMX5_CLK_ESDHC_B_PODF], 166250000); |
455 | 443 | ||
456 | /* System timer */ | ||
457 | mxc_timer_init(MX51_IO_ADDRESS(MX51_GPT1_BASE_ADDR), MX51_INT_GPT); | ||
458 | |||
459 | clk_prepare_enable(clk[IMX5_CLK_IIM_GATE]); | 444 | clk_prepare_enable(clk[IMX5_CLK_IIM_GATE]); |
460 | imx_print_silicon_rev("i.MX51", mx51_revision()); | 445 | imx_print_silicon_rev("i.MX51", mx51_revision()); |
461 | clk_disable_unprepare(clk[IMX5_CLK_IIM_GATE]); | 446 | clk_disable_unprepare(clk[IMX5_CLK_IIM_GATE]); |
@@ -474,25 +459,35 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
474 | val = readl(MXC_CCM_CLPCR); | 459 | val = readl(MXC_CCM_CLPCR); |
475 | val |= 1 << 23; | 460 | val |= 1 << 23; |
476 | writel(val, MXC_CCM_CLPCR); | 461 | writel(val, MXC_CCM_CLPCR); |
477 | |||
478 | return 0; | ||
479 | } | ||
480 | |||
481 | static void __init mx51_clocks_init_dt(struct device_node *np) | ||
482 | { | ||
483 | mx51_clocks_init(0, 0, 0, 0); | ||
484 | } | 462 | } |
485 | CLK_OF_DECLARE(imx51_ccm, "fsl,imx51-ccm", mx51_clocks_init_dt); | 463 | CLK_OF_DECLARE(imx51_ccm, "fsl,imx51-ccm", mx51_clocks_init); |
486 | 464 | ||
487 | static void __init mx53_clocks_init(struct device_node *np) | 465 | static void __init mx53_clocks_init(struct device_node *np) |
488 | { | 466 | { |
489 | int i; | 467 | void __iomem *ccm_base; |
468 | void __iomem *pll_base; | ||
490 | unsigned long r; | 469 | unsigned long r; |
491 | 470 | ||
492 | clk[IMX5_CLK_PLL1_SW] = imx_clk_pllv2("pll1_sw", "osc", MX53_DPLL1_BASE); | 471 | pll_base = ioremap(MX53_DPLL1_BASE, SZ_16K); |
493 | clk[IMX5_CLK_PLL2_SW] = imx_clk_pllv2("pll2_sw", "osc", MX53_DPLL2_BASE); | 472 | WARN_ON(!pll_base); |
494 | clk[IMX5_CLK_PLL3_SW] = imx_clk_pllv2("pll3_sw", "osc", MX53_DPLL3_BASE); | 473 | clk[IMX5_CLK_PLL1_SW] = imx_clk_pllv2("pll1_sw", "osc", pll_base); |
495 | clk[IMX5_CLK_PLL4_SW] = imx_clk_pllv2("pll4_sw", "osc", MX53_DPLL4_BASE); | 474 | |
475 | pll_base = ioremap(MX53_DPLL2_BASE, SZ_16K); | ||
476 | WARN_ON(!pll_base); | ||
477 | clk[IMX5_CLK_PLL2_SW] = imx_clk_pllv2("pll2_sw", "osc", pll_base); | ||
478 | |||
479 | pll_base = ioremap(MX53_DPLL3_BASE, SZ_16K); | ||
480 | WARN_ON(!pll_base); | ||
481 | clk[IMX5_CLK_PLL3_SW] = imx_clk_pllv2("pll3_sw", "osc", pll_base); | ||
482 | |||
483 | pll_base = ioremap(MX53_DPLL4_BASE, SZ_16K); | ||
484 | WARN_ON(!pll_base); | ||
485 | clk[IMX5_CLK_PLL4_SW] = imx_clk_pllv2("pll4_sw", "osc", pll_base); | ||
486 | |||
487 | ccm_base = of_iomap(np, 0); | ||
488 | WARN_ON(!ccm_base); | ||
489 | |||
490 | mx5_clocks_common_init(ccm_base); | ||
496 | 491 | ||
497 | clk[IMX5_CLK_LP_APM] = imx_clk_mux("lp_apm", MXC_CCM_CCSR, 10, 1, | 492 | clk[IMX5_CLK_LP_APM] = imx_clk_mux("lp_apm", MXC_CCM_CCSR, 10, 1, |
498 | lp_apm_sel, ARRAY_SIZE(lp_apm_sel)); | 493 | lp_apm_sel, ARRAY_SIZE(lp_apm_sel)); |
@@ -543,33 +538,12 @@ static void __init mx53_clocks_init(struct device_node *np) | |||
543 | clk[IMX5_CLK_SPDIF_XTAL_SEL] = imx_clk_mux("spdif_xtal_sel", MXC_CCM_CSCMR1, 2, 2, | 538 | clk[IMX5_CLK_SPDIF_XTAL_SEL] = imx_clk_mux("spdif_xtal_sel", MXC_CCM_CSCMR1, 2, 2, |
544 | mx53_spdif_xtal_sel, ARRAY_SIZE(mx53_spdif_xtal_sel)); | 539 | mx53_spdif_xtal_sel, ARRAY_SIZE(mx53_spdif_xtal_sel)); |
545 | 540 | ||
546 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 541 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
547 | if (IS_ERR(clk[i])) | ||
548 | pr_err("i.MX53 clk %d: register failed with %ld\n", | ||
549 | i, PTR_ERR(clk[i])); | ||
550 | 542 | ||
551 | clk_data.clks = clk; | 543 | clk_data.clks = clk; |
552 | clk_data.clk_num = ARRAY_SIZE(clk); | 544 | clk_data.clk_num = ARRAY_SIZE(clk); |
553 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 545 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
554 | 546 | ||
555 | mx5_clocks_common_init(0, 0, 0, 0); | ||
556 | |||
557 | clk_register_clkdev(clk[IMX5_CLK_I2C3_GATE], NULL, "imx21-i2c.2"); | ||
558 | clk_register_clkdev(clk[IMX5_CLK_FEC_GATE], NULL, "imx25-fec.0"); | ||
559 | clk_register_clkdev(clk[IMX5_CLK_USB_PHY1_GATE], "usb_phy1", "mxc-ehci.0"); | ||
560 | clk_register_clkdev(clk[IMX5_CLK_ESDHC1_IPG_GATE], "ipg", "sdhci-esdhc-imx53.0"); | ||
561 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx53.0"); | ||
562 | clk_register_clkdev(clk[IMX5_CLK_ESDHC1_PER_GATE], "per", "sdhci-esdhc-imx53.0"); | ||
563 | clk_register_clkdev(clk[IMX5_CLK_ESDHC2_IPG_GATE], "ipg", "sdhci-esdhc-imx53.1"); | ||
564 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx53.1"); | ||
565 | clk_register_clkdev(clk[IMX5_CLK_ESDHC2_PER_GATE], "per", "sdhci-esdhc-imx53.1"); | ||
566 | clk_register_clkdev(clk[IMX5_CLK_ESDHC3_IPG_GATE], "ipg", "sdhci-esdhc-imx53.2"); | ||
567 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx53.2"); | ||
568 | clk_register_clkdev(clk[IMX5_CLK_ESDHC3_PER_GATE], "per", "sdhci-esdhc-imx53.2"); | ||
569 | clk_register_clkdev(clk[IMX5_CLK_ESDHC4_IPG_GATE], "ipg", "sdhci-esdhc-imx53.3"); | ||
570 | clk_register_clkdev(clk[IMX5_CLK_DUMMY], "ahb", "sdhci-esdhc-imx53.3"); | ||
571 | clk_register_clkdev(clk[IMX5_CLK_ESDHC4_PER_GATE], "per", "sdhci-esdhc-imx53.3"); | ||
572 | |||
573 | /* set SDHC root clock to 200MHZ*/ | 547 | /* set SDHC root clock to 200MHZ*/ |
574 | clk_set_rate(clk[IMX5_CLK_ESDHC_A_PODF], 200000000); | 548 | clk_set_rate(clk[IMX5_CLK_ESDHC_A_PODF], 200000000); |
575 | clk_set_rate(clk[IMX5_CLK_ESDHC_B_PODF], 200000000); | 549 | clk_set_rate(clk[IMX5_CLK_ESDHC_B_PODF], 200000000); |
@@ -583,7 +557,5 @@ static void __init mx53_clocks_init(struct device_node *np) | |||
583 | 557 | ||
584 | r = clk_round_rate(clk[IMX5_CLK_USBOH3_PER_GATE], 54000000); | 558 | r = clk_round_rate(clk[IMX5_CLK_USBOH3_PER_GATE], 54000000); |
585 | clk_set_rate(clk[IMX5_CLK_USBOH3_PER_GATE], r); | 559 | clk_set_rate(clk[IMX5_CLK_USBOH3_PER_GATE], r); |
586 | |||
587 | mxc_timer_init_dt(of_find_compatible_node(NULL, NULL, "fsl,imx53-gpt")); | ||
588 | } | 560 | } |
589 | CLK_OF_DECLARE(imx53_ccm, "fsl,imx53-ccm", mx53_clocks_init); | 561 | CLK_OF_DECLARE(imx53_ccm, "fsl,imx53-ccm", mx53_clocks_init); |
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c index 8e795dea02ec..6cceb7765c14 100644 --- a/arch/arm/mach-imx/clk-imx6q.c +++ b/arch/arm/mach-imx/clk-imx6q.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/of.h> | 19 | #include <linux/of.h> |
20 | #include <linux/of_address.h> | 20 | #include <linux/of_address.h> |
21 | #include <linux/of_irq.h> | 21 | #include <linux/of_irq.h> |
22 | #include <dt-bindings/clock/imx6qdl-clock.h> | ||
22 | 23 | ||
23 | #include "clk.h" | 24 | #include "clk.h" |
24 | #include "common.h" | 25 | #include "common.h" |
@@ -70,51 +71,16 @@ static const char *cko_sels[] = { "cko1", "cko2", }; | |||
70 | static const char *lvds_sels[] = { | 71 | static const char *lvds_sels[] = { |
71 | "dummy", "dummy", "dummy", "dummy", "dummy", "dummy", | 72 | "dummy", "dummy", "dummy", "dummy", "dummy", "dummy", |
72 | "pll4_audio", "pll5_video", "pll8_mlb", "enet_ref", | 73 | "pll4_audio", "pll5_video", "pll8_mlb", "enet_ref", |
73 | "pcie_ref", "sata_ref", | 74 | "pcie_ref_125m", "sata_ref_100m", |
74 | }; | 75 | }; |
75 | 76 | ||
76 | enum mx6q_clks { | 77 | static struct clk *clk[IMX6QDL_CLK_END]; |
77 | dummy, ckil, ckih, osc, pll2_pfd0_352m, pll2_pfd1_594m, pll2_pfd2_396m, | ||
78 | pll3_pfd0_720m, pll3_pfd1_540m, pll3_pfd2_508m, pll3_pfd3_454m, | ||
79 | pll2_198m, pll3_120m, pll3_80m, pll3_60m, twd, step, pll1_sw, | ||
80 | periph_pre, periph2_pre, periph_clk2_sel, periph2_clk2_sel, axi_sel, | ||
81 | esai_sel, asrc_sel, spdif_sel, gpu2d_axi, gpu3d_axi, gpu2d_core_sel, | ||
82 | gpu3d_core_sel, gpu3d_shader_sel, ipu1_sel, ipu2_sel, ldb_di0_sel, | ||
83 | ldb_di1_sel, ipu1_di0_pre_sel, ipu1_di1_pre_sel, ipu2_di0_pre_sel, | ||
84 | ipu2_di1_pre_sel, ipu1_di0_sel, ipu1_di1_sel, ipu2_di0_sel, | ||
85 | ipu2_di1_sel, hsi_tx_sel, pcie_axi_sel, ssi1_sel, ssi2_sel, ssi3_sel, | ||
86 | usdhc1_sel, usdhc2_sel, usdhc3_sel, usdhc4_sel, enfc_sel, emi_sel, | ||
87 | emi_slow_sel, vdo_axi_sel, vpu_axi_sel, cko1_sel, periph, periph2, | ||
88 | periph_clk2, periph2_clk2, ipg, ipg_per, esai_pred, esai_podf, | ||
89 | asrc_pred, asrc_podf, spdif_pred, spdif_podf, can_root, ecspi_root, | ||
90 | gpu2d_core_podf, gpu3d_core_podf, gpu3d_shader, ipu1_podf, ipu2_podf, | ||
91 | ldb_di0_podf, ldb_di1_podf, ipu1_di0_pre, ipu1_di1_pre, ipu2_di0_pre, | ||
92 | ipu2_di1_pre, hsi_tx_podf, ssi1_pred, ssi1_podf, ssi2_pred, ssi2_podf, | ||
93 | ssi3_pred, ssi3_podf, uart_serial_podf, usdhc1_podf, usdhc2_podf, | ||
94 | usdhc3_podf, usdhc4_podf, enfc_pred, enfc_podf, emi_podf, | ||
95 | emi_slow_podf, vpu_axi_podf, cko1_podf, axi, mmdc_ch0_axi_podf, | ||
96 | mmdc_ch1_axi_podf, arm, ahb, apbh_dma, asrc, can1_ipg, can1_serial, | ||
97 | can2_ipg, can2_serial, ecspi1, ecspi2, ecspi3, ecspi4, ecspi5, enet, | ||
98 | esai, gpt_ipg, gpt_ipg_per, gpu2d_core, gpu3d_core, hdmi_iahb, | ||
99 | hdmi_isfr, i2c1, i2c2, i2c3, iim, enfc, ipu1, ipu1_di0, ipu1_di1, ipu2, | ||
100 | ipu2_di0, ldb_di0, ldb_di1, ipu2_di1, hsi_tx, mlb, mmdc_ch0_axi, | ||
101 | mmdc_ch1_axi, ocram, openvg_axi, pcie_axi, pwm1, pwm2, pwm3, pwm4, per1_bch, | ||
102 | gpmi_bch_apb, gpmi_bch, gpmi_io, gpmi_apb, sata, sdma, spba, ssi1, | ||
103 | ssi2, ssi3, uart_ipg, uart_serial, usboh3, usdhc1, usdhc2, usdhc3, | ||
104 | usdhc4, vdo_axi, vpu_axi, cko1, pll1_sys, pll2_bus, pll3_usb_otg, | ||
105 | pll4_audio, pll5_video, pll8_mlb, pll7_usb_host, pll6_enet, ssi1_ipg, | ||
106 | ssi2_ipg, ssi3_ipg, rom, usbphy1, usbphy2, ldb_di0_div_3_5, ldb_di1_div_3_5, | ||
107 | sata_ref, sata_ref_100m, pcie_ref, pcie_ref_125m, enet_ref, usbphy1_gate, | ||
108 | usbphy2_gate, pll4_post_div, pll5_post_div, pll5_video_div, eim_slow, | ||
109 | spdif, cko2_sel, cko2_podf, cko2, cko, vdoa, pll4_audio_div, | ||
110 | lvds1_sel, lvds2_sel, lvds1_gate, lvds2_gate, esai_ahb, clk_max | ||
111 | }; | ||
112 | |||
113 | static struct clk *clk[clk_max]; | ||
114 | static struct clk_onecell_data clk_data; | 78 | static struct clk_onecell_data clk_data; |
115 | 79 | ||
116 | static enum mx6q_clks const clks_init_on[] __initconst = { | 80 | static unsigned int const clks_init_on[] __initconst = { |
117 | mmdc_ch0_axi, rom, arm, | 81 | IMX6QDL_CLK_MMDC_CH0_AXI, |
82 | IMX6QDL_CLK_ROM, | ||
83 | IMX6QDL_CLK_ARM, | ||
118 | }; | 84 | }; |
119 | 85 | ||
120 | static struct clk_div_table clk_enet_ref_table[] = { | 86 | static struct clk_div_table clk_enet_ref_table[] = { |
@@ -149,10 +115,10 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | |||
149 | int i; | 115 | int i; |
150 | int ret; | 116 | int ret; |
151 | 117 | ||
152 | clk[dummy] = imx_clk_fixed("dummy", 0); | 118 | clk[IMX6QDL_CLK_DUMMY] = imx_clk_fixed("dummy", 0); |
153 | clk[ckil] = imx_obtain_fixed_clock("ckil", 0); | 119 | clk[IMX6QDL_CLK_CKIL] = imx_obtain_fixed_clock("ckil", 0); |
154 | clk[ckih] = imx_obtain_fixed_clock("ckih1", 0); | 120 | clk[IMX6QDL_CLK_CKIH] = imx_obtain_fixed_clock("ckih1", 0); |
155 | clk[osc] = imx_obtain_fixed_clock("osc", 0); | 121 | clk[IMX6QDL_CLK_OSC] = imx_obtain_fixed_clock("osc", 0); |
156 | 122 | ||
157 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop"); | 123 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop"); |
158 | base = of_iomap(np, 0); | 124 | base = of_iomap(np, 0); |
@@ -166,14 +132,14 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | |||
166 | video_div_table[2].div = 1; | 132 | video_div_table[2].div = 1; |
167 | }; | 133 | }; |
168 | 134 | ||
169 | /* type name parent_name base div_mask */ | 135 | /* type name parent_name base div_mask */ |
170 | clk[pll1_sys] = imx_clk_pllv3(IMX_PLLV3_SYS, "pll1_sys", "osc", base, 0x7f); | 136 | clk[IMX6QDL_CLK_PLL1_SYS] = imx_clk_pllv3(IMX_PLLV3_SYS, "pll1_sys", "osc", base, 0x7f); |
171 | clk[pll2_bus] = imx_clk_pllv3(IMX_PLLV3_GENERIC, "pll2_bus", "osc", base + 0x30, 0x1); | 137 | clk[IMX6QDL_CLK_PLL2_BUS] = imx_clk_pllv3(IMX_PLLV3_GENERIC, "pll2_bus", "osc", base + 0x30, 0x1); |
172 | clk[pll3_usb_otg] = imx_clk_pllv3(IMX_PLLV3_USB, "pll3_usb_otg", "osc", base + 0x10, 0x3); | 138 | clk[IMX6QDL_CLK_PLL3_USB_OTG] = imx_clk_pllv3(IMX_PLLV3_USB, "pll3_usb_otg", "osc", base + 0x10, 0x3); |
173 | clk[pll4_audio] = imx_clk_pllv3(IMX_PLLV3_AV, "pll4_audio", "osc", base + 0x70, 0x7f); | 139 | clk[IMX6QDL_CLK_PLL4_AUDIO] = imx_clk_pllv3(IMX_PLLV3_AV, "pll4_audio", "osc", base + 0x70, 0x7f); |
174 | clk[pll5_video] = imx_clk_pllv3(IMX_PLLV3_AV, "pll5_video", "osc", base + 0xa0, 0x7f); | 140 | clk[IMX6QDL_CLK_PLL5_VIDEO] = imx_clk_pllv3(IMX_PLLV3_AV, "pll5_video", "osc", base + 0xa0, 0x7f); |
175 | clk[pll6_enet] = imx_clk_pllv3(IMX_PLLV3_ENET, "pll6_enet", "osc", base + 0xe0, 0x3); | 141 | clk[IMX6QDL_CLK_PLL6_ENET] = imx_clk_pllv3(IMX_PLLV3_ENET, "pll6_enet", "osc", base + 0xe0, 0x3); |
176 | clk[pll7_usb_host] = imx_clk_pllv3(IMX_PLLV3_USB, "pll7_usb_host","osc", base + 0x20, 0x3); | 142 | clk[IMX6QDL_CLK_PLL7_USB_HOST] = imx_clk_pllv3(IMX_PLLV3_USB, "pll7_usb_host","osc", base + 0x20, 0x3); |
177 | 143 | ||
178 | /* | 144 | /* |
179 | * Bit 20 is the reserved and read-only bit, we do this only for: | 145 | * Bit 20 is the reserved and read-only bit, we do this only for: |
@@ -181,28 +147,28 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | |||
181 | * - Keep refcount when do usbphy clk_enable/disable, in that case, | 147 | * - Keep refcount when do usbphy clk_enable/disable, in that case, |
182 | * the clk framework may need to enable/disable usbphy's parent | 148 | * the clk framework may need to enable/disable usbphy's parent |
183 | */ | 149 | */ |
184 | clk[usbphy1] = imx_clk_gate("usbphy1", "pll3_usb_otg", base + 0x10, 20); | 150 | clk[IMX6QDL_CLK_USBPHY1] = imx_clk_gate("usbphy1", "pll3_usb_otg", base + 0x10, 20); |
185 | clk[usbphy2] = imx_clk_gate("usbphy2", "pll7_usb_host", base + 0x20, 20); | 151 | clk[IMX6QDL_CLK_USBPHY2] = imx_clk_gate("usbphy2", "pll7_usb_host", base + 0x20, 20); |
186 | 152 | ||
187 | /* | 153 | /* |
188 | * usbphy*_gate needs to be on after system boots up, and software | 154 | * usbphy*_gate needs to be on after system boots up, and software |
189 | * never needs to control it anymore. | 155 | * never needs to control it anymore. |
190 | */ | 156 | */ |
191 | clk[usbphy1_gate] = imx_clk_gate("usbphy1_gate", "dummy", base + 0x10, 6); | 157 | clk[IMX6QDL_CLK_USBPHY1_GATE] = imx_clk_gate("usbphy1_gate", "dummy", base + 0x10, 6); |
192 | clk[usbphy2_gate] = imx_clk_gate("usbphy2_gate", "dummy", base + 0x20, 6); | 158 | clk[IMX6QDL_CLK_USBPHY2_GATE] = imx_clk_gate("usbphy2_gate", "dummy", base + 0x20, 6); |
193 | 159 | ||
194 | clk[sata_ref] = imx_clk_fixed_factor("sata_ref", "pll6_enet", 1, 5); | 160 | clk[IMX6QDL_CLK_SATA_REF] = imx_clk_fixed_factor("sata_ref", "pll6_enet", 1, 5); |
195 | clk[pcie_ref] = imx_clk_fixed_factor("pcie_ref", "pll6_enet", 1, 4); | 161 | clk[IMX6QDL_CLK_PCIE_REF] = imx_clk_fixed_factor("pcie_ref", "pll6_enet", 1, 4); |
196 | 162 | ||
197 | clk[sata_ref_100m] = imx_clk_gate("sata_ref_100m", "sata_ref", base + 0xe0, 20); | 163 | clk[IMX6QDL_CLK_SATA_REF_100M] = imx_clk_gate("sata_ref_100m", "sata_ref", base + 0xe0, 20); |
198 | clk[pcie_ref_125m] = imx_clk_gate("pcie_ref_125m", "pcie_ref", base + 0xe0, 19); | 164 | clk[IMX6QDL_CLK_PCIE_REF_125M] = imx_clk_gate("pcie_ref_125m", "pcie_ref", base + 0xe0, 19); |
199 | 165 | ||
200 | clk[enet_ref] = clk_register_divider_table(NULL, "enet_ref", "pll6_enet", 0, | 166 | clk[IMX6QDL_CLK_ENET_REF] = clk_register_divider_table(NULL, "enet_ref", "pll6_enet", 0, |
201 | base + 0xe0, 0, 2, 0, clk_enet_ref_table, | 167 | base + 0xe0, 0, 2, 0, clk_enet_ref_table, |
202 | &imx_ccm_lock); | 168 | &imx_ccm_lock); |
203 | 169 | ||
204 | clk[lvds1_sel] = imx_clk_mux("lvds1_sel", base + 0x160, 0, 5, lvds_sels, ARRAY_SIZE(lvds_sels)); | 170 | clk[IMX6QDL_CLK_LVDS1_SEL] = imx_clk_mux("lvds1_sel", base + 0x160, 0, 5, lvds_sels, ARRAY_SIZE(lvds_sels)); |
205 | clk[lvds2_sel] = imx_clk_mux("lvds2_sel", base + 0x160, 5, 5, lvds_sels, ARRAY_SIZE(lvds_sels)); | 171 | clk[IMX6QDL_CLK_LVDS2_SEL] = imx_clk_mux("lvds2_sel", base + 0x160, 5, 5, lvds_sels, ARRAY_SIZE(lvds_sels)); |
206 | 172 | ||
207 | /* | 173 | /* |
208 | * lvds1_gate and lvds2_gate are pseudo-gates. Both can be | 174 | * lvds1_gate and lvds2_gate are pseudo-gates. Both can be |
@@ -210,29 +176,29 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | |||
210 | * the "output_enable" bit as a gate, even though it's really just | 176 | * the "output_enable" bit as a gate, even though it's really just |
211 | * enabling clock output. | 177 | * enabling clock output. |
212 | */ | 178 | */ |
213 | clk[lvds1_gate] = imx_clk_gate("lvds1_gate", "lvds1_sel", base + 0x160, 10); | 179 | clk[IMX6QDL_CLK_LVDS1_GATE] = imx_clk_gate("lvds1_gate", "lvds1_sel", base + 0x160, 10); |
214 | clk[lvds2_gate] = imx_clk_gate("lvds2_gate", "lvds2_sel", base + 0x160, 11); | 180 | clk[IMX6QDL_CLK_LVDS2_GATE] = imx_clk_gate("lvds2_gate", "lvds2_sel", base + 0x160, 11); |
215 | 181 | ||
216 | /* name parent_name reg idx */ | 182 | /* name parent_name reg idx */ |
217 | clk[pll2_pfd0_352m] = imx_clk_pfd("pll2_pfd0_352m", "pll2_bus", base + 0x100, 0); | 183 | clk[IMX6QDL_CLK_PLL2_PFD0_352M] = imx_clk_pfd("pll2_pfd0_352m", "pll2_bus", base + 0x100, 0); |
218 | clk[pll2_pfd1_594m] = imx_clk_pfd("pll2_pfd1_594m", "pll2_bus", base + 0x100, 1); | 184 | clk[IMX6QDL_CLK_PLL2_PFD1_594M] = imx_clk_pfd("pll2_pfd1_594m", "pll2_bus", base + 0x100, 1); |
219 | clk[pll2_pfd2_396m] = imx_clk_pfd("pll2_pfd2_396m", "pll2_bus", base + 0x100, 2); | 185 | clk[IMX6QDL_CLK_PLL2_PFD2_396M] = imx_clk_pfd("pll2_pfd2_396m", "pll2_bus", base + 0x100, 2); |
220 | clk[pll3_pfd0_720m] = imx_clk_pfd("pll3_pfd0_720m", "pll3_usb_otg", base + 0xf0, 0); | 186 | clk[IMX6QDL_CLK_PLL3_PFD0_720M] = imx_clk_pfd("pll3_pfd0_720m", "pll3_usb_otg", base + 0xf0, 0); |
221 | clk[pll3_pfd1_540m] = imx_clk_pfd("pll3_pfd1_540m", "pll3_usb_otg", base + 0xf0, 1); | 187 | clk[IMX6QDL_CLK_PLL3_PFD1_540M] = imx_clk_pfd("pll3_pfd1_540m", "pll3_usb_otg", base + 0xf0, 1); |
222 | clk[pll3_pfd2_508m] = imx_clk_pfd("pll3_pfd2_508m", "pll3_usb_otg", base + 0xf0, 2); | 188 | clk[IMX6QDL_CLK_PLL3_PFD2_508M] = imx_clk_pfd("pll3_pfd2_508m", "pll3_usb_otg", base + 0xf0, 2); |
223 | clk[pll3_pfd3_454m] = imx_clk_pfd("pll3_pfd3_454m", "pll3_usb_otg", base + 0xf0, 3); | 189 | clk[IMX6QDL_CLK_PLL3_PFD3_454M] = imx_clk_pfd("pll3_pfd3_454m", "pll3_usb_otg", base + 0xf0, 3); |
224 | 190 | ||
225 | /* name parent_name mult div */ | 191 | /* name parent_name mult div */ |
226 | clk[pll2_198m] = imx_clk_fixed_factor("pll2_198m", "pll2_pfd2_396m", 1, 2); | 192 | clk[IMX6QDL_CLK_PLL2_198M] = imx_clk_fixed_factor("pll2_198m", "pll2_pfd2_396m", 1, 2); |
227 | clk[pll3_120m] = imx_clk_fixed_factor("pll3_120m", "pll3_usb_otg", 1, 4); | 193 | clk[IMX6QDL_CLK_PLL3_120M] = imx_clk_fixed_factor("pll3_120m", "pll3_usb_otg", 1, 4); |
228 | clk[pll3_80m] = imx_clk_fixed_factor("pll3_80m", "pll3_usb_otg", 1, 6); | 194 | clk[IMX6QDL_CLK_PLL3_80M] = imx_clk_fixed_factor("pll3_80m", "pll3_usb_otg", 1, 6); |
229 | clk[pll3_60m] = imx_clk_fixed_factor("pll3_60m", "pll3_usb_otg", 1, 8); | 195 | clk[IMX6QDL_CLK_PLL3_60M] = imx_clk_fixed_factor("pll3_60m", "pll3_usb_otg", 1, 8); |
230 | clk[twd] = imx_clk_fixed_factor("twd", "arm", 1, 2); | 196 | clk[IMX6QDL_CLK_TWD] = imx_clk_fixed_factor("twd", "arm", 1, 2); |
231 | 197 | ||
232 | clk[pll4_post_div] = clk_register_divider_table(NULL, "pll4_post_div", "pll4_audio", CLK_SET_RATE_PARENT, base + 0x70, 19, 2, 0, post_div_table, &imx_ccm_lock); | 198 | clk[IMX6QDL_CLK_PLL4_POST_DIV] = clk_register_divider_table(NULL, "pll4_post_div", "pll4_audio", CLK_SET_RATE_PARENT, base + 0x70, 19, 2, 0, post_div_table, &imx_ccm_lock); |
233 | clk[pll4_audio_div] = clk_register_divider(NULL, "pll4_audio_div", "pll4_post_div", CLK_SET_RATE_PARENT, base + 0x170, 15, 1, 0, &imx_ccm_lock); | 199 | clk[IMX6QDL_CLK_PLL4_AUDIO_DIV] = clk_register_divider(NULL, "pll4_audio_div", "pll4_post_div", CLK_SET_RATE_PARENT, base + 0x170, 15, 1, 0, &imx_ccm_lock); |
234 | clk[pll5_post_div] = clk_register_divider_table(NULL, "pll5_post_div", "pll5_video", CLK_SET_RATE_PARENT, base + 0xa0, 19, 2, 0, post_div_table, &imx_ccm_lock); | 200 | clk[IMX6QDL_CLK_PLL5_POST_DIV] = clk_register_divider_table(NULL, "pll5_post_div", "pll5_video", CLK_SET_RATE_PARENT, base + 0xa0, 19, 2, 0, post_div_table, &imx_ccm_lock); |
235 | clk[pll5_video_div] = clk_register_divider_table(NULL, "pll5_video_div", "pll5_post_div", CLK_SET_RATE_PARENT, base + 0x170, 30, 2, 0, video_div_table, &imx_ccm_lock); | 201 | clk[IMX6QDL_CLK_PLL5_VIDEO_DIV] = clk_register_divider_table(NULL, "pll5_video_div", "pll5_post_div", CLK_SET_RATE_PARENT, base + 0x170, 30, 2, 0, video_div_table, &imx_ccm_lock); |
236 | 202 | ||
237 | np = ccm_node; | 203 | np = ccm_node; |
238 | base = of_iomap(np, 0); | 204 | base = of_iomap(np, 0); |
@@ -240,262 +206,254 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | |||
240 | 206 | ||
241 | imx6q_pm_set_ccm_base(base); | 207 | imx6q_pm_set_ccm_base(base); |
242 | 208 | ||
243 | /* name reg shift width parent_names num_parents */ | 209 | /* name reg shift width parent_names num_parents */ |
244 | clk[step] = imx_clk_mux("step", base + 0xc, 8, 1, step_sels, ARRAY_SIZE(step_sels)); | 210 | clk[IMX6QDL_CLK_STEP] = imx_clk_mux("step", base + 0xc, 8, 1, step_sels, ARRAY_SIZE(step_sels)); |
245 | clk[pll1_sw] = imx_clk_mux("pll1_sw", base + 0xc, 2, 1, pll1_sw_sels, ARRAY_SIZE(pll1_sw_sels)); | 211 | clk[IMX6QDL_CLK_PLL1_SW] = imx_clk_mux("pll1_sw", base + 0xc, 2, 1, pll1_sw_sels, ARRAY_SIZE(pll1_sw_sels)); |
246 | clk[periph_pre] = imx_clk_mux("periph_pre", base + 0x18, 18, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels)); | 212 | clk[IMX6QDL_CLK_PERIPH_PRE] = imx_clk_mux("periph_pre", base + 0x18, 18, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels)); |
247 | clk[periph2_pre] = imx_clk_mux("periph2_pre", base + 0x18, 21, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels)); | 213 | clk[IMX6QDL_CLK_PERIPH2_PRE] = imx_clk_mux("periph2_pre", base + 0x18, 21, 2, periph_pre_sels, ARRAY_SIZE(periph_pre_sels)); |
248 | clk[periph_clk2_sel] = imx_clk_mux("periph_clk2_sel", base + 0x18, 12, 2, periph_clk2_sels, ARRAY_SIZE(periph_clk2_sels)); | 214 | clk[IMX6QDL_CLK_PERIPH_CLK2_SEL] = imx_clk_mux("periph_clk2_sel", base + 0x18, 12, 2, periph_clk2_sels, ARRAY_SIZE(periph_clk2_sels)); |
249 | clk[periph2_clk2_sel] = imx_clk_mux("periph2_clk2_sel", base + 0x18, 20, 1, periph2_clk2_sels, ARRAY_SIZE(periph2_clk2_sels)); | 215 | clk[IMX6QDL_CLK_PERIPH2_CLK2_SEL] = imx_clk_mux("periph2_clk2_sel", base + 0x18, 20, 1, periph2_clk2_sels, ARRAY_SIZE(periph2_clk2_sels)); |
250 | clk[axi_sel] = imx_clk_mux("axi_sel", base + 0x14, 6, 2, axi_sels, ARRAY_SIZE(axi_sels)); | 216 | clk[IMX6QDL_CLK_AXI_SEL] = imx_clk_mux("axi_sel", base + 0x14, 6, 2, axi_sels, ARRAY_SIZE(axi_sels)); |
251 | clk[esai_sel] = imx_clk_mux("esai_sel", base + 0x20, 19, 2, audio_sels, ARRAY_SIZE(audio_sels)); | 217 | clk[IMX6QDL_CLK_ESAI_SEL] = imx_clk_mux("esai_sel", base + 0x20, 19, 2, audio_sels, ARRAY_SIZE(audio_sels)); |
252 | clk[asrc_sel] = imx_clk_mux("asrc_sel", base + 0x30, 7, 2, audio_sels, ARRAY_SIZE(audio_sels)); | 218 | clk[IMX6QDL_CLK_ASRC_SEL] = imx_clk_mux("asrc_sel", base + 0x30, 7, 2, audio_sels, ARRAY_SIZE(audio_sels)); |
253 | clk[spdif_sel] = imx_clk_mux("spdif_sel", base + 0x30, 20, 2, audio_sels, ARRAY_SIZE(audio_sels)); | 219 | clk[IMX6QDL_CLK_SPDIF_SEL] = imx_clk_mux("spdif_sel", base + 0x30, 20, 2, audio_sels, ARRAY_SIZE(audio_sels)); |
254 | clk[gpu2d_axi] = imx_clk_mux("gpu2d_axi", base + 0x18, 0, 1, gpu_axi_sels, ARRAY_SIZE(gpu_axi_sels)); | 220 | clk[IMX6QDL_CLK_GPU2D_AXI] = imx_clk_mux("gpu2d_axi", base + 0x18, 0, 1, gpu_axi_sels, ARRAY_SIZE(gpu_axi_sels)); |
255 | clk[gpu3d_axi] = imx_clk_mux("gpu3d_axi", base + 0x18, 1, 1, gpu_axi_sels, ARRAY_SIZE(gpu_axi_sels)); | 221 | clk[IMX6QDL_CLK_GPU3D_AXI] = imx_clk_mux("gpu3d_axi", base + 0x18, 1, 1, gpu_axi_sels, ARRAY_SIZE(gpu_axi_sels)); |
256 | clk[gpu2d_core_sel] = imx_clk_mux("gpu2d_core_sel", base + 0x18, 16, 2, gpu2d_core_sels, ARRAY_SIZE(gpu2d_core_sels)); | 222 | clk[IMX6QDL_CLK_GPU2D_CORE_SEL] = imx_clk_mux("gpu2d_core_sel", base + 0x18, 16, 2, gpu2d_core_sels, ARRAY_SIZE(gpu2d_core_sels)); |
257 | clk[gpu3d_core_sel] = imx_clk_mux("gpu3d_core_sel", base + 0x18, 4, 2, gpu3d_core_sels, ARRAY_SIZE(gpu3d_core_sels)); | 223 | clk[IMX6QDL_CLK_GPU3D_CORE_SEL] = imx_clk_mux("gpu3d_core_sel", base + 0x18, 4, 2, gpu3d_core_sels, ARRAY_SIZE(gpu3d_core_sels)); |
258 | clk[gpu3d_shader_sel] = imx_clk_mux("gpu3d_shader_sel", base + 0x18, 8, 2, gpu3d_shader_sels, ARRAY_SIZE(gpu3d_shader_sels)); | 224 | clk[IMX6QDL_CLK_GPU3D_SHADER_SEL] = imx_clk_mux("gpu3d_shader_sel", base + 0x18, 8, 2, gpu3d_shader_sels, ARRAY_SIZE(gpu3d_shader_sels)); |
259 | clk[ipu1_sel] = imx_clk_mux("ipu1_sel", base + 0x3c, 9, 2, ipu_sels, ARRAY_SIZE(ipu_sels)); | 225 | clk[IMX6QDL_CLK_IPU1_SEL] = imx_clk_mux("ipu1_sel", base + 0x3c, 9, 2, ipu_sels, ARRAY_SIZE(ipu_sels)); |
260 | clk[ipu2_sel] = imx_clk_mux("ipu2_sel", base + 0x3c, 14, 2, ipu_sels, ARRAY_SIZE(ipu_sels)); | 226 | clk[IMX6QDL_CLK_IPU2_SEL] = imx_clk_mux("ipu2_sel", base + 0x3c, 14, 2, ipu_sels, ARRAY_SIZE(ipu_sels)); |
261 | clk[ldb_di0_sel] = imx_clk_mux_flags("ldb_di0_sel", base + 0x2c, 9, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT); | 227 | clk[IMX6QDL_CLK_LDB_DI0_SEL] = imx_clk_mux_flags("ldb_di0_sel", base + 0x2c, 9, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT); |
262 | clk[ldb_di1_sel] = imx_clk_mux_flags("ldb_di1_sel", base + 0x2c, 12, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT); | 228 | clk[IMX6QDL_CLK_LDB_DI1_SEL] = imx_clk_mux_flags("ldb_di1_sel", base + 0x2c, 12, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT); |
263 | clk[ipu1_di0_pre_sel] = imx_clk_mux_flags("ipu1_di0_pre_sel", base + 0x34, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); | 229 | clk[IMX6QDL_CLK_IPU1_DI0_PRE_SEL] = imx_clk_mux_flags("ipu1_di0_pre_sel", base + 0x34, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); |
264 | clk[ipu1_di1_pre_sel] = imx_clk_mux_flags("ipu1_di1_pre_sel", base + 0x34, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); | 230 | clk[IMX6QDL_CLK_IPU1_DI1_PRE_SEL] = imx_clk_mux_flags("ipu1_di1_pre_sel", base + 0x34, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); |
265 | clk[ipu2_di0_pre_sel] = imx_clk_mux_flags("ipu2_di0_pre_sel", base + 0x38, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); | 231 | clk[IMX6QDL_CLK_IPU2_DI0_PRE_SEL] = imx_clk_mux_flags("ipu2_di0_pre_sel", base + 0x38, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); |
266 | clk[ipu2_di1_pre_sel] = imx_clk_mux_flags("ipu2_di1_pre_sel", base + 0x38, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); | 232 | clk[IMX6QDL_CLK_IPU2_DI1_PRE_SEL] = imx_clk_mux_flags("ipu2_di1_pre_sel", base + 0x38, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT); |
267 | clk[ipu1_di0_sel] = imx_clk_mux_flags("ipu1_di0_sel", base + 0x34, 0, 3, ipu1_di0_sels, ARRAY_SIZE(ipu1_di0_sels), CLK_SET_RATE_PARENT); | 233 | clk[IMX6QDL_CLK_IPU1_DI0_SEL] = imx_clk_mux_flags("ipu1_di0_sel", base + 0x34, 0, 3, ipu1_di0_sels, ARRAY_SIZE(ipu1_di0_sels), CLK_SET_RATE_PARENT); |
268 | clk[ipu1_di1_sel] = imx_clk_mux_flags("ipu1_di1_sel", base + 0x34, 9, 3, ipu1_di1_sels, ARRAY_SIZE(ipu1_di1_sels), CLK_SET_RATE_PARENT); | 234 | clk[IMX6QDL_CLK_IPU1_DI1_SEL] = imx_clk_mux_flags("ipu1_di1_sel", base + 0x34, 9, 3, ipu1_di1_sels, ARRAY_SIZE(ipu1_di1_sels), CLK_SET_RATE_PARENT); |
269 | clk[ipu2_di0_sel] = imx_clk_mux_flags("ipu2_di0_sel", base + 0x38, 0, 3, ipu2_di0_sels, ARRAY_SIZE(ipu2_di0_sels), CLK_SET_RATE_PARENT); | 235 | clk[IMX6QDL_CLK_IPU2_DI0_SEL] = imx_clk_mux_flags("ipu2_di0_sel", base + 0x38, 0, 3, ipu2_di0_sels, ARRAY_SIZE(ipu2_di0_sels), CLK_SET_RATE_PARENT); |
270 | clk[ipu2_di1_sel] = imx_clk_mux_flags("ipu2_di1_sel", base + 0x38, 9, 3, ipu2_di1_sels, ARRAY_SIZE(ipu2_di1_sels), CLK_SET_RATE_PARENT); | 236 | clk[IMX6QDL_CLK_IPU2_DI1_SEL] = imx_clk_mux_flags("ipu2_di1_sel", base + 0x38, 9, 3, ipu2_di1_sels, ARRAY_SIZE(ipu2_di1_sels), CLK_SET_RATE_PARENT); |
271 | clk[hsi_tx_sel] = imx_clk_mux("hsi_tx_sel", base + 0x30, 28, 1, hsi_tx_sels, ARRAY_SIZE(hsi_tx_sels)); | 237 | clk[IMX6QDL_CLK_HSI_TX_SEL] = imx_clk_mux("hsi_tx_sel", base + 0x30, 28, 1, hsi_tx_sels, ARRAY_SIZE(hsi_tx_sels)); |
272 | clk[pcie_axi_sel] = imx_clk_mux("pcie_axi_sel", base + 0x18, 10, 1, pcie_axi_sels, ARRAY_SIZE(pcie_axi_sels)); | 238 | clk[IMX6QDL_CLK_PCIE_AXI_SEL] = imx_clk_mux("pcie_axi_sel", base + 0x18, 10, 1, pcie_axi_sels, ARRAY_SIZE(pcie_axi_sels)); |
273 | clk[ssi1_sel] = imx_clk_fixup_mux("ssi1_sel", base + 0x1c, 10, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup); | 239 | clk[IMX6QDL_CLK_SSI1_SEL] = imx_clk_fixup_mux("ssi1_sel", base + 0x1c, 10, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup); |
274 | clk[ssi2_sel] = imx_clk_fixup_mux("ssi2_sel", base + 0x1c, 12, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup); | 240 | clk[IMX6QDL_CLK_SSI2_SEL] = imx_clk_fixup_mux("ssi2_sel", base + 0x1c, 12, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup); |
275 | clk[ssi3_sel] = imx_clk_fixup_mux("ssi3_sel", base + 0x1c, 14, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup); | 241 | clk[IMX6QDL_CLK_SSI3_SEL] = imx_clk_fixup_mux("ssi3_sel", base + 0x1c, 14, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup); |
276 | clk[usdhc1_sel] = imx_clk_fixup_mux("usdhc1_sel", base + 0x1c, 16, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); | 242 | clk[IMX6QDL_CLK_USDHC1_SEL] = imx_clk_fixup_mux("usdhc1_sel", base + 0x1c, 16, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); |
277 | clk[usdhc2_sel] = imx_clk_fixup_mux("usdhc2_sel", base + 0x1c, 17, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); | 243 | clk[IMX6QDL_CLK_USDHC2_SEL] = imx_clk_fixup_mux("usdhc2_sel", base + 0x1c, 17, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); |
278 | clk[usdhc3_sel] = imx_clk_fixup_mux("usdhc3_sel", base + 0x1c, 18, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); | 244 | clk[IMX6QDL_CLK_USDHC3_SEL] = imx_clk_fixup_mux("usdhc3_sel", base + 0x1c, 18, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); |
279 | clk[usdhc4_sel] = imx_clk_fixup_mux("usdhc4_sel", base + 0x1c, 19, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); | 245 | clk[IMX6QDL_CLK_USDHC4_SEL] = imx_clk_fixup_mux("usdhc4_sel", base + 0x1c, 19, 1, usdhc_sels, ARRAY_SIZE(usdhc_sels), imx_cscmr1_fixup); |
280 | clk[enfc_sel] = imx_clk_mux("enfc_sel", base + 0x2c, 16, 2, enfc_sels, ARRAY_SIZE(enfc_sels)); | 246 | clk[IMX6QDL_CLK_ENFC_SEL] = imx_clk_mux("enfc_sel", base + 0x2c, 16, 2, enfc_sels, ARRAY_SIZE(enfc_sels)); |
281 | clk[emi_sel] = imx_clk_fixup_mux("emi_sel", base + 0x1c, 27, 2, emi_sels, ARRAY_SIZE(emi_sels), imx_cscmr1_fixup); | 247 | clk[IMX6QDL_CLK_EMI_SEL] = imx_clk_fixup_mux("emi_sel", base + 0x1c, 27, 2, emi_sels, ARRAY_SIZE(emi_sels), imx_cscmr1_fixup); |
282 | clk[emi_slow_sel] = imx_clk_fixup_mux("emi_slow_sel", base + 0x1c, 29, 2, emi_slow_sels, ARRAY_SIZE(emi_slow_sels), imx_cscmr1_fixup); | 248 | clk[IMX6QDL_CLK_EMI_SLOW_SEL] = imx_clk_fixup_mux("emi_slow_sel", base + 0x1c, 29, 2, emi_slow_sels, ARRAY_SIZE(emi_slow_sels), imx_cscmr1_fixup); |
283 | clk[vdo_axi_sel] = imx_clk_mux("vdo_axi_sel", base + 0x18, 11, 1, vdo_axi_sels, ARRAY_SIZE(vdo_axi_sels)); | 249 | clk[IMX6QDL_CLK_VDO_AXI_SEL] = imx_clk_mux("vdo_axi_sel", base + 0x18, 11, 1, vdo_axi_sels, ARRAY_SIZE(vdo_axi_sels)); |
284 | clk[vpu_axi_sel] = imx_clk_mux("vpu_axi_sel", base + 0x18, 14, 2, vpu_axi_sels, ARRAY_SIZE(vpu_axi_sels)); | 250 | clk[IMX6QDL_CLK_VPU_AXI_SEL] = imx_clk_mux("vpu_axi_sel", base + 0x18, 14, 2, vpu_axi_sels, ARRAY_SIZE(vpu_axi_sels)); |
285 | clk[cko1_sel] = imx_clk_mux("cko1_sel", base + 0x60, 0, 4, cko1_sels, ARRAY_SIZE(cko1_sels)); | 251 | clk[IMX6QDL_CLK_CKO1_SEL] = imx_clk_mux("cko1_sel", base + 0x60, 0, 4, cko1_sels, ARRAY_SIZE(cko1_sels)); |
286 | clk[cko2_sel] = imx_clk_mux("cko2_sel", base + 0x60, 16, 5, cko2_sels, ARRAY_SIZE(cko2_sels)); | 252 | clk[IMX6QDL_CLK_CKO2_SEL] = imx_clk_mux("cko2_sel", base + 0x60, 16, 5, cko2_sels, ARRAY_SIZE(cko2_sels)); |
287 | clk[cko] = imx_clk_mux("cko", base + 0x60, 8, 1, cko_sels, ARRAY_SIZE(cko_sels)); | 253 | clk[IMX6QDL_CLK_CKO] = imx_clk_mux("cko", base + 0x60, 8, 1, cko_sels, ARRAY_SIZE(cko_sels)); |
288 | 254 | ||
289 | /* name reg shift width busy: reg, shift parent_names num_parents */ | 255 | /* name reg shift width busy: reg, shift parent_names num_parents */ |
290 | clk[periph] = imx_clk_busy_mux("periph", base + 0x14, 25, 1, base + 0x48, 5, periph_sels, ARRAY_SIZE(periph_sels)); | 256 | clk[IMX6QDL_CLK_PERIPH] = imx_clk_busy_mux("periph", base + 0x14, 25, 1, base + 0x48, 5, periph_sels, ARRAY_SIZE(periph_sels)); |
291 | clk[periph2] = imx_clk_busy_mux("periph2", base + 0x14, 26, 1, base + 0x48, 3, periph2_sels, ARRAY_SIZE(periph2_sels)); | 257 | clk[IMX6QDL_CLK_PERIPH2] = imx_clk_busy_mux("periph2", base + 0x14, 26, 1, base + 0x48, 3, periph2_sels, ARRAY_SIZE(periph2_sels)); |
292 | 258 | ||
293 | /* name parent_name reg shift width */ | 259 | /* name parent_name reg shift width */ |
294 | clk[periph_clk2] = imx_clk_divider("periph_clk2", "periph_clk2_sel", base + 0x14, 27, 3); | 260 | clk[IMX6QDL_CLK_PERIPH_CLK2] = imx_clk_divider("periph_clk2", "periph_clk2_sel", base + 0x14, 27, 3); |
295 | clk[periph2_clk2] = imx_clk_divider("periph2_clk2", "periph2_clk2_sel", base + 0x14, 0, 3); | 261 | clk[IMX6QDL_CLK_PERIPH2_CLK2] = imx_clk_divider("periph2_clk2", "periph2_clk2_sel", base + 0x14, 0, 3); |
296 | clk[ipg] = imx_clk_divider("ipg", "ahb", base + 0x14, 8, 2); | 262 | clk[IMX6QDL_CLK_IPG] = imx_clk_divider("ipg", "ahb", base + 0x14, 8, 2); |
297 | clk[ipg_per] = imx_clk_fixup_divider("ipg_per", "ipg", base + 0x1c, 0, 6, imx_cscmr1_fixup); | 263 | clk[IMX6QDL_CLK_IPG_PER] = imx_clk_fixup_divider("ipg_per", "ipg", base + 0x1c, 0, 6, imx_cscmr1_fixup); |
298 | clk[esai_pred] = imx_clk_divider("esai_pred", "esai_sel", base + 0x28, 9, 3); | 264 | clk[IMX6QDL_CLK_ESAI_PRED] = imx_clk_divider("esai_pred", "esai_sel", base + 0x28, 9, 3); |
299 | clk[esai_podf] = imx_clk_divider("esai_podf", "esai_pred", base + 0x28, 25, 3); | 265 | clk[IMX6QDL_CLK_ESAI_PODF] = imx_clk_divider("esai_podf", "esai_pred", base + 0x28, 25, 3); |
300 | clk[asrc_pred] = imx_clk_divider("asrc_pred", "asrc_sel", base + 0x30, 12, 3); | 266 | clk[IMX6QDL_CLK_ASRC_PRED] = imx_clk_divider("asrc_pred", "asrc_sel", base + 0x30, 12, 3); |
301 | clk[asrc_podf] = imx_clk_divider("asrc_podf", "asrc_pred", base + 0x30, 9, 3); | 267 | clk[IMX6QDL_CLK_ASRC_PODF] = imx_clk_divider("asrc_podf", "asrc_pred", base + 0x30, 9, 3); |
302 | clk[spdif_pred] = imx_clk_divider("spdif_pred", "spdif_sel", base + 0x30, 25, 3); | 268 | clk[IMX6QDL_CLK_SPDIF_PRED] = imx_clk_divider("spdif_pred", "spdif_sel", base + 0x30, 25, 3); |
303 | clk[spdif_podf] = imx_clk_divider("spdif_podf", "spdif_pred", base + 0x30, 22, 3); | 269 | clk[IMX6QDL_CLK_SPDIF_PODF] = imx_clk_divider("spdif_podf", "spdif_pred", base + 0x30, 22, 3); |
304 | clk[can_root] = imx_clk_divider("can_root", "pll3_60m", base + 0x20, 2, 6); | 270 | clk[IMX6QDL_CLK_CAN_ROOT] = imx_clk_divider("can_root", "pll3_60m", base + 0x20, 2, 6); |
305 | clk[ecspi_root] = imx_clk_divider("ecspi_root", "pll3_60m", base + 0x38, 19, 6); | 271 | clk[IMX6QDL_CLK_ECSPI_ROOT] = imx_clk_divider("ecspi_root", "pll3_60m", base + 0x38, 19, 6); |
306 | clk[gpu2d_core_podf] = imx_clk_divider("gpu2d_core_podf", "gpu2d_core_sel", base + 0x18, 23, 3); | 272 | clk[IMX6QDL_CLK_GPU2D_CORE_PODF] = imx_clk_divider("gpu2d_core_podf", "gpu2d_core_sel", base + 0x18, 23, 3); |
307 | clk[gpu3d_core_podf] = imx_clk_divider("gpu3d_core_podf", "gpu3d_core_sel", base + 0x18, 26, 3); | 273 | clk[IMX6QDL_CLK_GPU3D_CORE_PODF] = imx_clk_divider("gpu3d_core_podf", "gpu3d_core_sel", base + 0x18, 26, 3); |
308 | clk[gpu3d_shader] = imx_clk_divider("gpu3d_shader", "gpu3d_shader_sel", base + 0x18, 29, 3); | 274 | clk[IMX6QDL_CLK_GPU3D_SHADER] = imx_clk_divider("gpu3d_shader", "gpu3d_shader_sel", base + 0x18, 29, 3); |
309 | clk[ipu1_podf] = imx_clk_divider("ipu1_podf", "ipu1_sel", base + 0x3c, 11, 3); | 275 | clk[IMX6QDL_CLK_IPU1_PODF] = imx_clk_divider("ipu1_podf", "ipu1_sel", base + 0x3c, 11, 3); |
310 | clk[ipu2_podf] = imx_clk_divider("ipu2_podf", "ipu2_sel", base + 0x3c, 16, 3); | 276 | clk[IMX6QDL_CLK_IPU2_PODF] = imx_clk_divider("ipu2_podf", "ipu2_sel", base + 0x3c, 16, 3); |
311 | clk[ldb_di0_div_3_5] = imx_clk_fixed_factor("ldb_di0_div_3_5", "ldb_di0_sel", 2, 7); | 277 | clk[IMX6QDL_CLK_LDB_DI0_DIV_3_5] = imx_clk_fixed_factor("ldb_di0_div_3_5", "ldb_di0_sel", 2, 7); |
312 | clk[ldb_di0_podf] = imx_clk_divider_flags("ldb_di0_podf", "ldb_di0_div_3_5", base + 0x20, 10, 1, 0); | 278 | clk[IMX6QDL_CLK_LDB_DI0_PODF] = imx_clk_divider_flags("ldb_di0_podf", "ldb_di0_div_3_5", base + 0x20, 10, 1, 0); |
313 | clk[ldb_di1_div_3_5] = imx_clk_fixed_factor("ldb_di1_div_3_5", "ldb_di1_sel", 2, 7); | 279 | clk[IMX6QDL_CLK_LDB_DI1_DIV_3_5] = imx_clk_fixed_factor("ldb_di1_div_3_5", "ldb_di1_sel", 2, 7); |
314 | clk[ldb_di1_podf] = imx_clk_divider_flags("ldb_di1_podf", "ldb_di1_div_3_5", base + 0x20, 11, 1, 0); | 280 | clk[IMX6QDL_CLK_LDB_DI1_PODF] = imx_clk_divider_flags("ldb_di1_podf", "ldb_di1_div_3_5", base + 0x20, 11, 1, 0); |
315 | clk[ipu1_di0_pre] = imx_clk_divider("ipu1_di0_pre", "ipu1_di0_pre_sel", base + 0x34, 3, 3); | 281 | clk[IMX6QDL_CLK_IPU1_DI0_PRE] = imx_clk_divider("ipu1_di0_pre", "ipu1_di0_pre_sel", base + 0x34, 3, 3); |
316 | clk[ipu1_di1_pre] = imx_clk_divider("ipu1_di1_pre", "ipu1_di1_pre_sel", base + 0x34, 12, 3); | 282 | clk[IMX6QDL_CLK_IPU1_DI1_PRE] = imx_clk_divider("ipu1_di1_pre", "ipu1_di1_pre_sel", base + 0x34, 12, 3); |
317 | clk[ipu2_di0_pre] = imx_clk_divider("ipu2_di0_pre", "ipu2_di0_pre_sel", base + 0x38, 3, 3); | 283 | clk[IMX6QDL_CLK_IPU2_DI0_PRE] = imx_clk_divider("ipu2_di0_pre", "ipu2_di0_pre_sel", base + 0x38, 3, 3); |
318 | clk[ipu2_di1_pre] = imx_clk_divider("ipu2_di1_pre", "ipu2_di1_pre_sel", base + 0x38, 12, 3); | 284 | clk[IMX6QDL_CLK_IPU2_DI1_PRE] = imx_clk_divider("ipu2_di1_pre", "ipu2_di1_pre_sel", base + 0x38, 12, 3); |
319 | clk[hsi_tx_podf] = imx_clk_divider("hsi_tx_podf", "hsi_tx_sel", base + 0x30, 29, 3); | 285 | clk[IMX6QDL_CLK_HSI_TX_PODF] = imx_clk_divider("hsi_tx_podf", "hsi_tx_sel", base + 0x30, 29, 3); |
320 | clk[ssi1_pred] = imx_clk_divider("ssi1_pred", "ssi1_sel", base + 0x28, 6, 3); | 286 | clk[IMX6QDL_CLK_SSI1_PRED] = imx_clk_divider("ssi1_pred", "ssi1_sel", base + 0x28, 6, 3); |
321 | clk[ssi1_podf] = imx_clk_divider("ssi1_podf", "ssi1_pred", base + 0x28, 0, 6); | 287 | clk[IMX6QDL_CLK_SSI1_PODF] = imx_clk_divider("ssi1_podf", "ssi1_pred", base + 0x28, 0, 6); |
322 | clk[ssi2_pred] = imx_clk_divider("ssi2_pred", "ssi2_sel", base + 0x2c, 6, 3); | 288 | clk[IMX6QDL_CLK_SSI2_PRED] = imx_clk_divider("ssi2_pred", "ssi2_sel", base + 0x2c, 6, 3); |
323 | clk[ssi2_podf] = imx_clk_divider("ssi2_podf", "ssi2_pred", base + 0x2c, 0, 6); | 289 | clk[IMX6QDL_CLK_SSI2_PODF] = imx_clk_divider("ssi2_podf", "ssi2_pred", base + 0x2c, 0, 6); |
324 | clk[ssi3_pred] = imx_clk_divider("ssi3_pred", "ssi3_sel", base + 0x28, 22, 3); | 290 | clk[IMX6QDL_CLK_SSI3_PRED] = imx_clk_divider("ssi3_pred", "ssi3_sel", base + 0x28, 22, 3); |
325 | clk[ssi3_podf] = imx_clk_divider("ssi3_podf", "ssi3_pred", base + 0x28, 16, 6); | 291 | clk[IMX6QDL_CLK_SSI3_PODF] = imx_clk_divider("ssi3_podf", "ssi3_pred", base + 0x28, 16, 6); |
326 | clk[uart_serial_podf] = imx_clk_divider("uart_serial_podf", "pll3_80m", base + 0x24, 0, 6); | 292 | clk[IMX6QDL_CLK_UART_SERIAL_PODF] = imx_clk_divider("uart_serial_podf", "pll3_80m", base + 0x24, 0, 6); |
327 | clk[usdhc1_podf] = imx_clk_divider("usdhc1_podf", "usdhc1_sel", base + 0x24, 11, 3); | 293 | clk[IMX6QDL_CLK_USDHC1_PODF] = imx_clk_divider("usdhc1_podf", "usdhc1_sel", base + 0x24, 11, 3); |
328 | clk[usdhc2_podf] = imx_clk_divider("usdhc2_podf", "usdhc2_sel", base + 0x24, 16, 3); | 294 | clk[IMX6QDL_CLK_USDHC2_PODF] = imx_clk_divider("usdhc2_podf", "usdhc2_sel", base + 0x24, 16, 3); |
329 | clk[usdhc3_podf] = imx_clk_divider("usdhc3_podf", "usdhc3_sel", base + 0x24, 19, 3); | 295 | clk[IMX6QDL_CLK_USDHC3_PODF] = imx_clk_divider("usdhc3_podf", "usdhc3_sel", base + 0x24, 19, 3); |
330 | clk[usdhc4_podf] = imx_clk_divider("usdhc4_podf", "usdhc4_sel", base + 0x24, 22, 3); | 296 | clk[IMX6QDL_CLK_USDHC4_PODF] = imx_clk_divider("usdhc4_podf", "usdhc4_sel", base + 0x24, 22, 3); |
331 | clk[enfc_pred] = imx_clk_divider("enfc_pred", "enfc_sel", base + 0x2c, 18, 3); | 297 | clk[IMX6QDL_CLK_ENFC_PRED] = imx_clk_divider("enfc_pred", "enfc_sel", base + 0x2c, 18, 3); |
332 | clk[enfc_podf] = imx_clk_divider("enfc_podf", "enfc_pred", base + 0x2c, 21, 6); | 298 | clk[IMX6QDL_CLK_ENFC_PODF] = imx_clk_divider("enfc_podf", "enfc_pred", base + 0x2c, 21, 6); |
333 | clk[emi_podf] = imx_clk_fixup_divider("emi_podf", "emi_sel", base + 0x1c, 20, 3, imx_cscmr1_fixup); | 299 | clk[IMX6QDL_CLK_EMI_PODF] = imx_clk_fixup_divider("emi_podf", "emi_sel", base + 0x1c, 20, 3, imx_cscmr1_fixup); |
334 | clk[emi_slow_podf] = imx_clk_fixup_divider("emi_slow_podf", "emi_slow_sel", base + 0x1c, 23, 3, imx_cscmr1_fixup); | 300 | clk[IMX6QDL_CLK_EMI_SLOW_PODF] = imx_clk_fixup_divider("emi_slow_podf", "emi_slow_sel", base + 0x1c, 23, 3, imx_cscmr1_fixup); |
335 | clk[vpu_axi_podf] = imx_clk_divider("vpu_axi_podf", "vpu_axi_sel", base + 0x24, 25, 3); | 301 | clk[IMX6QDL_CLK_VPU_AXI_PODF] = imx_clk_divider("vpu_axi_podf", "vpu_axi_sel", base + 0x24, 25, 3); |
336 | clk[cko1_podf] = imx_clk_divider("cko1_podf", "cko1_sel", base + 0x60, 4, 3); | 302 | clk[IMX6QDL_CLK_CKO1_PODF] = imx_clk_divider("cko1_podf", "cko1_sel", base + 0x60, 4, 3); |
337 | clk[cko2_podf] = imx_clk_divider("cko2_podf", "cko2_sel", base + 0x60, 21, 3); | 303 | clk[IMX6QDL_CLK_CKO2_PODF] = imx_clk_divider("cko2_podf", "cko2_sel", base + 0x60, 21, 3); |
338 | 304 | ||
339 | /* name parent_name reg shift width busy: reg, shift */ | 305 | /* name parent_name reg shift width busy: reg, shift */ |
340 | clk[axi] = imx_clk_busy_divider("axi", "axi_sel", base + 0x14, 16, 3, base + 0x48, 0); | 306 | clk[IMX6QDL_CLK_AXI] = imx_clk_busy_divider("axi", "axi_sel", base + 0x14, 16, 3, base + 0x48, 0); |
341 | clk[mmdc_ch0_axi_podf] = imx_clk_busy_divider("mmdc_ch0_axi_podf", "periph", base + 0x14, 19, 3, base + 0x48, 4); | 307 | clk[IMX6QDL_CLK_MMDC_CH0_AXI_PODF] = imx_clk_busy_divider("mmdc_ch0_axi_podf", "periph", base + 0x14, 19, 3, base + 0x48, 4); |
342 | clk[mmdc_ch1_axi_podf] = imx_clk_busy_divider("mmdc_ch1_axi_podf", "periph2", base + 0x14, 3, 3, base + 0x48, 2); | 308 | clk[IMX6QDL_CLK_MMDC_CH1_AXI_PODF] = imx_clk_busy_divider("mmdc_ch1_axi_podf", "periph2", base + 0x14, 3, 3, base + 0x48, 2); |
343 | clk[arm] = imx_clk_busy_divider("arm", "pll1_sw", base + 0x10, 0, 3, base + 0x48, 16); | 309 | clk[IMX6QDL_CLK_ARM] = imx_clk_busy_divider("arm", "pll1_sw", base + 0x10, 0, 3, base + 0x48, 16); |
344 | clk[ahb] = imx_clk_busy_divider("ahb", "periph", base + 0x14, 10, 3, base + 0x48, 1); | 310 | clk[IMX6QDL_CLK_AHB] = imx_clk_busy_divider("ahb", "periph", base + 0x14, 10, 3, base + 0x48, 1); |
345 | 311 | ||
346 | /* name parent_name reg shift */ | 312 | /* name parent_name reg shift */ |
347 | clk[apbh_dma] = imx_clk_gate2("apbh_dma", "usdhc3", base + 0x68, 4); | 313 | clk[IMX6QDL_CLK_APBH_DMA] = imx_clk_gate2("apbh_dma", "usdhc3", base + 0x68, 4); |
348 | clk[asrc] = imx_clk_gate2("asrc", "asrc_podf", base + 0x68, 6); | 314 | clk[IMX6QDL_CLK_ASRC] = imx_clk_gate2("asrc", "asrc_podf", base + 0x68, 6); |
349 | clk[can1_ipg] = imx_clk_gate2("can1_ipg", "ipg", base + 0x68, 14); | 315 | clk[IMX6QDL_CLK_CAN1_IPG] = imx_clk_gate2("can1_ipg", "ipg", base + 0x68, 14); |
350 | clk[can1_serial] = imx_clk_gate2("can1_serial", "can_root", base + 0x68, 16); | 316 | clk[IMX6QDL_CLK_CAN1_SERIAL] = imx_clk_gate2("can1_serial", "can_root", base + 0x68, 16); |
351 | clk[can2_ipg] = imx_clk_gate2("can2_ipg", "ipg", base + 0x68, 18); | 317 | clk[IMX6QDL_CLK_CAN2_IPG] = imx_clk_gate2("can2_ipg", "ipg", base + 0x68, 18); |
352 | clk[can2_serial] = imx_clk_gate2("can2_serial", "can_root", base + 0x68, 20); | 318 | clk[IMX6QDL_CLK_CAN2_SERIAL] = imx_clk_gate2("can2_serial", "can_root", base + 0x68, 20); |
353 | clk[ecspi1] = imx_clk_gate2("ecspi1", "ecspi_root", base + 0x6c, 0); | 319 | clk[IMX6QDL_CLK_ECSPI1] = imx_clk_gate2("ecspi1", "ecspi_root", base + 0x6c, 0); |
354 | clk[ecspi2] = imx_clk_gate2("ecspi2", "ecspi_root", base + 0x6c, 2); | 320 | clk[IMX6QDL_CLK_ECSPI2] = imx_clk_gate2("ecspi2", "ecspi_root", base + 0x6c, 2); |
355 | clk[ecspi3] = imx_clk_gate2("ecspi3", "ecspi_root", base + 0x6c, 4); | 321 | clk[IMX6QDL_CLK_ECSPI3] = imx_clk_gate2("ecspi3", "ecspi_root", base + 0x6c, 4); |
356 | clk[ecspi4] = imx_clk_gate2("ecspi4", "ecspi_root", base + 0x6c, 6); | 322 | clk[IMX6QDL_CLK_ECSPI4] = imx_clk_gate2("ecspi4", "ecspi_root", base + 0x6c, 6); |
357 | if (cpu_is_imx6dl()) | 323 | if (cpu_is_imx6dl()) |
358 | /* ecspi5 is replaced with i2c4 on imx6dl & imx6s */ | 324 | clk[IMX6DL_CLK_I2C4] = imx_clk_gate2("i2c4", "ipg_per", base + 0x6c, 8); |
359 | clk[ecspi5] = imx_clk_gate2("i2c4", "ipg_per", base + 0x6c, 8); | ||
360 | else | 325 | else |
361 | clk[ecspi5] = imx_clk_gate2("ecspi5", "ecspi_root", base + 0x6c, 8); | 326 | clk[IMX6Q_CLK_ECSPI5] = imx_clk_gate2("ecspi5", "ecspi_root", base + 0x6c, 8); |
362 | clk[enet] = imx_clk_gate2("enet", "ipg", base + 0x6c, 10); | 327 | clk[IMX6QDL_CLK_ENET] = imx_clk_gate2("enet", "ipg", base + 0x6c, 10); |
363 | clk[esai] = imx_clk_gate2_shared("esai", "esai_podf", base + 0x6c, 16, &share_count_esai); | 328 | clk[IMX6QDL_CLK_ESAI] = imx_clk_gate2_shared("esai", "esai_podf", base + 0x6c, 16, &share_count_esai); |
364 | clk[esai_ahb] = imx_clk_gate2_shared("esai_ahb", "ahb", base + 0x6c, 16, &share_count_esai); | 329 | clk[IMX6QDL_CLK_ESAI_AHB] = imx_clk_gate2_shared("esai_ahb", "ahb", base + 0x6c, 16, &share_count_esai); |
365 | clk[gpt_ipg] = imx_clk_gate2("gpt_ipg", "ipg", base + 0x6c, 20); | 330 | clk[IMX6QDL_CLK_GPT_IPG] = imx_clk_gate2("gpt_ipg", "ipg", base + 0x6c, 20); |
366 | clk[gpt_ipg_per] = imx_clk_gate2("gpt_ipg_per", "ipg_per", base + 0x6c, 22); | 331 | clk[IMX6QDL_CLK_GPT_IPG_PER] = imx_clk_gate2("gpt_ipg_per", "ipg_per", base + 0x6c, 22); |
367 | if (cpu_is_imx6dl()) | 332 | if (cpu_is_imx6dl()) |
368 | /* | 333 | /* |
369 | * The multiplexer and divider of imx6q clock gpu3d_shader get | 334 | * The multiplexer and divider of imx6q clock gpu3d_shader get |
370 | * redefined/reused as gpu2d_core_sel and gpu2d_core_podf on imx6dl. | 335 | * redefined/reused as gpu2d_core_sel and gpu2d_core_podf on imx6dl. |
371 | */ | 336 | */ |
372 | clk[gpu2d_core] = imx_clk_gate2("gpu2d_core", "gpu3d_shader", base + 0x6c, 24); | 337 | clk[IMX6QDL_CLK_GPU2D_CORE] = imx_clk_gate2("gpu2d_core", "gpu3d_shader", base + 0x6c, 24); |
373 | else | 338 | else |
374 | clk[gpu2d_core] = imx_clk_gate2("gpu2d_core", "gpu2d_core_podf", base + 0x6c, 24); | 339 | clk[IMX6QDL_CLK_GPU2D_CORE] = imx_clk_gate2("gpu2d_core", "gpu2d_core_podf", base + 0x6c, 24); |
375 | clk[gpu3d_core] = imx_clk_gate2("gpu3d_core", "gpu3d_core_podf", base + 0x6c, 26); | 340 | clk[IMX6QDL_CLK_GPU3D_CORE] = imx_clk_gate2("gpu3d_core", "gpu3d_core_podf", base + 0x6c, 26); |
376 | clk[hdmi_iahb] = imx_clk_gate2("hdmi_iahb", "ahb", base + 0x70, 0); | 341 | clk[IMX6QDL_CLK_HDMI_IAHB] = imx_clk_gate2("hdmi_iahb", "ahb", base + 0x70, 0); |
377 | clk[hdmi_isfr] = imx_clk_gate2("hdmi_isfr", "pll3_pfd1_540m", base + 0x70, 4); | 342 | clk[IMX6QDL_CLK_HDMI_ISFR] = imx_clk_gate2("hdmi_isfr", "pll3_pfd1_540m", base + 0x70, 4); |
378 | clk[i2c1] = imx_clk_gate2("i2c1", "ipg_per", base + 0x70, 6); | 343 | clk[IMX6QDL_CLK_I2C1] = imx_clk_gate2("i2c1", "ipg_per", base + 0x70, 6); |
379 | clk[i2c2] = imx_clk_gate2("i2c2", "ipg_per", base + 0x70, 8); | 344 | clk[IMX6QDL_CLK_I2C2] = imx_clk_gate2("i2c2", "ipg_per", base + 0x70, 8); |
380 | clk[i2c3] = imx_clk_gate2("i2c3", "ipg_per", base + 0x70, 10); | 345 | clk[IMX6QDL_CLK_I2C3] = imx_clk_gate2("i2c3", "ipg_per", base + 0x70, 10); |
381 | clk[iim] = imx_clk_gate2("iim", "ipg", base + 0x70, 12); | 346 | clk[IMX6QDL_CLK_IIM] = imx_clk_gate2("iim", "ipg", base + 0x70, 12); |
382 | clk[enfc] = imx_clk_gate2("enfc", "enfc_podf", base + 0x70, 14); | 347 | clk[IMX6QDL_CLK_ENFC] = imx_clk_gate2("enfc", "enfc_podf", base + 0x70, 14); |
383 | clk[vdoa] = imx_clk_gate2("vdoa", "vdo_axi", base + 0x70, 26); | 348 | clk[IMX6QDL_CLK_VDOA] = imx_clk_gate2("vdoa", "vdo_axi", base + 0x70, 26); |
384 | clk[ipu1] = imx_clk_gate2("ipu1", "ipu1_podf", base + 0x74, 0); | 349 | clk[IMX6QDL_CLK_IPU1] = imx_clk_gate2("ipu1", "ipu1_podf", base + 0x74, 0); |
385 | clk[ipu1_di0] = imx_clk_gate2("ipu1_di0", "ipu1_di0_sel", base + 0x74, 2); | 350 | clk[IMX6QDL_CLK_IPU1_DI0] = imx_clk_gate2("ipu1_di0", "ipu1_di0_sel", base + 0x74, 2); |
386 | clk[ipu1_di1] = imx_clk_gate2("ipu1_di1", "ipu1_di1_sel", base + 0x74, 4); | 351 | clk[IMX6QDL_CLK_IPU1_DI1] = imx_clk_gate2("ipu1_di1", "ipu1_di1_sel", base + 0x74, 4); |
387 | clk[ipu2] = imx_clk_gate2("ipu2", "ipu2_podf", base + 0x74, 6); | 352 | clk[IMX6QDL_CLK_IPU2] = imx_clk_gate2("ipu2", "ipu2_podf", base + 0x74, 6); |
388 | clk[ipu2_di0] = imx_clk_gate2("ipu2_di0", "ipu2_di0_sel", base + 0x74, 8); | 353 | clk[IMX6QDL_CLK_IPU2_DI0] = imx_clk_gate2("ipu2_di0", "ipu2_di0_sel", base + 0x74, 8); |
389 | clk[ldb_di0] = imx_clk_gate2("ldb_di0", "ldb_di0_podf", base + 0x74, 12); | 354 | clk[IMX6QDL_CLK_LDB_DI0] = imx_clk_gate2("ldb_di0", "ldb_di0_podf", base + 0x74, 12); |
390 | clk[ldb_di1] = imx_clk_gate2("ldb_di1", "ldb_di1_podf", base + 0x74, 14); | 355 | clk[IMX6QDL_CLK_LDB_DI1] = imx_clk_gate2("ldb_di1", "ldb_di1_podf", base + 0x74, 14); |
391 | clk[ipu2_di1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10); | 356 | clk[IMX6QDL_CLK_IPU2_DI1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10); |
392 | clk[hsi_tx] = imx_clk_gate2("hsi_tx", "hsi_tx_podf", base + 0x74, 16); | 357 | clk[IMX6QDL_CLK_HSI_TX] = imx_clk_gate2("hsi_tx", "hsi_tx_podf", base + 0x74, 16); |
393 | if (cpu_is_imx6dl()) | 358 | if (cpu_is_imx6dl()) |
394 | /* | 359 | /* |
395 | * The multiplexer and divider of the imx6q clock gpu2d get | 360 | * The multiplexer and divider of the imx6q clock gpu2d get |
396 | * redefined/reused as mlb_sys_sel and mlb_sys_clk_podf on imx6dl. | 361 | * redefined/reused as mlb_sys_sel and mlb_sys_clk_podf on imx6dl. |
397 | */ | 362 | */ |
398 | clk[mlb] = imx_clk_gate2("mlb", "gpu2d_core_podf", base + 0x74, 18); | 363 | clk[IMX6QDL_CLK_MLB] = imx_clk_gate2("mlb", "gpu2d_core_podf", base + 0x74, 18); |
399 | else | 364 | else |
400 | clk[mlb] = imx_clk_gate2("mlb", "axi", base + 0x74, 18); | 365 | clk[IMX6QDL_CLK_MLB] = imx_clk_gate2("mlb", "axi", base + 0x74, 18); |
401 | clk[mmdc_ch0_axi] = imx_clk_gate2("mmdc_ch0_axi", "mmdc_ch0_axi_podf", base + 0x74, 20); | 366 | clk[IMX6QDL_CLK_MMDC_CH0_AXI] = imx_clk_gate2("mmdc_ch0_axi", "mmdc_ch0_axi_podf", base + 0x74, 20); |
402 | clk[mmdc_ch1_axi] = imx_clk_gate2("mmdc_ch1_axi", "mmdc_ch1_axi_podf", base + 0x74, 22); | 367 | clk[IMX6QDL_CLK_MMDC_CH1_AXI] = imx_clk_gate2("mmdc_ch1_axi", "mmdc_ch1_axi_podf", base + 0x74, 22); |
403 | clk[ocram] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28); | 368 | clk[IMX6QDL_CLK_OCRAM] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28); |
404 | clk[openvg_axi] = imx_clk_gate2("openvg_axi", "axi", base + 0x74, 30); | 369 | clk[IMX6QDL_CLK_OPENVG_AXI] = imx_clk_gate2("openvg_axi", "axi", base + 0x74, 30); |
405 | clk[pcie_axi] = imx_clk_gate2("pcie_axi", "pcie_axi_sel", base + 0x78, 0); | 370 | clk[IMX6QDL_CLK_PCIE_AXI] = imx_clk_gate2("pcie_axi", "pcie_axi_sel", base + 0x78, 0); |
406 | clk[per1_bch] = imx_clk_gate2("per1_bch", "usdhc3", base + 0x78, 12); | 371 | clk[IMX6QDL_CLK_PER1_BCH] = imx_clk_gate2("per1_bch", "usdhc3", base + 0x78, 12); |
407 | clk[pwm1] = imx_clk_gate2("pwm1", "ipg_per", base + 0x78, 16); | 372 | clk[IMX6QDL_CLK_PWM1] = imx_clk_gate2("pwm1", "ipg_per", base + 0x78, 16); |
408 | clk[pwm2] = imx_clk_gate2("pwm2", "ipg_per", base + 0x78, 18); | 373 | clk[IMX6QDL_CLK_PWM2] = imx_clk_gate2("pwm2", "ipg_per", base + 0x78, 18); |
409 | clk[pwm3] = imx_clk_gate2("pwm3", "ipg_per", base + 0x78, 20); | 374 | clk[IMX6QDL_CLK_PWM3] = imx_clk_gate2("pwm3", "ipg_per", base + 0x78, 20); |
410 | clk[pwm4] = imx_clk_gate2("pwm4", "ipg_per", base + 0x78, 22); | 375 | clk[IMX6QDL_CLK_PWM4] = imx_clk_gate2("pwm4", "ipg_per", base + 0x78, 22); |
411 | clk[gpmi_bch_apb] = imx_clk_gate2("gpmi_bch_apb", "usdhc3", base + 0x78, 24); | 376 | clk[IMX6QDL_CLK_GPMI_BCH_APB] = imx_clk_gate2("gpmi_bch_apb", "usdhc3", base + 0x78, 24); |
412 | clk[gpmi_bch] = imx_clk_gate2("gpmi_bch", "usdhc4", base + 0x78, 26); | 377 | clk[IMX6QDL_CLK_GPMI_BCH] = imx_clk_gate2("gpmi_bch", "usdhc4", base + 0x78, 26); |
413 | clk[gpmi_io] = imx_clk_gate2("gpmi_io", "enfc", base + 0x78, 28); | 378 | clk[IMX6QDL_CLK_GPMI_IO] = imx_clk_gate2("gpmi_io", "enfc", base + 0x78, 28); |
414 | clk[gpmi_apb] = imx_clk_gate2("gpmi_apb", "usdhc3", base + 0x78, 30); | 379 | clk[IMX6QDL_CLK_GPMI_APB] = imx_clk_gate2("gpmi_apb", "usdhc3", base + 0x78, 30); |
415 | clk[rom] = imx_clk_gate2("rom", "ahb", base + 0x7c, 0); | 380 | clk[IMX6QDL_CLK_ROM] = imx_clk_gate2("rom", "ahb", base + 0x7c, 0); |
416 | clk[sata] = imx_clk_gate2("sata", "ipg", base + 0x7c, 4); | 381 | clk[IMX6QDL_CLK_SATA] = imx_clk_gate2("sata", "ipg", base + 0x7c, 4); |
417 | clk[sdma] = imx_clk_gate2("sdma", "ahb", base + 0x7c, 6); | 382 | clk[IMX6QDL_CLK_SDMA] = imx_clk_gate2("sdma", "ahb", base + 0x7c, 6); |
418 | clk[spba] = imx_clk_gate2("spba", "ipg", base + 0x7c, 12); | 383 | clk[IMX6QDL_CLK_SPBA] = imx_clk_gate2("spba", "ipg", base + 0x7c, 12); |
419 | clk[spdif] = imx_clk_gate2("spdif", "spdif_podf", base + 0x7c, 14); | 384 | clk[IMX6QDL_CLK_SPDIF] = imx_clk_gate2("spdif", "spdif_podf", base + 0x7c, 14); |
420 | clk[ssi1_ipg] = imx_clk_gate2("ssi1_ipg", "ipg", base + 0x7c, 18); | 385 | clk[IMX6QDL_CLK_SSI1_IPG] = imx_clk_gate2("ssi1_ipg", "ipg", base + 0x7c, 18); |
421 | clk[ssi2_ipg] = imx_clk_gate2("ssi2_ipg", "ipg", base + 0x7c, 20); | 386 | clk[IMX6QDL_CLK_SSI2_IPG] = imx_clk_gate2("ssi2_ipg", "ipg", base + 0x7c, 20); |
422 | clk[ssi3_ipg] = imx_clk_gate2("ssi3_ipg", "ipg", base + 0x7c, 22); | 387 | clk[IMX6QDL_CLK_SSI3_IPG] = imx_clk_gate2("ssi3_ipg", "ipg", base + 0x7c, 22); |
423 | clk[uart_ipg] = imx_clk_gate2("uart_ipg", "ipg", base + 0x7c, 24); | 388 | clk[IMX6QDL_CLK_UART_IPG] = imx_clk_gate2("uart_ipg", "ipg", base + 0x7c, 24); |
424 | clk[uart_serial] = imx_clk_gate2("uart_serial", "uart_serial_podf", base + 0x7c, 26); | 389 | clk[IMX6QDL_CLK_UART_SERIAL] = imx_clk_gate2("uart_serial", "uart_serial_podf", base + 0x7c, 26); |
425 | clk[usboh3] = imx_clk_gate2("usboh3", "ipg", base + 0x80, 0); | 390 | clk[IMX6QDL_CLK_USBOH3] = imx_clk_gate2("usboh3", "ipg", base + 0x80, 0); |
426 | clk[usdhc1] = imx_clk_gate2("usdhc1", "usdhc1_podf", base + 0x80, 2); | 391 | clk[IMX6QDL_CLK_USDHC1] = imx_clk_gate2("usdhc1", "usdhc1_podf", base + 0x80, 2); |
427 | clk[usdhc2] = imx_clk_gate2("usdhc2", "usdhc2_podf", base + 0x80, 4); | 392 | clk[IMX6QDL_CLK_USDHC2] = imx_clk_gate2("usdhc2", "usdhc2_podf", base + 0x80, 4); |
428 | clk[usdhc3] = imx_clk_gate2("usdhc3", "usdhc3_podf", base + 0x80, 6); | 393 | clk[IMX6QDL_CLK_USDHC3] = imx_clk_gate2("usdhc3", "usdhc3_podf", base + 0x80, 6); |
429 | clk[usdhc4] = imx_clk_gate2("usdhc4", "usdhc4_podf", base + 0x80, 8); | 394 | clk[IMX6QDL_CLK_USDHC4] = imx_clk_gate2("usdhc4", "usdhc4_podf", base + 0x80, 8); |
430 | clk[eim_slow] = imx_clk_gate2("eim_slow", "emi_slow_podf", base + 0x80, 10); | 395 | clk[IMX6QDL_CLK_EIM_SLOW] = imx_clk_gate2("eim_slow", "emi_slow_podf", base + 0x80, 10); |
431 | clk[vdo_axi] = imx_clk_gate2("vdo_axi", "vdo_axi_sel", base + 0x80, 12); | 396 | clk[IMX6QDL_CLK_VDO_AXI] = imx_clk_gate2("vdo_axi", "vdo_axi_sel", base + 0x80, 12); |
432 | clk[vpu_axi] = imx_clk_gate2("vpu_axi", "vpu_axi_podf", base + 0x80, 14); | 397 | clk[IMX6QDL_CLK_VPU_AXI] = imx_clk_gate2("vpu_axi", "vpu_axi_podf", base + 0x80, 14); |
433 | clk[cko1] = imx_clk_gate("cko1", "cko1_podf", base + 0x60, 7); | 398 | clk[IMX6QDL_CLK_CKO1] = imx_clk_gate("cko1", "cko1_podf", base + 0x60, 7); |
434 | clk[cko2] = imx_clk_gate("cko2", "cko2_podf", base + 0x60, 24); | 399 | clk[IMX6QDL_CLK_CKO2] = imx_clk_gate("cko2", "cko2_podf", base + 0x60, 24); |
435 | 400 | ||
436 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 401 | imx_check_clocks(clk, ARRAY_SIZE(clk)); |
437 | if (IS_ERR(clk[i])) | ||
438 | pr_err("i.MX6q clk %d: register failed with %ld\n", | ||
439 | i, PTR_ERR(clk[i])); | ||
440 | 402 | ||
441 | clk_data.clks = clk; | 403 | clk_data.clks = clk; |
442 | clk_data.clk_num = ARRAY_SIZE(clk); | 404 | clk_data.clk_num = ARRAY_SIZE(clk); |
443 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 405 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
444 | 406 | ||
445 | clk_register_clkdev(clk[gpt_ipg], "ipg", "imx-gpt.0"); | 407 | clk_register_clkdev(clk[IMX6QDL_CLK_ENET_REF], "enet_ref", NULL); |
446 | clk_register_clkdev(clk[gpt_ipg_per], "per", "imx-gpt.0"); | ||
447 | clk_register_clkdev(clk[enet_ref], "enet_ref", NULL); | ||
448 | 408 | ||
449 | if ((imx_get_soc_revision() != IMX_CHIP_REVISION_1_0) || | 409 | if ((imx_get_soc_revision() != IMX_CHIP_REVISION_1_0) || |
450 | cpu_is_imx6dl()) { | 410 | cpu_is_imx6dl()) { |
451 | clk_set_parent(clk[ldb_di0_sel], clk[pll5_video_div]); | 411 | clk_set_parent(clk[IMX6QDL_CLK_LDB_DI0_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]); |
452 | clk_set_parent(clk[ldb_di1_sel], clk[pll5_video_div]); | 412 | clk_set_parent(clk[IMX6QDL_CLK_LDB_DI1_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]); |
453 | } | 413 | } |
454 | 414 | ||
455 | clk_set_parent(clk[ipu1_di0_pre_sel], clk[pll5_video_div]); | 415 | clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]); |
456 | clk_set_parent(clk[ipu1_di1_pre_sel], clk[pll5_video_div]); | 416 | clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]); |
457 | clk_set_parent(clk[ipu2_di0_pre_sel], clk[pll5_video_div]); | 417 | clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]); |
458 | clk_set_parent(clk[ipu2_di1_pre_sel], clk[pll5_video_div]); | 418 | clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]); |
459 | clk_set_parent(clk[ipu1_di0_sel], clk[ipu1_di0_pre]); | 419 | clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI0_SEL], clk[IMX6QDL_CLK_IPU1_DI0_PRE]); |
460 | clk_set_parent(clk[ipu1_di1_sel], clk[ipu1_di1_pre]); | 420 | clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI1_SEL], clk[IMX6QDL_CLK_IPU1_DI1_PRE]); |
461 | clk_set_parent(clk[ipu2_di0_sel], clk[ipu2_di0_pre]); | 421 | clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI0_SEL], clk[IMX6QDL_CLK_IPU2_DI0_PRE]); |
462 | clk_set_parent(clk[ipu2_di1_sel], clk[ipu2_di1_pre]); | 422 | clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI1_SEL], clk[IMX6QDL_CLK_IPU2_DI1_PRE]); |
463 | 423 | ||
464 | /* | 424 | /* |
465 | * The gpmi needs 100MHz frequency in the EDO/Sync mode, | 425 | * The gpmi needs 100MHz frequency in the EDO/Sync mode, |
466 | * We can not get the 100MHz from the pll2_pfd0_352m. | 426 | * We can not get the 100MHz from the pll2_pfd0_352m. |
467 | * So choose pll2_pfd2_396m as enfc_sel's parent. | 427 | * So choose pll2_pfd2_396m as enfc_sel's parent. |
468 | */ | 428 | */ |
469 | clk_set_parent(clk[enfc_sel], clk[pll2_pfd2_396m]); | 429 | clk_set_parent(clk[IMX6QDL_CLK_ENFC_SEL], clk[IMX6QDL_CLK_PLL2_PFD2_396M]); |
470 | 430 | ||
471 | for (i = 0; i < ARRAY_SIZE(clks_init_on); i++) | 431 | for (i = 0; i < ARRAY_SIZE(clks_init_on); i++) |
472 | clk_prepare_enable(clk[clks_init_on[i]]); | 432 | clk_prepare_enable(clk[clks_init_on[i]]); |
473 | 433 | ||
474 | if (IS_ENABLED(CONFIG_USB_MXS_PHY)) { | 434 | if (IS_ENABLED(CONFIG_USB_MXS_PHY)) { |
475 | clk_prepare_enable(clk[usbphy1_gate]); | 435 | clk_prepare_enable(clk[IMX6QDL_CLK_USBPHY1_GATE]); |
476 | clk_prepare_enable(clk[usbphy2_gate]); | 436 | clk_prepare_enable(clk[IMX6QDL_CLK_USBPHY2_GATE]); |
477 | } | 437 | } |
478 | 438 | ||
479 | /* | 439 | /* |
480 | * Let's initially set up CLKO with OSC24M, since this configuration | 440 | * Let's initially set up CLKO with OSC24M, since this configuration |
481 | * is widely used by imx6q board designs to clock audio codec. | 441 | * is widely used by imx6q board designs to clock audio codec. |
482 | */ | 442 | */ |
483 | ret = clk_set_parent(clk[cko2_sel], clk[osc]); | 443 | ret = clk_set_parent(clk[IMX6QDL_CLK_CKO2_SEL], clk[IMX6QDL_CLK_OSC]); |
484 | if (!ret) | 444 | if (!ret) |
485 | ret = clk_set_parent(clk[cko], clk[cko2]); | 445 | ret = clk_set_parent(clk[IMX6QDL_CLK_CKO], clk[IMX6QDL_CLK_CKO2]); |
486 | if (ret) | 446 | if (ret) |
487 | pr_warn("failed to set up CLKO: %d\n", ret); | 447 | pr_warn("failed to set up CLKO: %d\n", ret); |
488 | 448 | ||
489 | /* Audio-related clocks configuration */ | 449 | /* Audio-related clocks configuration */ |
490 | clk_set_parent(clk[spdif_sel], clk[pll3_pfd3_454m]); | 450 | clk_set_parent(clk[IMX6QDL_CLK_SPDIF_SEL], clk[IMX6QDL_CLK_PLL3_PFD3_454M]); |
491 | 451 | ||
492 | /* All existing boards with PCIe use LVDS1 */ | 452 | /* All existing boards with PCIe use LVDS1 */ |
493 | if (IS_ENABLED(CONFIG_PCI_IMX6)) | 453 | if (IS_ENABLED(CONFIG_PCI_IMX6)) |
494 | clk_set_parent(clk[lvds1_sel], clk[sata_ref]); | 454 | clk_set_parent(clk[IMX6QDL_CLK_LVDS1_SEL], clk[IMX6QDL_CLK_SATA_REF_100M]); |
495 | 455 | ||
496 | /* Set initial power mode */ | 456 | /* Set initial power mode */ |
497 | imx6q_set_lpm(WAIT_CLOCKED); | 457 | imx6q_set_lpm(WAIT_CLOCKED); |
498 | |||
499 | mxc_timer_init_dt(of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt")); | ||
500 | } | 458 | } |
501 | CLK_OF_DECLARE(imx6q, "fsl,imx6q-ccm", imx6q_clocks_init); | 459 | CLK_OF_DECLARE(imx6q, "fsl,imx6q-ccm", imx6q_clocks_init); |
diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c index 5408ca70c8d6..fef46faf692f 100644 --- a/arch/arm/mach-imx/clk-imx6sl.c +++ b/arch/arm/mach-imx/clk-imx6sl.c | |||
@@ -348,18 +348,12 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node) | |||
348 | clks[IMX6SL_CLK_USDHC3] = imx_clk_gate2("usdhc3", "usdhc3_podf", base + 0x80, 6); | 348 | clks[IMX6SL_CLK_USDHC3] = imx_clk_gate2("usdhc3", "usdhc3_podf", base + 0x80, 6); |
349 | clks[IMX6SL_CLK_USDHC4] = imx_clk_gate2("usdhc4", "usdhc4_podf", base + 0x80, 8); | 349 | clks[IMX6SL_CLK_USDHC4] = imx_clk_gate2("usdhc4", "usdhc4_podf", base + 0x80, 8); |
350 | 350 | ||
351 | for (i = 0; i < ARRAY_SIZE(clks); i++) | 351 | imx_check_clocks(clks, ARRAY_SIZE(clks)); |
352 | if (IS_ERR(clks[i])) | ||
353 | pr_err("i.MX6SL clk %d: register failed with %ld\n", | ||
354 | i, PTR_ERR(clks[i])); | ||
355 | 352 | ||
356 | clk_data.clks = clks; | 353 | clk_data.clks = clks; |
357 | clk_data.clk_num = ARRAY_SIZE(clks); | 354 | clk_data.clk_num = ARRAY_SIZE(clks); |
358 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 355 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
359 | 356 | ||
360 | clk_register_clkdev(clks[IMX6SL_CLK_GPT], "ipg", "imx-gpt.0"); | ||
361 | clk_register_clkdev(clks[IMX6SL_CLK_GPT_SERIAL], "per", "imx-gpt.0"); | ||
362 | |||
363 | /* Ensure the AHB clk is at 132MHz. */ | 357 | /* Ensure the AHB clk is at 132MHz. */ |
364 | ret = clk_set_rate(clks[IMX6SL_CLK_AHB], 132000000); | 358 | ret = clk_set_rate(clks[IMX6SL_CLK_AHB], 132000000); |
365 | if (ret) | 359 | if (ret) |
@@ -383,8 +377,5 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node) | |||
383 | 377 | ||
384 | /* Set initial power mode */ | 378 | /* Set initial power mode */ |
385 | imx6q_set_lpm(WAIT_CLOCKED); | 379 | imx6q_set_lpm(WAIT_CLOCKED); |
386 | |||
387 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt"); | ||
388 | mxc_timer_init_dt(np); | ||
389 | } | 380 | } |
390 | CLK_OF_DECLARE(imx6sl, "fsl,imx6sl-ccm", imx6sl_clocks_init); | 381 | CLK_OF_DECLARE(imx6sl, "fsl,imx6sl-ccm", imx6sl_clocks_init); |
diff --git a/arch/arm/mach-imx/clk-imx6sx.c b/arch/arm/mach-imx/clk-imx6sx.c index 72f8902235d1..ecde72bdfe88 100644 --- a/arch/arm/mach-imx/clk-imx6sx.c +++ b/arch/arm/mach-imx/clk-imx6sx.c | |||
@@ -124,6 +124,9 @@ static struct clk_div_table video_div_table[] = { | |||
124 | static u32 share_count_asrc; | 124 | static u32 share_count_asrc; |
125 | static u32 share_count_audio; | 125 | static u32 share_count_audio; |
126 | static u32 share_count_esai; | 126 | static u32 share_count_esai; |
127 | static u32 share_count_ssi1; | ||
128 | static u32 share_count_ssi2; | ||
129 | static u32 share_count_ssi3; | ||
127 | 130 | ||
128 | static void __init imx6sx_clocks_init(struct device_node *ccm_node) | 131 | static void __init imx6sx_clocks_init(struct device_node *ccm_node) |
129 | { | 132 | { |
@@ -409,12 +412,12 @@ static void __init imx6sx_clocks_init(struct device_node *ccm_node) | |||
409 | clks[IMX6SX_CLK_SPBA] = imx_clk_gate2("spba", "ipg", base + 0x7c, 12); | 412 | clks[IMX6SX_CLK_SPBA] = imx_clk_gate2("spba", "ipg", base + 0x7c, 12); |
410 | clks[IMX6SX_CLK_AUDIO] = imx_clk_gate2_shared("audio", "audio_podf", base + 0x7c, 14, &share_count_audio); | 413 | clks[IMX6SX_CLK_AUDIO] = imx_clk_gate2_shared("audio", "audio_podf", base + 0x7c, 14, &share_count_audio); |
411 | clks[IMX6SX_CLK_SPDIF] = imx_clk_gate2_shared("spdif", "spdif_podf", base + 0x7c, 14, &share_count_audio); | 414 | clks[IMX6SX_CLK_SPDIF] = imx_clk_gate2_shared("spdif", "spdif_podf", base + 0x7c, 14, &share_count_audio); |
412 | clks[IMX6SX_CLK_SSI1_IPG] = imx_clk_gate2("ssi1_ipg", "ipg", base + 0x7c, 18); | 415 | clks[IMX6SX_CLK_SSI1_IPG] = imx_clk_gate2_shared("ssi1_ipg", "ipg", base + 0x7c, 18, &share_count_ssi1); |
413 | clks[IMX6SX_CLK_SSI2_IPG] = imx_clk_gate2("ssi2_ipg", "ipg", base + 0x7c, 20); | 416 | clks[IMX6SX_CLK_SSI2_IPG] = imx_clk_gate2_shared("ssi2_ipg", "ipg", base + 0x7c, 20, &share_count_ssi2); |
414 | clks[IMX6SX_CLK_SSI3_IPG] = imx_clk_gate2("ssi3_ipg", "ipg", base + 0x7c, 22); | 417 | clks[IMX6SX_CLK_SSI3_IPG] = imx_clk_gate2_shared("ssi3_ipg", "ipg", base + 0x7c, 22, &share_count_ssi3); |
415 | clks[IMX6SX_CLK_SSI1] = imx_clk_gate2("ssi1", "ssi1_podf", base + 0x7c, 18); | 418 | clks[IMX6SX_CLK_SSI1] = imx_clk_gate2_shared("ssi1", "ssi1_podf", base + 0x7c, 18, &share_count_ssi1); |
416 | clks[IMX6SX_CLK_SSI2] = imx_clk_gate2("ssi2", "ssi2_podf", base + 0x7c, 20); | 419 | clks[IMX6SX_CLK_SSI2] = imx_clk_gate2_shared("ssi2", "ssi2_podf", base + 0x7c, 20, &share_count_ssi2); |
417 | clks[IMX6SX_CLK_SSI3] = imx_clk_gate2("ssi3", "ssi3_podf", base + 0x7c, 22); | 420 | clks[IMX6SX_CLK_SSI3] = imx_clk_gate2_shared("ssi3", "ssi3_podf", base + 0x7c, 22, &share_count_ssi3); |
418 | clks[IMX6SX_CLK_UART_IPG] = imx_clk_gate2("uart_ipg", "ipg", base + 0x7c, 24); | 421 | clks[IMX6SX_CLK_UART_IPG] = imx_clk_gate2("uart_ipg", "ipg", base + 0x7c, 24); |
419 | clks[IMX6SX_CLK_UART_SERIAL] = imx_clk_gate2("uart_serial", "uart_podf", base + 0x7c, 26); | 422 | clks[IMX6SX_CLK_UART_SERIAL] = imx_clk_gate2("uart_serial", "uart_podf", base + 0x7c, 26); |
420 | clks[IMX6SX_CLK_SAI1_IPG] = imx_clk_gate2("sai1_ipg", "ipg", base + 0x7c, 28); | 423 | clks[IMX6SX_CLK_SAI1_IPG] = imx_clk_gate2("sai1_ipg", "ipg", base + 0x7c, 28); |
@@ -443,17 +446,12 @@ static void __init imx6sx_clocks_init(struct device_node *ccm_node) | |||
443 | /* mask handshake of mmdc */ | 446 | /* mask handshake of mmdc */ |
444 | writel_relaxed(BM_CCM_CCDR_MMDC_CH0_MASK, base + CCDR); | 447 | writel_relaxed(BM_CCM_CCDR_MMDC_CH0_MASK, base + CCDR); |
445 | 448 | ||
446 | for (i = 0; i < ARRAY_SIZE(clks); i++) | 449 | imx_check_clocks(clks, ARRAY_SIZE(clks)); |
447 | if (IS_ERR(clks[i])) | ||
448 | pr_err("i.MX6sx clk %d: register failed with %ld\n", i, PTR_ERR(clks[i])); | ||
449 | 450 | ||
450 | clk_data.clks = clks; | 451 | clk_data.clks = clks; |
451 | clk_data.clk_num = ARRAY_SIZE(clks); | 452 | clk_data.clk_num = ARRAY_SIZE(clks); |
452 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 453 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
453 | 454 | ||
454 | clk_register_clkdev(clks[IMX6SX_CLK_GPT_BUS], "ipg", "imx-gpt.0"); | ||
455 | clk_register_clkdev(clks[IMX6SX_CLK_GPT_SERIAL], "per", "imx-gpt.0"); | ||
456 | |||
457 | for (i = 0; i < ARRAY_SIZE(clks_init_on); i++) | 455 | for (i = 0; i < ARRAY_SIZE(clks_init_on); i++) |
458 | clk_prepare_enable(clks[clks_init_on[i]]); | 456 | clk_prepare_enable(clks[clks_init_on[i]]); |
459 | 457 | ||
@@ -517,8 +515,5 @@ static void __init imx6sx_clocks_init(struct device_node *ccm_node) | |||
517 | 515 | ||
518 | /* Set initial power mode */ | 516 | /* Set initial power mode */ |
519 | imx6q_set_lpm(WAIT_CLOCKED); | 517 | imx6q_set_lpm(WAIT_CLOCKED); |
520 | |||
521 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6sx-gpt"); | ||
522 | mxc_timer_init_dt(np); | ||
523 | } | 518 | } |
524 | CLK_OF_DECLARE(imx6sx, "fsl,imx6sx-ccm", imx6sx_clocks_init); | 519 | CLK_OF_DECLARE(imx6sx, "fsl,imx6sx-ccm", imx6sx_clocks_init); |
diff --git a/arch/arm/mach-imx/clk-vf610.c b/arch/arm/mach-imx/clk-vf610.c index 22dc3ee21fd4..f60d6d569ce3 100644 --- a/arch/arm/mach-imx/clk-vf610.c +++ b/arch/arm/mach-imx/clk-vf610.c | |||
@@ -295,14 +295,18 @@ static void __init vf610_clocks_init(struct device_node *ccm_node) | |||
295 | 295 | ||
296 | clk[VF610_CLK_ASRC] = imx_clk_gate2("asrc", "ipg_bus", CCM_CCGR4, CCM_CCGRx_CGn(1)); | 296 | clk[VF610_CLK_ASRC] = imx_clk_gate2("asrc", "ipg_bus", CCM_CCGR4, CCM_CCGRx_CGn(1)); |
297 | 297 | ||
298 | clk[VF610_CLK_FLEXCAN0] = imx_clk_gate2("flexcan0", "ipg_bus", CCM_CCGR0, CCM_CCGRx_CGn(0)); | 298 | clk[VF610_CLK_FLEXCAN0_EN] = imx_clk_gate("flexcan0_en", "ipg_bus", CCM_CSCDR2, 11); |
299 | clk[VF610_CLK_FLEXCAN1] = imx_clk_gate2("flexcan1", "ipg_bus", CCM_CCGR9, CCM_CCGRx_CGn(4)); | 299 | clk[VF610_CLK_FLEXCAN0] = imx_clk_gate2("flexcan0", "flexcan0_en", CCM_CCGR0, CCM_CCGRx_CGn(0)); |
300 | clk[VF610_CLK_FLEXCAN1_EN] = imx_clk_gate("flexcan1_en", "ipg_bus", CCM_CSCDR2, 12); | ||
301 | clk[VF610_CLK_FLEXCAN1] = imx_clk_gate2("flexcan1", "flexcan1_en", CCM_CCGR9, CCM_CCGRx_CGn(4)); | ||
300 | 302 | ||
301 | clk[VF610_CLK_DMAMUX0] = imx_clk_gate2("dmamux0", "platform_bus", CCM_CCGR0, CCM_CCGRx_CGn(4)); | 303 | clk[VF610_CLK_DMAMUX0] = imx_clk_gate2("dmamux0", "platform_bus", CCM_CCGR0, CCM_CCGRx_CGn(4)); |
302 | clk[VF610_CLK_DMAMUX1] = imx_clk_gate2("dmamux1", "platform_bus", CCM_CCGR0, CCM_CCGRx_CGn(5)); | 304 | clk[VF610_CLK_DMAMUX1] = imx_clk_gate2("dmamux1", "platform_bus", CCM_CCGR0, CCM_CCGRx_CGn(5)); |
303 | clk[VF610_CLK_DMAMUX2] = imx_clk_gate2("dmamux2", "platform_bus", CCM_CCGR6, CCM_CCGRx_CGn(1)); | 305 | clk[VF610_CLK_DMAMUX2] = imx_clk_gate2("dmamux2", "platform_bus", CCM_CCGR6, CCM_CCGRx_CGn(1)); |
304 | clk[VF610_CLK_DMAMUX3] = imx_clk_gate2("dmamux3", "platform_bus", CCM_CCGR6, CCM_CCGRx_CGn(2)); | 306 | clk[VF610_CLK_DMAMUX3] = imx_clk_gate2("dmamux3", "platform_bus", CCM_CCGR6, CCM_CCGRx_CGn(2)); |
305 | 307 | ||
308 | imx_check_clocks(clk, ARRAY_SIZE(clk)); | ||
309 | |||
306 | clk_set_parent(clk[VF610_CLK_QSPI0_SEL], clk[VF610_CLK_PLL1_PFD4]); | 310 | clk_set_parent(clk[VF610_CLK_QSPI0_SEL], clk[VF610_CLK_PLL1_PFD4]); |
307 | clk_set_rate(clk[VF610_CLK_QSPI0_X4_DIV], clk_get_rate(clk[VF610_CLK_QSPI0_SEL]) / 2); | 311 | clk_set_rate(clk[VF610_CLK_QSPI0_X4_DIV], clk_get_rate(clk[VF610_CLK_QSPI0_SEL]) / 2); |
308 | clk_set_rate(clk[VF610_CLK_QSPI0_X2_DIV], clk_get_rate(clk[VF610_CLK_QSPI0_X4_DIV]) / 2); | 312 | clk_set_rate(clk[VF610_CLK_QSPI0_X2_DIV], clk_get_rate(clk[VF610_CLK_QSPI0_X4_DIV]) / 2); |
diff --git a/arch/arm/mach-imx/clk.c b/arch/arm/mach-imx/clk.c index edc35df7bed4..df12b5307175 100644 --- a/arch/arm/mach-imx/clk.c +++ b/arch/arm/mach-imx/clk.c | |||
@@ -7,6 +7,16 @@ | |||
7 | 7 | ||
8 | DEFINE_SPINLOCK(imx_ccm_lock); | 8 | DEFINE_SPINLOCK(imx_ccm_lock); |
9 | 9 | ||
10 | void __init imx_check_clocks(struct clk *clks[], unsigned int count) | ||
11 | { | ||
12 | unsigned i; | ||
13 | |||
14 | for (i = 0; i < count; i++) | ||
15 | if (IS_ERR(clks[i])) | ||
16 | pr_err("i.MX clk %u: register failed with %ld\n", | ||
17 | i, PTR_ERR(clks[i])); | ||
18 | } | ||
19 | |||
10 | static struct clk * __init imx_obtain_fixed_clock_from_dt(const char *name) | 20 | static struct clk * __init imx_obtain_fixed_clock_from_dt(const char *name) |
11 | { | 21 | { |
12 | struct of_phandle_args phandle; | 22 | struct of_phandle_args phandle; |
diff --git a/arch/arm/mach-imx/clk.h b/arch/arm/mach-imx/clk.h index e29f6ebe9f39..d5ba76fee115 100644 --- a/arch/arm/mach-imx/clk.h +++ b/arch/arm/mach-imx/clk.h | |||
@@ -6,6 +6,8 @@ | |||
6 | 6 | ||
7 | extern spinlock_t imx_ccm_lock; | 7 | extern spinlock_t imx_ccm_lock; |
8 | 8 | ||
9 | void imx_check_clocks(struct clk *clks[], unsigned int count); | ||
10 | |||
9 | extern void imx_cscmr1_fixup(u32 *val); | 11 | extern void imx_cscmr1_fixup(u32 *val); |
10 | 12 | ||
11 | struct clk *imx_clk_pllv1(const char *name, const char *parent, | 13 | struct clk *imx_clk_pllv1(const char *name, const char *parent, |
@@ -95,6 +97,13 @@ static inline struct clk *imx_clk_gate(const char *name, const char *parent, | |||
95 | shift, 0, &imx_ccm_lock); | 97 | shift, 0, &imx_ccm_lock); |
96 | } | 98 | } |
97 | 99 | ||
100 | static inline struct clk *imx_clk_gate_dis(const char *name, const char *parent, | ||
101 | void __iomem *reg, u8 shift) | ||
102 | { | ||
103 | return clk_register_gate(NULL, name, parent, CLK_SET_RATE_PARENT, reg, | ||
104 | shift, CLK_GATE_SET_TO_DISABLE, &imx_ccm_lock); | ||
105 | } | ||
106 | |||
98 | static inline struct clk *imx_clk_mux(const char *name, void __iomem *reg, | 107 | static inline struct clk *imx_clk_mux(const char *name, void __iomem *reg, |
99 | u8 shift, u8 width, const char **parents, int num_parents) | 108 | u8 shift, u8 width, const char **parents, int num_parents) |
100 | { | 109 | { |
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h index 9ab785ce13e8..22ba8973bcb9 100644 --- a/arch/arm/mach-imx/common.h +++ b/arch/arm/mach-imx/common.h | |||
@@ -19,6 +19,7 @@ struct pt_regs; | |||
19 | struct clk; | 19 | struct clk; |
20 | struct device_node; | 20 | struct device_node; |
21 | enum mxc_cpu_pwr_mode; | 21 | enum mxc_cpu_pwr_mode; |
22 | struct of_device_id; | ||
22 | 23 | ||
23 | void mx1_map_io(void); | 24 | void mx1_map_io(void); |
24 | void mx21_map_io(void); | 25 | void mx21_map_io(void); |
@@ -26,48 +27,34 @@ void mx25_map_io(void); | |||
26 | void mx27_map_io(void); | 27 | void mx27_map_io(void); |
27 | void mx31_map_io(void); | 28 | void mx31_map_io(void); |
28 | void mx35_map_io(void); | 29 | void mx35_map_io(void); |
29 | void mx51_map_io(void); | ||
30 | void mx53_map_io(void); | ||
31 | void imx1_init_early(void); | 30 | void imx1_init_early(void); |
32 | void imx21_init_early(void); | 31 | void imx21_init_early(void); |
33 | void imx25_init_early(void); | 32 | void imx25_init_early(void); |
34 | void imx27_init_early(void); | 33 | void imx27_init_early(void); |
35 | void imx31_init_early(void); | 34 | void imx31_init_early(void); |
36 | void imx35_init_early(void); | 35 | void imx35_init_early(void); |
37 | void imx51_init_early(void); | ||
38 | void imx53_init_early(void); | ||
39 | void mxc_init_irq(void __iomem *); | 36 | void mxc_init_irq(void __iomem *); |
40 | void tzic_init_irq(void __iomem *); | 37 | void tzic_init_irq(void); |
41 | void mx1_init_irq(void); | 38 | void mx1_init_irq(void); |
42 | void mx21_init_irq(void); | 39 | void mx21_init_irq(void); |
43 | void mx25_init_irq(void); | 40 | void mx25_init_irq(void); |
44 | void mx27_init_irq(void); | 41 | void mx27_init_irq(void); |
45 | void mx31_init_irq(void); | 42 | void mx31_init_irq(void); |
46 | void mx35_init_irq(void); | 43 | void mx35_init_irq(void); |
47 | void mx51_init_irq(void); | ||
48 | void mx53_init_irq(void); | ||
49 | void imx1_soc_init(void); | 44 | void imx1_soc_init(void); |
50 | void imx21_soc_init(void); | 45 | void imx21_soc_init(void); |
51 | void imx25_soc_init(void); | 46 | void imx25_soc_init(void); |
52 | void imx27_soc_init(void); | 47 | void imx27_soc_init(void); |
53 | void imx31_soc_init(void); | 48 | void imx31_soc_init(void); |
54 | void imx35_soc_init(void); | 49 | void imx35_soc_init(void); |
55 | void imx51_soc_init(void); | ||
56 | void imx51_init_late(void); | ||
57 | void imx53_init_late(void); | ||
58 | void epit_timer_init(void __iomem *base, int irq); | 50 | void epit_timer_init(void __iomem *base, int irq); |
59 | void mxc_timer_init(void __iomem *, int); | 51 | void mxc_timer_init(void __iomem *, int); |
60 | void mxc_timer_init_dt(struct device_node *); | ||
61 | int mx1_clocks_init(unsigned long fref); | 52 | int mx1_clocks_init(unsigned long fref); |
62 | int mx21_clocks_init(unsigned long lref, unsigned long fref); | 53 | int mx21_clocks_init(unsigned long lref, unsigned long fref); |
63 | int mx25_clocks_init(void); | 54 | int mx25_clocks_init(void); |
64 | int mx27_clocks_init(unsigned long fref); | 55 | int mx27_clocks_init(unsigned long fref); |
65 | int mx31_clocks_init(unsigned long fref); | 56 | int mx31_clocks_init(unsigned long fref); |
66 | int mx35_clocks_init(void); | 57 | int mx35_clocks_init(void); |
67 | int mx51_clocks_init(unsigned long ckil, unsigned long osc, | ||
68 | unsigned long ckih1, unsigned long ckih2); | ||
69 | int mx25_clocks_init_dt(void); | ||
70 | int mx27_clocks_init_dt(void); | ||
71 | int mx31_clocks_init_dt(void); | 58 | int mx31_clocks_init_dt(void); |
72 | struct platform_device *mxc_register_gpio(char *name, int id, | 59 | struct platform_device *mxc_register_gpio(char *name, int id, |
73 | resource_size_t iobase, resource_size_t iosize, int irq, int irq_high); | 60 | resource_size_t iobase, resource_size_t iosize, int irq, int irq_high); |
@@ -75,8 +62,10 @@ void mxc_set_cpu_type(unsigned int type); | |||
75 | void mxc_restart(enum reboot_mode, const char *); | 62 | void mxc_restart(enum reboot_mode, const char *); |
76 | void mxc_arch_reset_init(void __iomem *); | 63 | void mxc_arch_reset_init(void __iomem *); |
77 | void mxc_arch_reset_init_dt(void); | 64 | void mxc_arch_reset_init_dt(void); |
65 | int mx51_revision(void); | ||
78 | int mx53_revision(void); | 66 | int mx53_revision(void); |
79 | void imx_set_aips(void __iomem *); | 67 | void imx_set_aips(void __iomem *); |
68 | void imx_aips_allow_unprivileged_access(const char *compat); | ||
80 | int mxc_device_init(void); | 69 | int mxc_device_init(void); |
81 | void imx_set_soc_revision(unsigned int rev); | 70 | void imx_set_soc_revision(unsigned int rev); |
82 | unsigned int imx_get_soc_revision(void); | 71 | unsigned int imx_get_soc_revision(void); |
@@ -117,7 +106,7 @@ static inline void imx_scu_standby_enable(void) {} | |||
117 | #endif | 106 | #endif |
118 | void imx_src_init(void); | 107 | void imx_src_init(void); |
119 | void imx_gpc_init(void); | 108 | void imx_gpc_init(void); |
120 | void imx_gpc_pre_suspend(void); | 109 | void imx_gpc_pre_suspend(bool arm_power_off); |
121 | void imx_gpc_post_resume(void); | 110 | void imx_gpc_post_resume(void); |
122 | void imx_gpc_mask_all(void); | 111 | void imx_gpc_mask_all(void); |
123 | void imx_gpc_restore_all(void); | 112 | void imx_gpc_restore_all(void); |
@@ -127,7 +116,7 @@ void imx_anatop_init(void); | |||
127 | void imx_anatop_pre_suspend(void); | 116 | void imx_anatop_pre_suspend(void); |
128 | void imx_anatop_post_resume(void); | 117 | void imx_anatop_post_resume(void); |
129 | int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode); | 118 | int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode); |
130 | void imx6q_set_int_mem_clk_lpm(void); | 119 | void imx6q_set_int_mem_clk_lpm(bool enable); |
131 | void imx6sl_set_wait_clk(bool enter); | 120 | void imx6sl_set_wait_clk(bool enter); |
132 | 121 | ||
133 | void imx_cpu_die(unsigned int cpu); | 122 | void imx_cpu_die(unsigned int cpu); |
@@ -144,12 +133,17 @@ static inline void imx6_suspend(void __iomem *ocram_vbase) {} | |||
144 | void imx6q_pm_init(void); | 133 | void imx6q_pm_init(void); |
145 | void imx6dl_pm_init(void); | 134 | void imx6dl_pm_init(void); |
146 | void imx6sl_pm_init(void); | 135 | void imx6sl_pm_init(void); |
136 | void imx6sx_pm_init(void); | ||
147 | void imx6q_pm_set_ccm_base(void __iomem *base); | 137 | void imx6q_pm_set_ccm_base(void __iomem *base); |
148 | 138 | ||
149 | #ifdef CONFIG_PM | 139 | #ifdef CONFIG_PM |
150 | void imx5_pm_init(void); | 140 | void imx51_pm_init(void); |
141 | void imx53_pm_init(void); | ||
142 | void imx5_pm_set_ccm_base(void __iomem *base); | ||
151 | #else | 143 | #else |
152 | static inline void imx5_pm_init(void) {} | 144 | static inline void imx51_pm_init(void) {} |
145 | static inline void imx53_pm_init(void) {} | ||
146 | static inline void imx5_pm_set_ccm_base(void __iomem *base) {} | ||
153 | #endif | 147 | #endif |
154 | 148 | ||
155 | #ifdef CONFIG_NEON | 149 | #ifdef CONFIG_NEON |
diff --git a/arch/arm/mach-imx/cpu-imx5.c b/arch/arm/mach-imx/cpu-imx5.c index c1c99a72c6a1..3403bac94a31 100644 --- a/arch/arm/mach-imx/cpu-imx5.c +++ b/arch/arm/mach-imx/cpu-imx5.c | |||
@@ -16,6 +16,8 @@ | |||
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
18 | #include <linux/io.h> | 18 | #include <linux/io.h> |
19 | #include <linux/of.h> | ||
20 | #include <linux/of_address.h> | ||
19 | 21 | ||
20 | #include "hardware.h" | 22 | #include "hardware.h" |
21 | #include "common.h" | 23 | #include "common.h" |
@@ -24,10 +26,26 @@ static int mx5_cpu_rev = -1; | |||
24 | 26 | ||
25 | #define IIM_SREV 0x24 | 27 | #define IIM_SREV 0x24 |
26 | 28 | ||
29 | static u32 imx5_read_srev_reg(const char *compat) | ||
30 | { | ||
31 | void __iomem *iim_base; | ||
32 | struct device_node *np; | ||
33 | u32 srev; | ||
34 | |||
35 | np = of_find_compatible_node(NULL, NULL, compat); | ||
36 | iim_base = of_iomap(np, 0); | ||
37 | WARN_ON(!iim_base); | ||
38 | |||
39 | srev = readl(iim_base + IIM_SREV) & 0xff; | ||
40 | |||
41 | iounmap(iim_base); | ||
42 | |||
43 | return srev; | ||
44 | } | ||
45 | |||
27 | static int get_mx51_srev(void) | 46 | static int get_mx51_srev(void) |
28 | { | 47 | { |
29 | void __iomem *iim_base = MX51_IO_ADDRESS(MX51_IIM_BASE_ADDR); | 48 | u32 rev = imx5_read_srev_reg("fsl,imx51-iim"); |
30 | u32 rev = readl(iim_base + IIM_SREV) & 0xff; | ||
31 | 49 | ||
32 | switch (rev) { | 50 | switch (rev) { |
33 | case 0x0: | 51 | case 0x0: |
@@ -77,8 +95,7 @@ int __init mx51_neon_fixup(void) | |||
77 | 95 | ||
78 | static int get_mx53_srev(void) | 96 | static int get_mx53_srev(void) |
79 | { | 97 | { |
80 | void __iomem *iim_base = MX51_IO_ADDRESS(MX53_IIM_BASE_ADDR); | 98 | u32 rev = imx5_read_srev_reg("fsl,imx53-iim"); |
81 | u32 rev = readl(iim_base + IIM_SREV) & 0xff; | ||
82 | 99 | ||
83 | switch (rev) { | 100 | switch (rev) { |
84 | case 0x0: | 101 | case 0x0: |
diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index bbe8ff1f0412..df42c14ff749 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c | |||
@@ -2,6 +2,7 @@ | |||
2 | #include <linux/module.h> | 2 | #include <linux/module.h> |
3 | #include <linux/io.h> | 3 | #include <linux/io.h> |
4 | #include <linux/of.h> | 4 | #include <linux/of.h> |
5 | #include <linux/of_address.h> | ||
5 | #include <linux/slab.h> | 6 | #include <linux/slab.h> |
6 | #include <linux/sys_soc.h> | 7 | #include <linux/sys_soc.h> |
7 | 8 | ||
@@ -60,6 +61,18 @@ void __init imx_set_aips(void __iomem *base) | |||
60 | __raw_writel(reg, base + 0x50); | 61 | __raw_writel(reg, base + 0x50); |
61 | } | 62 | } |
62 | 63 | ||
64 | void __init imx_aips_allow_unprivileged_access( | ||
65 | const char *compat) | ||
66 | { | ||
67 | void __iomem *aips_base_addr; | ||
68 | struct device_node *np; | ||
69 | |||
70 | for_each_compatible_node(np, NULL, compat) { | ||
71 | aips_base_addr = of_iomap(np, 0); | ||
72 | imx_set_aips(aips_base_addr); | ||
73 | } | ||
74 | } | ||
75 | |||
63 | struct device * __init imx_soc_device_init(void) | 76 | struct device * __init imx_soc_device_init(void) |
64 | { | 77 | { |
65 | struct soc_device_attribute *soc_dev_attr; | 78 | struct soc_device_attribute *soc_dev_attr; |
diff --git a/arch/arm/mach-imx/cpuidle-imx6q.c b/arch/arm/mach-imx/cpuidle-imx6q.c index 6bcae0479049..10844d3bb926 100644 --- a/arch/arm/mach-imx/cpuidle-imx6q.c +++ b/arch/arm/mach-imx/cpuidle-imx6q.c | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #include "common.h" | 14 | #include "common.h" |
15 | #include "cpuidle.h" | 15 | #include "cpuidle.h" |
16 | #include "hardware.h" | ||
16 | 17 | ||
17 | static atomic_t master = ATOMIC_INIT(0); | 18 | static atomic_t master = ATOMIC_INIT(0); |
18 | static DEFINE_SPINLOCK(master_lock); | 19 | static DEFINE_SPINLOCK(master_lock); |
@@ -66,10 +67,11 @@ static struct cpuidle_driver imx6q_cpuidle_driver = { | |||
66 | int __init imx6q_cpuidle_init(void) | 67 | int __init imx6q_cpuidle_init(void) |
67 | { | 68 | { |
68 | /* Need to enable SCU standby for entering WAIT modes */ | 69 | /* Need to enable SCU standby for entering WAIT modes */ |
69 | imx_scu_standby_enable(); | 70 | if (!cpu_is_imx6sx()) |
71 | imx_scu_standby_enable(); | ||
70 | 72 | ||
71 | /* Set INT_MEM_CLK_LPM bit to get a reliable WAIT mode support */ | 73 | /* Set INT_MEM_CLK_LPM bit to get a reliable WAIT mode support */ |
72 | imx6q_set_int_mem_clk_lpm(); | 74 | imx6q_set_int_mem_clk_lpm(true); |
73 | 75 | ||
74 | return cpuidle_register(&imx6q_cpuidle_driver, NULL); | 76 | return cpuidle_register(&imx6q_cpuidle_driver, NULL); |
75 | } | 77 | } |
diff --git a/arch/arm/mach-imx/crm-regs-imx5.h b/arch/arm/mach-imx/crm-regs-imx5.h deleted file mode 100644 index 5e3f1f0f4cab..000000000000 --- a/arch/arm/mach-imx/crm-regs-imx5.h +++ /dev/null | |||
@@ -1,600 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | #ifndef __ARCH_ARM_MACH_MX51_CRM_REGS_H__ | ||
12 | #define __ARCH_ARM_MACH_MX51_CRM_REGS_H__ | ||
13 | |||
14 | #define MX51_CCM_BASE MX51_IO_ADDRESS(MX51_CCM_BASE_ADDR) | ||
15 | #define MX51_DPLL1_BASE MX51_IO_ADDRESS(MX51_PLL1_BASE_ADDR) | ||
16 | #define MX51_DPLL2_BASE MX51_IO_ADDRESS(MX51_PLL2_BASE_ADDR) | ||
17 | #define MX51_DPLL3_BASE MX51_IO_ADDRESS(MX51_PLL3_BASE_ADDR) | ||
18 | #define MX51_CORTEXA8_BASE MX51_IO_ADDRESS(MX51_ARM_BASE_ADDR) | ||
19 | #define MX51_GPC_BASE MX51_IO_ADDRESS(MX51_GPC_BASE_ADDR) | ||
20 | |||
21 | /*MX53*/ | ||
22 | #define MX53_CCM_BASE MX53_IO_ADDRESS(MX53_CCM_BASE_ADDR) | ||
23 | #define MX53_DPLL1_BASE MX53_IO_ADDRESS(MX53_PLL1_BASE_ADDR) | ||
24 | #define MX53_DPLL2_BASE MX53_IO_ADDRESS(MX53_PLL2_BASE_ADDR) | ||
25 | #define MX53_DPLL3_BASE MX53_IO_ADDRESS(MX53_PLL3_BASE_ADDR) | ||
26 | #define MX53_DPLL4_BASE MX53_IO_ADDRESS(MX53_PLL4_BASE_ADDR) | ||
27 | |||
28 | /* PLL Register Offsets */ | ||
29 | #define MXC_PLL_DP_CTL 0x00 | ||
30 | #define MXC_PLL_DP_CONFIG 0x04 | ||
31 | #define MXC_PLL_DP_OP 0x08 | ||
32 | #define MXC_PLL_DP_MFD 0x0C | ||
33 | #define MXC_PLL_DP_MFN 0x10 | ||
34 | #define MXC_PLL_DP_MFNMINUS 0x14 | ||
35 | #define MXC_PLL_DP_MFNPLUS 0x18 | ||
36 | #define MXC_PLL_DP_HFS_OP 0x1C | ||
37 | #define MXC_PLL_DP_HFS_MFD 0x20 | ||
38 | #define MXC_PLL_DP_HFS_MFN 0x24 | ||
39 | #define MXC_PLL_DP_MFN_TOGC 0x28 | ||
40 | #define MXC_PLL_DP_DESTAT 0x2c | ||
41 | |||
42 | /* PLL Register Bit definitions */ | ||
43 | #define MXC_PLL_DP_CTL_MUL_CTRL 0x2000 | ||
44 | #define MXC_PLL_DP_CTL_DPDCK0_2_EN 0x1000 | ||
45 | #define MXC_PLL_DP_CTL_DPDCK0_2_OFFSET 12 | ||
46 | #define MXC_PLL_DP_CTL_ADE 0x800 | ||
47 | #define MXC_PLL_DP_CTL_REF_CLK_DIV 0x400 | ||
48 | #define MXC_PLL_DP_CTL_REF_CLK_SEL_MASK (3 << 8) | ||
49 | #define MXC_PLL_DP_CTL_REF_CLK_SEL_OFFSET 8 | ||
50 | #define MXC_PLL_DP_CTL_HFSM 0x80 | ||
51 | #define MXC_PLL_DP_CTL_PRE 0x40 | ||
52 | #define MXC_PLL_DP_CTL_UPEN 0x20 | ||
53 | #define MXC_PLL_DP_CTL_RST 0x10 | ||
54 | #define MXC_PLL_DP_CTL_RCP 0x8 | ||
55 | #define MXC_PLL_DP_CTL_PLM 0x4 | ||
56 | #define MXC_PLL_DP_CTL_BRM0 0x2 | ||
57 | #define MXC_PLL_DP_CTL_LRF 0x1 | ||
58 | |||
59 | #define MXC_PLL_DP_CONFIG_BIST 0x8 | ||
60 | #define MXC_PLL_DP_CONFIG_SJC_CE 0x4 | ||
61 | #define MXC_PLL_DP_CONFIG_AREN 0x2 | ||
62 | #define MXC_PLL_DP_CONFIG_LDREQ 0x1 | ||
63 | |||
64 | #define MXC_PLL_DP_OP_MFI_OFFSET 4 | ||
65 | #define MXC_PLL_DP_OP_MFI_MASK (0xF << 4) | ||
66 | #define MXC_PLL_DP_OP_PDF_OFFSET 0 | ||
67 | #define MXC_PLL_DP_OP_PDF_MASK 0xF | ||
68 | |||
69 | #define MXC_PLL_DP_MFD_OFFSET 0 | ||
70 | #define MXC_PLL_DP_MFD_MASK 0x07FFFFFF | ||
71 | |||
72 | #define MXC_PLL_DP_MFN_OFFSET 0x0 | ||
73 | #define MXC_PLL_DP_MFN_MASK 0x07FFFFFF | ||
74 | |||
75 | #define MXC_PLL_DP_MFN_TOGC_TOG_DIS (1 << 17) | ||
76 | #define MXC_PLL_DP_MFN_TOGC_TOG_EN (1 << 16) | ||
77 | #define MXC_PLL_DP_MFN_TOGC_CNT_OFFSET 0x0 | ||
78 | #define MXC_PLL_DP_MFN_TOGC_CNT_MASK 0xFFFF | ||
79 | |||
80 | #define MXC_PLL_DP_DESTAT_TOG_SEL (1 << 31) | ||
81 | #define MXC_PLL_DP_DESTAT_MFN 0x07FFFFFF | ||
82 | |||
83 | /* Register addresses of CCM*/ | ||
84 | #define MXC_CCM_CCR (MX51_CCM_BASE + 0x00) | ||
85 | #define MXC_CCM_CCDR (MX51_CCM_BASE + 0x04) | ||
86 | #define MXC_CCM_CSR (MX51_CCM_BASE + 0x08) | ||
87 | #define MXC_CCM_CCSR (MX51_CCM_BASE + 0x0C) | ||
88 | #define MXC_CCM_CACRR (MX51_CCM_BASE + 0x10) | ||
89 | #define MXC_CCM_CBCDR (MX51_CCM_BASE + 0x14) | ||
90 | #define MXC_CCM_CBCMR (MX51_CCM_BASE + 0x18) | ||
91 | #define MXC_CCM_CSCMR1 (MX51_CCM_BASE + 0x1C) | ||
92 | #define MXC_CCM_CSCMR2 (MX51_CCM_BASE + 0x20) | ||
93 | #define MXC_CCM_CSCDR1 (MX51_CCM_BASE + 0x24) | ||
94 | #define MXC_CCM_CS1CDR (MX51_CCM_BASE + 0x28) | ||
95 | #define MXC_CCM_CS2CDR (MX51_CCM_BASE + 0x2C) | ||
96 | #define MXC_CCM_CDCDR (MX51_CCM_BASE + 0x30) | ||
97 | #define MXC_CCM_CHSCDR (MX51_CCM_BASE + 0x34) | ||
98 | #define MXC_CCM_CSCDR2 (MX51_CCM_BASE + 0x38) | ||
99 | #define MXC_CCM_CSCDR3 (MX51_CCM_BASE + 0x3C) | ||
100 | #define MXC_CCM_CSCDR4 (MX51_CCM_BASE + 0x40) | ||
101 | #define MXC_CCM_CWDR (MX51_CCM_BASE + 0x44) | ||
102 | #define MXC_CCM_CDHIPR (MX51_CCM_BASE + 0x48) | ||
103 | #define MXC_CCM_CDCR (MX51_CCM_BASE + 0x4C) | ||
104 | #define MXC_CCM_CTOR (MX51_CCM_BASE + 0x50) | ||
105 | #define MXC_CCM_CLPCR (MX51_CCM_BASE + 0x54) | ||
106 | #define MXC_CCM_CISR (MX51_CCM_BASE + 0x58) | ||
107 | #define MXC_CCM_CIMR (MX51_CCM_BASE + 0x5C) | ||
108 | #define MXC_CCM_CCOSR (MX51_CCM_BASE + 0x60) | ||
109 | #define MXC_CCM_CGPR (MX51_CCM_BASE + 0x64) | ||
110 | #define MXC_CCM_CCGR0 (MX51_CCM_BASE + 0x68) | ||
111 | #define MXC_CCM_CCGR1 (MX51_CCM_BASE + 0x6C) | ||
112 | #define MXC_CCM_CCGR2 (MX51_CCM_BASE + 0x70) | ||
113 | #define MXC_CCM_CCGR3 (MX51_CCM_BASE + 0x74) | ||
114 | #define MXC_CCM_CCGR4 (MX51_CCM_BASE + 0x78) | ||
115 | #define MXC_CCM_CCGR5 (MX51_CCM_BASE + 0x7C) | ||
116 | #define MXC_CCM_CCGR6 (MX51_CCM_BASE + 0x80) | ||
117 | #define MXC_CCM_CCGR7 (MX51_CCM_BASE + 0x84) | ||
118 | |||
119 | #define MXC_CCM_CMEOR (MX51_CCM_BASE + 0x84) | ||
120 | |||
121 | /* Define the bits in register CCR */ | ||
122 | #define MXC_CCM_CCR_COSC_EN (1 << 12) | ||
123 | #define MXC_CCM_CCR_FPM_MULT_MASK (1 << 11) | ||
124 | #define MXC_CCM_CCR_CAMP2_EN (1 << 10) | ||
125 | #define MXC_CCM_CCR_CAMP1_EN (1 << 9) | ||
126 | #define MXC_CCM_CCR_FPM_EN (1 << 8) | ||
127 | #define MXC_CCM_CCR_OSCNT_OFFSET (0) | ||
128 | #define MXC_CCM_CCR_OSCNT_MASK (0xFF) | ||
129 | |||
130 | /* Define the bits in register CCDR */ | ||
131 | #define MXC_CCM_CCDR_HSC_HS_MASK (0x1 << 18) | ||
132 | #define MXC_CCM_CCDR_IPU_HS_MASK (0x1 << 17) | ||
133 | #define MXC_CCM_CCDR_EMI_HS_MASK (0x1 << 16) | ||
134 | |||
135 | /* Define the bits in register CSR */ | ||
136 | #define MXC_CCM_CSR_COSR_READY (1 << 5) | ||
137 | #define MXC_CCM_CSR_LVS_VALUE (1 << 4) | ||
138 | #define MXC_CCM_CSR_CAMP2_READY (1 << 3) | ||
139 | #define MXC_CCM_CSR_CAMP1_READY (1 << 2) | ||
140 | #define MXC_CCM_CSR_FPM_READY (1 << 1) | ||
141 | #define MXC_CCM_CSR_REF_EN_B (1 << 0) | ||
142 | |||
143 | /* Define the bits in register CCSR */ | ||
144 | #define MXC_CCM_CCSR_LP_APM_SEL (0x1 << 9) | ||
145 | #define MXC_CCM_CCSR_STEP_SEL_OFFSET (7) | ||
146 | #define MXC_CCM_CCSR_STEP_SEL_MASK (0x3 << 7) | ||
147 | #define MXC_CCM_CCSR_STEP_SEL_LP_APM 0 | ||
148 | #define MXC_CCM_CCSR_STEP_SEL_PLL1_BYPASS 1 /* Only when JTAG connected? */ | ||
149 | #define MXC_CCM_CCSR_STEP_SEL_PLL2_DIVIDED 2 | ||
150 | #define MXC_CCM_CCSR_STEP_SEL_PLL3_DIVIDED 3 | ||
151 | #define MXC_CCM_CCSR_PLL2_PODF_OFFSET (5) | ||
152 | #define MXC_CCM_CCSR_PLL2_PODF_MASK (0x3 << 5) | ||
153 | #define MXC_CCM_CCSR_PLL3_PODF_OFFSET (3) | ||
154 | #define MXC_CCM_CCSR_PLL3_PODF_MASK (0x3 << 3) | ||
155 | #define MXC_CCM_CCSR_PLL1_SW_CLK_SEL (1 << 2) /* 0: pll1_main_clk, | ||
156 | 1: step_clk */ | ||
157 | #define MXC_CCM_CCSR_PLL2_SW_CLK_SEL (1 << 1) | ||
158 | #define MXC_CCM_CCSR_PLL3_SW_CLK_SEL (1 << 0) | ||
159 | |||
160 | /* Define the bits in register CACRR */ | ||
161 | #define MXC_CCM_CACRR_ARM_PODF_OFFSET (0) | ||
162 | #define MXC_CCM_CACRR_ARM_PODF_MASK (0x7) | ||
163 | |||
164 | /* Define the bits in register CBCDR */ | ||
165 | #define MXC_CCM_CBCDR_EMI_CLK_SEL (0x1 << 26) | ||
166 | #define MXC_CCM_CBCDR_PERIPH_CLK_SEL (0x1 << 25) | ||
167 | #define MXC_CCM_CBCDR_DDR_HF_SEL_OFFSET (30) | ||
168 | #define MXC_CCM_CBCDR_DDR_HF_SEL (0x1 << 30) | ||
169 | #define MXC_CCM_CBCDR_DDR_PODF_OFFSET (27) | ||
170 | #define MXC_CCM_CBCDR_DDR_PODF_MASK (0x7 << 27) | ||
171 | #define MXC_CCM_CBCDR_EMI_PODF_OFFSET (22) | ||
172 | #define MXC_CCM_CBCDR_EMI_PODF_MASK (0x7 << 22) | ||
173 | #define MXC_CCM_CBCDR_AXI_B_PODF_OFFSET (19) | ||
174 | #define MXC_CCM_CBCDR_AXI_B_PODF_MASK (0x7 << 19) | ||
175 | #define MXC_CCM_CBCDR_AXI_A_PODF_OFFSET (16) | ||
176 | #define MXC_CCM_CBCDR_AXI_A_PODF_MASK (0x7 << 16) | ||
177 | #define MXC_CCM_CBCDR_NFC_PODF_OFFSET (13) | ||
178 | #define MXC_CCM_CBCDR_NFC_PODF_MASK (0x7 << 13) | ||
179 | #define MXC_CCM_CBCDR_AHB_PODF_OFFSET (10) | ||
180 | #define MXC_CCM_CBCDR_AHB_PODF_MASK (0x7 << 10) | ||
181 | #define MXC_CCM_CBCDR_IPG_PODF_OFFSET (8) | ||
182 | #define MXC_CCM_CBCDR_IPG_PODF_MASK (0x3 << 8) | ||
183 | #define MXC_CCM_CBCDR_PERCLK_PRED1_OFFSET (6) | ||
184 | #define MXC_CCM_CBCDR_PERCLK_PRED1_MASK (0x3 << 6) | ||
185 | #define MXC_CCM_CBCDR_PERCLK_PRED2_OFFSET (3) | ||
186 | #define MXC_CCM_CBCDR_PERCLK_PRED2_MASK (0x7 << 3) | ||
187 | #define MXC_CCM_CBCDR_PERCLK_PODF_OFFSET (0) | ||
188 | #define MXC_CCM_CBCDR_PERCLK_PODF_MASK (0x7) | ||
189 | |||
190 | /* Define the bits in register CBCMR */ | ||
191 | #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_OFFSET (14) | ||
192 | #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_MASK (0x3 << 14) | ||
193 | #define MXC_CCM_CBCMR_PERIPH_CLK_SEL_OFFSET (12) | ||
194 | #define MXC_CCM_CBCMR_PERIPH_CLK_SEL_MASK (0x3 << 12) | ||
195 | #define MXC_CCM_CBCMR_DDR_CLK_SEL_OFFSET (10) | ||
196 | #define MXC_CCM_CBCMR_DDR_CLK_SEL_MASK (0x3 << 10) | ||
197 | #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL_OFFSET (8) | ||
198 | #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL_MASK (0x3 << 8) | ||
199 | #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL_OFFSET (6) | ||
200 | #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL_MASK (0x3 << 6) | ||
201 | #define MXC_CCM_CBCMR_GPU_CLK_SEL_OFFSET (4) | ||
202 | #define MXC_CCM_CBCMR_GPU_CLK_SEL_MASK (0x3 << 4) | ||
203 | #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_OFFSET (14) | ||
204 | #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_MASK (0x3 << 14) | ||
205 | #define MXC_CCM_CBCMR_PERCLK_LP_APM_CLK_SEL (0x1 << 1) | ||
206 | #define MXC_CCM_CBCMR_PERCLK_IPG_CLK_SEL (0x1 << 0) | ||
207 | |||
208 | /* Define the bits in register CSCMR1 */ | ||
209 | #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL_OFFSET (30) | ||
210 | #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL_MASK (0x3 << 30) | ||
211 | #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL_OFFSET (28) | ||
212 | #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL_MASK (0x3 << 28) | ||
213 | #define MXC_CCM_CSCMR1_USB_PHY_CLK_SEL_OFFSET (26) | ||
214 | #define MXC_CCM_CSCMR1_USB_PHY_CLK_SEL (0x1 << 26) | ||
215 | #define MXC_CCM_CSCMR1_UART_CLK_SEL_OFFSET (24) | ||
216 | #define MXC_CCM_CSCMR1_UART_CLK_SEL_MASK (0x3 << 24) | ||
217 | #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL_OFFSET (22) | ||
218 | #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL_MASK (0x3 << 22) | ||
219 | #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL_OFFSET (20) | ||
220 | #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL_MASK (0x3 << 20) | ||
221 | #define MXC_CCM_CSCMR1_ESDHC3_CLK_SEL (0x1 << 19) | ||
222 | #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_MX53_CLK_SEL (0x1 << 19) | ||
223 | #define MXC_CCM_CSCMR1_ESDHC4_CLK_SEL (0x1 << 18) | ||
224 | #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL_OFFSET (16) | ||
225 | #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL_MASK (0x3 << 16) | ||
226 | #define MXC_CCM_CSCMR1_ESDHC3_MX53_CLK_SEL_OFFSET (16) | ||
227 | #define MXC_CCM_CSCMR1_ESDHC3_MX53_CLK_SEL_MASK (0x3 << 16) | ||
228 | #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_OFFSET (14) | ||
229 | #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_MASK (0x3 << 14) | ||
230 | #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_OFFSET (12) | ||
231 | #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_MASK (0x3 << 12) | ||
232 | #define MXC_CCM_CSCMR1_SSI3_CLK_SEL (0x1 << 11) | ||
233 | #define MXC_CCM_CSCMR1_VPU_RCLK_SEL (0x1 << 10) | ||
234 | #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL_OFFSET (8) | ||
235 | #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL_MASK (0x3 << 8) | ||
236 | #define MXC_CCM_CSCMR1_TVE_CLK_SEL (0x1 << 7) | ||
237 | #define MXC_CCM_CSCMR1_TVE_EXT_CLK_SEL (0x1 << 6) | ||
238 | #define MXC_CCM_CSCMR1_CSPI_CLK_SEL_OFFSET (4) | ||
239 | #define MXC_CCM_CSCMR1_CSPI_CLK_SEL_MASK (0x3 << 4) | ||
240 | #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL_OFFSET (2) | ||
241 | #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL_MASK (0x3 << 2) | ||
242 | #define MXC_CCM_CSCMR1_SSI_EXT2_COM_CLK_SEL (0x1 << 1) | ||
243 | #define MXC_CCM_CSCMR1_SSI_EXT1_COM_CLK_SEL (0x1) | ||
244 | |||
245 | /* Define the bits in register CSCMR2 */ | ||
246 | #define MXC_CCM_CSCMR2_DI_CLK_SEL_OFFSET(n) (26+n*3) | ||
247 | #define MXC_CCM_CSCMR2_DI_CLK_SEL_MASK(n) (0x7 << (26+n*3)) | ||
248 | #define MXC_CCM_CSCMR2_CSI_MCLK2_CLK_SEL_OFFSET (24) | ||
249 | #define MXC_CCM_CSCMR2_CSI_MCLK2_CLK_SEL_MASK (0x3 << 24) | ||
250 | #define MXC_CCM_CSCMR2_CSI_MCLK1_CLK_SEL_OFFSET (22) | ||
251 | #define MXC_CCM_CSCMR2_CSI_MCLK1_CLK_SEL_MASK (0x3 << 22) | ||
252 | #define MXC_CCM_CSCMR2_ESC_CLK_SEL_OFFSET (20) | ||
253 | #define MXC_CCM_CSCMR2_ESC_CLK_SEL_MASK (0x3 << 20) | ||
254 | #define MXC_CCM_CSCMR2_HSC2_CLK_SEL_OFFSET (18) | ||
255 | #define MXC_CCM_CSCMR2_HSC2_CLK_SEL_MASK (0x3 << 18) | ||
256 | #define MXC_CCM_CSCMR2_HSC1_CLK_SEL_OFFSET (16) | ||
257 | #define MXC_CCM_CSCMR2_HSC1_CLK_SEL_MASK (0x3 << 16) | ||
258 | #define MXC_CCM_CSCMR2_HSI2C_CLK_SEL_OFFSET (14) | ||
259 | #define MXC_CCM_CSCMR2_HSI2C_CLK_SEL_MASK (0x3 << 14) | ||
260 | #define MXC_CCM_CSCMR2_FIRI_CLK_SEL_OFFSET (12) | ||
261 | #define MXC_CCM_CSCMR2_FIRI_CLK_SEL_MASK (0x3 << 12) | ||
262 | #define MXC_CCM_CSCMR2_SIM_CLK_SEL_OFFSET (10) | ||
263 | #define MXC_CCM_CSCMR2_SIM_CLK_SEL_MASK (0x3 << 10) | ||
264 | #define MXC_CCM_CSCMR2_SLIMBUS_COM (0x1 << 9) | ||
265 | #define MXC_CCM_CSCMR2_SLIMBUS_CLK_SEL_OFFSET (6) | ||
266 | #define MXC_CCM_CSCMR2_SLIMBUS_CLK_SEL_MASK (0x7 << 6) | ||
267 | #define MXC_CCM_CSCMR2_SPDIF1_COM (1 << 5) | ||
268 | #define MXC_CCM_CSCMR2_SPDIF0_COM (1 << 4) | ||
269 | #define MXC_CCM_CSCMR2_SPDIF1_CLK_SEL_OFFSET (2) | ||
270 | #define MXC_CCM_CSCMR2_SPDIF1_CLK_SEL_MASK (0x3 << 2) | ||
271 | #define MXC_CCM_CSCMR2_SPDIF0_CLK_SEL_OFFSET (0) | ||
272 | #define MXC_CCM_CSCMR2_SPDIF0_CLK_SEL_MASK (0x3) | ||
273 | |||
274 | /* Define the bits in register CSCDR1 */ | ||
275 | #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED_OFFSET (22) | ||
276 | #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED_MASK (0x7 << 22) | ||
277 | #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF_OFFSET (19) | ||
278 | #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF_MASK (0x7 << 19) | ||
279 | #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PRED_OFFSET (22) | ||
280 | #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PRED_MASK (0x7 << 22) | ||
281 | #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PODF_OFFSET (19) | ||
282 | #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PODF_MASK (0x7 << 19) | ||
283 | #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_OFFSET (16) | ||
284 | #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_MASK (0x7 << 16) | ||
285 | #define MXC_CCM_CSCDR1_PGC_CLK_PODF_OFFSET (14) | ||
286 | #define MXC_CCM_CSCDR1_PGC_CLK_PODF_MASK (0x3 << 14) | ||
287 | #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF_OFFSET (11) | ||
288 | #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF_MASK (0x7 << 11) | ||
289 | #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_OFFSET (8) | ||
290 | #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_MASK (0x7 << 8) | ||
291 | #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_OFFSET (6) | ||
292 | #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_MASK (0x3 << 6) | ||
293 | #define MXC_CCM_CSCDR1_UART_CLK_PRED_OFFSET (3) | ||
294 | #define MXC_CCM_CSCDR1_UART_CLK_PRED_MASK (0x7 << 3) | ||
295 | #define MXC_CCM_CSCDR1_UART_CLK_PODF_OFFSET (0) | ||
296 | #define MXC_CCM_CSCDR1_UART_CLK_PODF_MASK (0x7) | ||
297 | |||
298 | /* Define the bits in register CS1CDR and CS2CDR */ | ||
299 | #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PRED_OFFSET (22) | ||
300 | #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PRED_MASK (0x7 << 22) | ||
301 | #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PODF_OFFSET (16) | ||
302 | #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PODF_MASK (0x3F << 16) | ||
303 | #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_OFFSET (6) | ||
304 | #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_MASK (0x7 << 6) | ||
305 | #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_OFFSET (0) | ||
306 | #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_MASK (0x3F) | ||
307 | |||
308 | #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PRED_OFFSET (22) | ||
309 | #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PRED_MASK (0x7 << 22) | ||
310 | #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PODF_OFFSET (16) | ||
311 | #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PODF_MASK (0x3F << 16) | ||
312 | #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_OFFSET (6) | ||
313 | #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_MASK (0x7 << 6) | ||
314 | #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_OFFSET (0) | ||
315 | #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_MASK (0x3F) | ||
316 | |||
317 | /* Define the bits in register CDCDR */ | ||
318 | #define MXC_CCM_CDCDR_TVE_CLK_PRED_OFFSET (28) | ||
319 | #define MXC_CCM_CDCDR_TVE_CLK_PRED_MASK (0x7 << 28) | ||
320 | #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_OFFSET (25) | ||
321 | #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_MASK (0x7 << 25) | ||
322 | #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_OFFSET (19) | ||
323 | #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_MASK (0x3F << 19) | ||
324 | #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_OFFSET (16) | ||
325 | #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_MASK (0x7 << 16) | ||
326 | #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_OFFSET (9) | ||
327 | #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_MASK (0x3F << 9) | ||
328 | #define MXC_CCM_CDCDR_DI_CLK_PRED_OFFSET (6) | ||
329 | #define MXC_CCM_CDCDR_DI_CLK_PRED_MASK (0x7 << 6) | ||
330 | #define MXC_CCM_CDCDR_USB_PHY_PRED_OFFSET (3) | ||
331 | #define MXC_CCM_CDCDR_USB_PHY_PRED_MASK (0x7 << 3) | ||
332 | #define MXC_CCM_CDCDR_USB_PHY_PODF_OFFSET (0) | ||
333 | #define MXC_CCM_CDCDR_USB_PHY_PODF_MASK (0x7) | ||
334 | |||
335 | /* Define the bits in register CHSCCDR */ | ||
336 | #define MXC_CCM_CHSCCDR_ESC_CLK_PRED_OFFSET (12) | ||
337 | #define MXC_CCM_CHSCCDR_ESC_CLK_PRED_MASK (0x7 << 12) | ||
338 | #define MXC_CCM_CHSCCDR_ESC_CLK_PODF_OFFSET (6) | ||
339 | #define MXC_CCM_CHSCCDR_ESC_CLK_PODF_MASK (0x3F << 6) | ||
340 | #define MXC_CCM_CHSCCDR_HSC2_CLK_PODF_OFFSET (3) | ||
341 | #define MXC_CCM_CHSCCDR_HSC2_CLK_PODF_MASK (0x7 << 3) | ||
342 | #define MXC_CCM_CHSCCDR_HSC1_CLK_PODF_OFFSET (0) | ||
343 | #define MXC_CCM_CHSCCDR_HSC1_CLK_PODF_MASK (0x7) | ||
344 | |||
345 | /* Define the bits in register CSCDR2 */ | ||
346 | #define MXC_CCM_CSCDR2_CSPI_CLK_PRED_OFFSET (25) | ||
347 | #define MXC_CCM_CSCDR2_CSPI_CLK_PRED_MASK (0x7 << 25) | ||
348 | #define MXC_CCM_CSCDR2_CSPI_CLK_PODF_OFFSET (19) | ||
349 | #define MXC_CCM_CSCDR2_CSPI_CLK_PODF_MASK (0x3F << 19) | ||
350 | #define MXC_CCM_CSCDR2_SIM_CLK_PRED_OFFSET (16) | ||
351 | #define MXC_CCM_CSCDR2_SIM_CLK_PRED_MASK (0x7 << 16) | ||
352 | #define MXC_CCM_CSCDR2_SIM_CLK_PODF_OFFSET (9) | ||
353 | #define MXC_CCM_CSCDR2_SIM_CLK_PODF_MASK (0x3F << 9) | ||
354 | #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PRED_OFFSET (6) | ||
355 | #define MXC_CCM_CSCDR2_SLIMBUS_PRED_MASK (0x7 << 6) | ||
356 | #define MXC_CCM_CSCDR2_SLIMBUS_PODF_OFFSET (0) | ||
357 | #define MXC_CCM_CSCDR2_SLIMBUS_PODF_MASK (0x3F) | ||
358 | |||
359 | /* Define the bits in register CSCDR3 */ | ||
360 | #define MXC_CCM_CSCDR3_HSI2C_CLK_PRED_OFFSET (16) | ||
361 | #define MXC_CCM_CSCDR3_HSI2C_CLK_PRED_MASK (0x7 << 16) | ||
362 | #define MXC_CCM_CSCDR3_HSI2C_CLK_PODF_OFFSET (9) | ||
363 | #define MXC_CCM_CSCDR3_HSI2C_CLK_PODF_MASK (0x3F << 9) | ||
364 | #define MXC_CCM_CSCDR3_FIRI_CLK_PRED_OFFSET (6) | ||
365 | #define MXC_CCM_CSCDR3_FIRI_CLK_PRED_MASK (0x7 << 6) | ||
366 | #define MXC_CCM_CSCDR3_FIRI_CLK_PODF_OFFSET (0) | ||
367 | #define MXC_CCM_CSCDR3_FIRI_CLK_PODF_MASK (0x3F) | ||
368 | |||
369 | /* Define the bits in register CSCDR4 */ | ||
370 | #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PRED_OFFSET (16) | ||
371 | #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PRED_MASK (0x7 << 16) | ||
372 | #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PODF_OFFSET (9) | ||
373 | #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PODF_MASK (0x3F << 9) | ||
374 | #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PRED_OFFSET (6) | ||
375 | #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PRED_MASK (0x7 << 6) | ||
376 | #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PODF_OFFSET (0) | ||
377 | #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PODF_MASK (0x3F) | ||
378 | |||
379 | /* Define the bits in register CDHIPR */ | ||
380 | #define MXC_CCM_CDHIPR_ARM_PODF_BUSY (1 << 16) | ||
381 | #define MXC_CCM_CDHIPR_DDR_HF_CLK_SEL_BUSY (1 << 8) | ||
382 | #define MXC_CCM_CDHIPR_DDR_PODF_BUSY (1 << 7) | ||
383 | #define MXC_CCM_CDHIPR_EMI_CLK_SEL_BUSY (1 << 6) | ||
384 | #define MXC_CCM_CDHIPR_PERIPH_CLK_SEL_BUSY (1 << 5) | ||
385 | #define MXC_CCM_CDHIPR_NFC_IPG_INT_MEM_PODF_BUSY (1 << 4) | ||
386 | #define MXC_CCM_CDHIPR_AHB_PODF_BUSY (1 << 3) | ||
387 | #define MXC_CCM_CDHIPR_EMI_PODF_BUSY (1 << 2) | ||
388 | #define MXC_CCM_CDHIPR_AXI_B_PODF_BUSY (1 << 1) | ||
389 | #define MXC_CCM_CDHIPR_AXI_A_PODF_BUSY (1 << 0) | ||
390 | |||
391 | /* Define the bits in register CDCR */ | ||
392 | #define MXC_CCM_CDCR_ARM_FREQ_SHIFT_DIVIDER (0x1 << 2) | ||
393 | #define MXC_CCM_CDCR_PERIPH_CLK_DVFS_PODF_OFFSET (0) | ||
394 | #define MXC_CCM_CDCR_PERIPH_CLK_DVFS_PODF_MASK (0x3) | ||
395 | |||
396 | /* Define the bits in register CLPCR */ | ||
397 | #define MXC_CCM_CLPCR_BYPASS_HSC_LPM_HS (0x1 << 23) | ||
398 | #define MXC_CCM_CLPCR_BYPASS_SCC_LPM_HS (0x1 << 22) | ||
399 | #define MX51_CCM_CLPCR_BYPASS_MAX_LPM_HS (0x1 << 21) | ||
400 | #define MX53_CCM_CLPCR_BYPASS_MAX_LPM_HS (0x1 << 25) | ||
401 | #define MXC_CCM_CLPCR_BYPASS_SDMA_LPM_HS (0x1 << 20) | ||
402 | #define MXC_CCM_CLPCR_BYPASS_EMI_LPM_HS (0x1 << 19) | ||
403 | #define MXC_CCM_CLPCR_BYPASS_IPU_LPM_HS (0x1 << 18) | ||
404 | #define MXC_CCM_CLPCR_BYPASS_RTIC_LPM_HS (0x1 << 17) | ||
405 | #define MXC_CCM_CLPCR_BYPASS_RNGC_LPM_HS (0x1 << 16) | ||
406 | #define MXC_CCM_CLPCR_COSC_PWRDOWN (0x1 << 11) | ||
407 | #define MXC_CCM_CLPCR_STBY_COUNT_OFFSET (9) | ||
408 | #define MXC_CCM_CLPCR_STBY_COUNT_MASK (0x3 << 9) | ||
409 | #define MXC_CCM_CLPCR_VSTBY (0x1 << 8) | ||
410 | #define MXC_CCM_CLPCR_DIS_REF_OSC (0x1 << 7) | ||
411 | #define MXC_CCM_CLPCR_SBYOS (0x1 << 6) | ||
412 | #define MXC_CCM_CLPCR_ARM_CLK_DIS_ON_LPM (0x1 << 5) | ||
413 | #define MXC_CCM_CLPCR_LPSR_CLK_SEL_OFFSET (3) | ||
414 | #define MXC_CCM_CLPCR_LPSR_CLK_SEL_MASK (0x3 << 3) | ||
415 | #define MXC_CCM_CLPCR_LPM_OFFSET (0) | ||
416 | #define MXC_CCM_CLPCR_LPM_MASK (0x3) | ||
417 | |||
418 | /* Define the bits in register CISR */ | ||
419 | #define MXC_CCM_CISR_ARM_PODF_LOADED (0x1 << 25) | ||
420 | #define MXC_CCM_CISR_NFC_IPG_INT_MEM_PODF_LOADED (0x1 << 21) | ||
421 | #define MXC_CCM_CISR_AHB_PODF_LOADED (0x1 << 20) | ||
422 | #define MXC_CCM_CISR_EMI_PODF_LOADED (0x1 << 19) | ||
423 | #define MXC_CCM_CISR_AXI_B_PODF_LOADED (0x1 << 18) | ||
424 | #define MXC_CCM_CISR_AXI_A_PODF_LOADED (0x1 << 17) | ||
425 | #define MXC_CCM_CISR_DIVIDER_LOADED (0x1 << 16) | ||
426 | #define MXC_CCM_CISR_COSC_READY (0x1 << 6) | ||
427 | #define MXC_CCM_CISR_CKIH2_READY (0x1 << 5) | ||
428 | #define MXC_CCM_CISR_CKIH_READY (0x1 << 4) | ||
429 | #define MXC_CCM_CISR_FPM_READY (0x1 << 3) | ||
430 | #define MXC_CCM_CISR_LRF_PLL3 (0x1 << 2) | ||
431 | #define MXC_CCM_CISR_LRF_PLL2 (0x1 << 1) | ||
432 | #define MXC_CCM_CISR_LRF_PLL1 (0x1) | ||
433 | |||
434 | /* Define the bits in register CIMR */ | ||
435 | #define MXC_CCM_CIMR_MASK_ARM_PODF_LOADED (0x1 << 25) | ||
436 | #define MXC_CCM_CIMR_MASK_NFC_IPG_INT_MEM_PODF_LOADED (0x1 << 21) | ||
437 | #define MXC_CCM_CIMR_MASK_EMI_PODF_LOADED (0x1 << 20) | ||
438 | #define MXC_CCM_CIMR_MASK_AXI_C_PODF_LOADED (0x1 << 19) | ||
439 | #define MXC_CCM_CIMR_MASK_AXI_B_PODF_LOADED (0x1 << 18) | ||
440 | #define MXC_CCM_CIMR_MASK_AXI_A_PODF_LOADED (0x1 << 17) | ||
441 | #define MXC_CCM_CIMR_MASK_DIVIDER_LOADED (0x1 << 16) | ||
442 | #define MXC_CCM_CIMR_MASK_COSC_READY (0x1 << 5) | ||
443 | #define MXC_CCM_CIMR_MASK_CKIH_READY (0x1 << 4) | ||
444 | #define MXC_CCM_CIMR_MASK_FPM_READY (0x1 << 3) | ||
445 | #define MXC_CCM_CIMR_MASK_LRF_PLL3 (0x1 << 2) | ||
446 | #define MXC_CCM_CIMR_MASK_LRF_PLL2 (0x1 << 1) | ||
447 | #define MXC_CCM_CIMR_MASK_LRF_PLL1 (0x1) | ||
448 | |||
449 | /* Define the bits in register CCOSR */ | ||
450 | #define MXC_CCM_CCOSR_CKO2_EN_OFFSET (0x1 << 24) | ||
451 | #define MXC_CCM_CCOSR_CKO2_DIV_OFFSET (21) | ||
452 | #define MXC_CCM_CCOSR_CKO2_DIV_MASK (0x7 << 21) | ||
453 | #define MXC_CCM_CCOSR_CKO2_SEL_OFFSET (16) | ||
454 | #define MXC_CCM_CCOSR_CKO2_SEL_MASK (0x1F << 16) | ||
455 | #define MXC_CCM_CCOSR_CKOL_EN (0x1 << 7) | ||
456 | #define MXC_CCM_CCOSR_CKOL_DIV_OFFSET (4) | ||
457 | #define MXC_CCM_CCOSR_CKOL_DIV_MASK (0x7 << 4) | ||
458 | #define MXC_CCM_CCOSR_CKOL_SEL_OFFSET (0) | ||
459 | #define MXC_CCM_CCOSR_CKOL_SEL_MASK (0xF) | ||
460 | |||
461 | /* Define the bits in registers CGPR */ | ||
462 | #define MXC_CCM_CGPR_EFUSE_PROG_SUPPLY_GATE (0x1 << 4) | ||
463 | #define MXC_CCM_CGPR_FPM_SEL (0x1 << 3) | ||
464 | #define MXC_CCM_CGPR_VL_L2BIST_CLKDIV_OFFSET (0) | ||
465 | #define MXC_CCM_CGPR_VL_L2BIST_CLKDIV_MASK (0x7) | ||
466 | |||
467 | /* Define the bits in registers CCGRx */ | ||
468 | #define MXC_CCM_CCGRx_CG_MASK 0x3 | ||
469 | #define MXC_CCM_CCGRx_MOD_OFF 0x0 | ||
470 | #define MXC_CCM_CCGRx_MOD_ON 0x3 | ||
471 | #define MXC_CCM_CCGRx_MOD_IDLE 0x1 | ||
472 | |||
473 | #define MXC_CCM_CCGRx_CG15_MASK (0x3 << 30) | ||
474 | #define MXC_CCM_CCGRx_CG14_MASK (0x3 << 28) | ||
475 | #define MXC_CCM_CCGRx_CG13_MASK (0x3 << 26) | ||
476 | #define MXC_CCM_CCGRx_CG12_MASK (0x3 << 24) | ||
477 | #define MXC_CCM_CCGRx_CG11_MASK (0x3 << 22) | ||
478 | #define MXC_CCM_CCGRx_CG10_MASK (0x3 << 20) | ||
479 | #define MXC_CCM_CCGRx_CG9_MASK (0x3 << 18) | ||
480 | #define MXC_CCM_CCGRx_CG8_MASK (0x3 << 16) | ||
481 | #define MXC_CCM_CCGRx_CG5_MASK (0x3 << 10) | ||
482 | #define MXC_CCM_CCGRx_CG4_MASK (0x3 << 8) | ||
483 | #define MXC_CCM_CCGRx_CG3_MASK (0x3 << 6) | ||
484 | #define MXC_CCM_CCGRx_CG2_MASK (0x3 << 4) | ||
485 | #define MXC_CCM_CCGRx_CG1_MASK (0x3 << 2) | ||
486 | #define MXC_CCM_CCGRx_CG0_MASK (0x3 << 0) | ||
487 | |||
488 | #define MXC_CCM_CCGRx_CG15_OFFSET 30 | ||
489 | #define MXC_CCM_CCGRx_CG14_OFFSET 28 | ||
490 | #define MXC_CCM_CCGRx_CG13_OFFSET 26 | ||
491 | #define MXC_CCM_CCGRx_CG12_OFFSET 24 | ||
492 | #define MXC_CCM_CCGRx_CG11_OFFSET 22 | ||
493 | #define MXC_CCM_CCGRx_CG10_OFFSET 20 | ||
494 | #define MXC_CCM_CCGRx_CG9_OFFSET 18 | ||
495 | #define MXC_CCM_CCGRx_CG8_OFFSET 16 | ||
496 | #define MXC_CCM_CCGRx_CG7_OFFSET 14 | ||
497 | #define MXC_CCM_CCGRx_CG6_OFFSET 12 | ||
498 | #define MXC_CCM_CCGRx_CG5_OFFSET 10 | ||
499 | #define MXC_CCM_CCGRx_CG4_OFFSET 8 | ||
500 | #define MXC_CCM_CCGRx_CG3_OFFSET 6 | ||
501 | #define MXC_CCM_CCGRx_CG2_OFFSET 4 | ||
502 | #define MXC_CCM_CCGRx_CG1_OFFSET 2 | ||
503 | #define MXC_CCM_CCGRx_CG0_OFFSET 0 | ||
504 | |||
505 | #define MXC_DPTC_LP_BASE (MX51_GPC_BASE + 0x80) | ||
506 | #define MXC_DPTC_GP_BASE (MX51_GPC_BASE + 0x100) | ||
507 | #define MXC_DVFS_CORE_BASE (MX51_GPC_BASE + 0x180) | ||
508 | #define MXC_DPTC_PER_BASE (MX51_GPC_BASE + 0x1C0) | ||
509 | #define MXC_PGC_IPU_BASE (MX51_GPC_BASE + 0x220) | ||
510 | #define MXC_PGC_VPU_BASE (MX51_GPC_BASE + 0x240) | ||
511 | #define MXC_PGC_GPU_BASE (MX51_GPC_BASE + 0x260) | ||
512 | #define MXC_SRPG_NEON_BASE (MX51_GPC_BASE + 0x280) | ||
513 | #define MXC_SRPG_ARM_BASE (MX51_GPC_BASE + 0x2A0) | ||
514 | #define MXC_SRPG_EMPGC0_BASE (MX51_GPC_BASE + 0x2C0) | ||
515 | #define MXC_SRPG_EMPGC1_BASE (MX51_GPC_BASE + 0x2D0) | ||
516 | #define MXC_SRPG_MEGAMIX_BASE (MX51_GPC_BASE + 0x2E0) | ||
517 | #define MXC_SRPG_EMI_BASE (MX51_GPC_BASE + 0x300) | ||
518 | |||
519 | /* CORTEXA8 platform */ | ||
520 | #define MXC_CORTEXA8_PLAT_PVID (MX51_CORTEXA8_BASE + 0x0) | ||
521 | #define MXC_CORTEXA8_PLAT_GPC (MX51_CORTEXA8_BASE + 0x4) | ||
522 | #define MXC_CORTEXA8_PLAT_PIC (MX51_CORTEXA8_BASE + 0x8) | ||
523 | #define MXC_CORTEXA8_PLAT_LPC (MX51_CORTEXA8_BASE + 0xC) | ||
524 | #define MXC_CORTEXA8_PLAT_NEON_LPC (MX51_CORTEXA8_BASE + 0x10) | ||
525 | #define MXC_CORTEXA8_PLAT_ICGC (MX51_CORTEXA8_BASE + 0x14) | ||
526 | #define MXC_CORTEXA8_PLAT_AMC (MX51_CORTEXA8_BASE + 0x18) | ||
527 | #define MXC_CORTEXA8_PLAT_NMC (MX51_CORTEXA8_BASE + 0x20) | ||
528 | #define MXC_CORTEXA8_PLAT_NMS (MX51_CORTEXA8_BASE + 0x24) | ||
529 | |||
530 | /* DVFS CORE */ | ||
531 | #define MXC_DVFSTHRS (MXC_DVFS_CORE_BASE + 0x00) | ||
532 | #define MXC_DVFSCOUN (MXC_DVFS_CORE_BASE + 0x04) | ||
533 | #define MXC_DVFSSIG1 (MXC_DVFS_CORE_BASE + 0x08) | ||
534 | #define MXC_DVFSSIG0 (MXC_DVFS_CORE_BASE + 0x0C) | ||
535 | #define MXC_DVFSGPC0 (MXC_DVFS_CORE_BASE + 0x10) | ||
536 | #define MXC_DVFSGPC1 (MXC_DVFS_CORE_BASE + 0x14) | ||
537 | #define MXC_DVFSGPBT (MXC_DVFS_CORE_BASE + 0x18) | ||
538 | #define MXC_DVFSEMAC (MXC_DVFS_CORE_BASE + 0x1C) | ||
539 | #define MXC_DVFSCNTR (MXC_DVFS_CORE_BASE + 0x20) | ||
540 | #define MXC_DVFSLTR0_0 (MXC_DVFS_CORE_BASE + 0x24) | ||
541 | #define MXC_DVFSLTR0_1 (MXC_DVFS_CORE_BASE + 0x28) | ||
542 | #define MXC_DVFSLTR1_0 (MXC_DVFS_CORE_BASE + 0x2C) | ||
543 | #define MXC_DVFSLTR1_1 (MXC_DVFS_CORE_BASE + 0x30) | ||
544 | #define MXC_DVFSPT0 (MXC_DVFS_CORE_BASE + 0x34) | ||
545 | #define MXC_DVFSPT1 (MXC_DVFS_CORE_BASE + 0x38) | ||
546 | #define MXC_DVFSPT2 (MXC_DVFS_CORE_BASE + 0x3C) | ||
547 | #define MXC_DVFSPT3 (MXC_DVFS_CORE_BASE + 0x40) | ||
548 | |||
549 | /* GPC */ | ||
550 | #define MXC_GPC_CNTR (MX51_GPC_BASE + 0x0) | ||
551 | #define MXC_GPC_PGR (MX51_GPC_BASE + 0x4) | ||
552 | #define MXC_GPC_VCR (MX51_GPC_BASE + 0x8) | ||
553 | #define MXC_GPC_ALL_PU (MX51_GPC_BASE + 0xC) | ||
554 | #define MXC_GPC_NEON (MX51_GPC_BASE + 0x10) | ||
555 | #define MXC_GPC_PGR_ARMPG_OFFSET 8 | ||
556 | #define MXC_GPC_PGR_ARMPG_MASK (3 << 8) | ||
557 | |||
558 | /* PGC */ | ||
559 | #define MXC_PGC_IPU_PGCR (MXC_PGC_IPU_BASE + 0x0) | ||
560 | #define MXC_PGC_IPU_PGSR (MXC_PGC_IPU_BASE + 0xC) | ||
561 | #define MXC_PGC_VPU_PGCR (MXC_PGC_VPU_BASE + 0x0) | ||
562 | #define MXC_PGC_VPU_PGSR (MXC_PGC_VPU_BASE + 0xC) | ||
563 | #define MXC_PGC_GPU_PGCR (MXC_PGC_GPU_BASE + 0x0) | ||
564 | #define MXC_PGC_GPU_PGSR (MXC_PGC_GPU_BASE + 0xC) | ||
565 | |||
566 | #define MXC_PGCR_PCR 1 | ||
567 | #define MXC_SRPGCR_PCR 1 | ||
568 | #define MXC_EMPGCR_PCR 1 | ||
569 | #define MXC_PGSR_PSR 1 | ||
570 | |||
571 | |||
572 | #define MXC_CORTEXA8_PLAT_LPC_DSM (1 << 0) | ||
573 | #define MXC_CORTEXA8_PLAT_LPC_DBG_DSM (1 << 1) | ||
574 | |||
575 | /* SRPG */ | ||
576 | #define MXC_SRPG_NEON_SRPGCR (MXC_SRPG_NEON_BASE + 0x0) | ||
577 | #define MXC_SRPG_NEON_PUPSCR (MXC_SRPG_NEON_BASE + 0x4) | ||
578 | #define MXC_SRPG_NEON_PDNSCR (MXC_SRPG_NEON_BASE + 0x8) | ||
579 | |||
580 | #define MXC_SRPG_ARM_SRPGCR (MXC_SRPG_ARM_BASE + 0x0) | ||
581 | #define MXC_SRPG_ARM_PUPSCR (MXC_SRPG_ARM_BASE + 0x4) | ||
582 | #define MXC_SRPG_ARM_PDNSCR (MXC_SRPG_ARM_BASE + 0x8) | ||
583 | |||
584 | #define MXC_SRPG_EMPGC0_SRPGCR (MXC_SRPG_EMPGC0_BASE + 0x0) | ||
585 | #define MXC_SRPG_EMPGC0_PUPSCR (MXC_SRPG_EMPGC0_BASE + 0x4) | ||
586 | #define MXC_SRPG_EMPGC0_PDNSCR (MXC_SRPG_EMPGC0_BASE + 0x8) | ||
587 | |||
588 | #define MXC_SRPG_EMPGC1_SRPGCR (MXC_SRPG_EMPGC1_BASE + 0x0) | ||
589 | #define MXC_SRPG_EMPGC1_PUPSCR (MXC_SRPG_EMPGC1_BASE + 0x4) | ||
590 | #define MXC_SRPG_EMPGC1_PDNSCR (MXC_SRPG_EMPGC1_BASE + 0x8) | ||
591 | |||
592 | #define MXC_SRPG_MEGAMIX_SRPGCR (MXC_SRPG_MEGAMIX_BASE + 0x0) | ||
593 | #define MXC_SRPG_MEGAMIX_PUPSCR (MXC_SRPG_MEGAMIX_BASE + 0x4) | ||
594 | #define MXC_SRPG_MEGAMIX_PDNSCR (MXC_SRPG_MEGAMIX_BASE + 0x8) | ||
595 | |||
596 | #define MXC_SRPGC_EMI_SRPGCR (MXC_SRPGC_EMI_BASE + 0x0) | ||
597 | #define MXC_SRPGC_EMI_PUPSCR (MXC_SRPGC_EMI_BASE + 0x4) | ||
598 | #define MXC_SRPGC_EMI_PDNSCR (MXC_SRPGC_EMI_BASE + 0x8) | ||
599 | |||
600 | #endif /* __ARCH_ARM_MACH_MX51_CRM_REGS_H__ */ | ||
diff --git a/arch/arm/mach-imx/devices-imx51.h b/arch/arm/mach-imx/devices-imx51.h deleted file mode 100644 index 26389f35a2b2..000000000000 --- a/arch/arm/mach-imx/devices-imx51.h +++ /dev/null | |||
@@ -1,66 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it under | ||
6 | * the terms of the GNU General Public License version 2 as published by the | ||
7 | * Free Software Foundation. | ||
8 | */ | ||
9 | #include "devices/devices-common.h" | ||
10 | |||
11 | extern const struct imx_fec_data imx51_fec_data; | ||
12 | #define imx51_add_fec(pdata) \ | ||
13 | imx_add_fec(&imx51_fec_data, pdata) | ||
14 | |||
15 | extern const struct imx_fsl_usb2_udc_data imx51_fsl_usb2_udc_data; | ||
16 | #define imx51_add_fsl_usb2_udc(pdata) \ | ||
17 | imx_add_fsl_usb2_udc(&imx51_fsl_usb2_udc_data, pdata) | ||
18 | |||
19 | extern const struct imx_imx_i2c_data imx51_imx_i2c_data[]; | ||
20 | #define imx51_add_imx_i2c(id, pdata) \ | ||
21 | imx_add_imx_i2c(&imx51_imx_i2c_data[id], pdata) | ||
22 | #define imx51_add_hsi2c(pdata) \ | ||
23 | imx51_add_imx_i2c(2, pdata) | ||
24 | |||
25 | extern const struct imx_imx_ssi_data imx51_imx_ssi_data[]; | ||
26 | #define imx51_add_imx_ssi(id, pdata) \ | ||
27 | imx_add_imx_ssi(&imx51_imx_ssi_data[id], pdata) | ||
28 | |||
29 | extern const struct imx_imx_uart_1irq_data imx51_imx_uart_data[]; | ||
30 | #define imx51_add_imx_uart(id, pdata) \ | ||
31 | imx_add_imx_uart_1irq(&imx51_imx_uart_data[id], pdata) | ||
32 | |||
33 | extern const struct imx_mxc_ehci_data imx51_mxc_ehci_otg_data; | ||
34 | #define imx51_add_mxc_ehci_otg(pdata) \ | ||
35 | imx_add_mxc_ehci(&imx51_mxc_ehci_otg_data, pdata) | ||
36 | extern const struct imx_mxc_ehci_data imx51_mxc_ehci_hs_data[]; | ||
37 | #define imx51_add_mxc_ehci_hs(id, pdata) \ | ||
38 | imx_add_mxc_ehci(&imx51_mxc_ehci_hs_data[id - 1], pdata) | ||
39 | |||
40 | extern const struct imx_mxc_nand_data imx51_mxc_nand_data; | ||
41 | #define imx51_add_mxc_nand(pdata) \ | ||
42 | imx_add_mxc_nand(&imx51_mxc_nand_data, pdata) | ||
43 | |||
44 | extern const struct imx_sdhci_esdhc_imx_data imx51_sdhci_esdhc_imx_data[]; | ||
45 | #define imx51_add_sdhci_esdhc_imx(id, pdata) \ | ||
46 | imx_add_sdhci_esdhc_imx(&imx51_sdhci_esdhc_imx_data[id], pdata) | ||
47 | |||
48 | extern const struct imx_spi_imx_data imx51_cspi_data; | ||
49 | #define imx51_add_cspi(pdata) \ | ||
50 | imx_add_spi_imx(&imx51_cspi_data, pdata) | ||
51 | |||
52 | extern const struct imx_spi_imx_data imx51_ecspi_data[]; | ||
53 | #define imx51_add_ecspi(id, pdata) \ | ||
54 | imx_add_spi_imx(&imx51_ecspi_data[id], pdata) | ||
55 | |||
56 | extern const struct imx_imx2_wdt_data imx51_imx2_wdt_data[]; | ||
57 | #define imx51_add_imx2_wdt(id) \ | ||
58 | imx_add_imx2_wdt(&imx51_imx2_wdt_data[id]) | ||
59 | |||
60 | extern const struct imx_imx_keypad_data imx51_imx_keypad_data; | ||
61 | #define imx51_add_imx_keypad(pdata) \ | ||
62 | imx_add_imx_keypad(&imx51_imx_keypad_data, pdata) | ||
63 | |||
64 | extern const struct imx_pata_imx_data imx51_pata_imx_data; | ||
65 | #define imx51_add_pata_imx() \ | ||
66 | imx_add_pata_imx(&imx51_pata_imx_data) | ||
diff --git a/arch/arm/mach-imx/devices/Kconfig b/arch/arm/mach-imx/devices/Kconfig index 2d260a5a307c..1d2cc1805f3e 100644 --- a/arch/arm/mach-imx/devices/Kconfig +++ b/arch/arm/mach-imx/devices/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config IMX_HAVE_PLATFORM_FEC | 1 | config IMX_HAVE_PLATFORM_FEC |
2 | bool | 2 | bool |
3 | default y if ARCH_MX25 || SOC_IMX27 || SOC_IMX35 || SOC_IMX51 || SOC_IMX53 | 3 | default y if SOC_IMX25 || SOC_IMX27 || SOC_IMX35 |
4 | 4 | ||
5 | config IMX_HAVE_PLATFORM_FLEXCAN | 5 | config IMX_HAVE_PLATFORM_FLEXCAN |
6 | bool | 6 | bool |
@@ -10,7 +10,6 @@ config IMX_HAVE_PLATFORM_FSL_USB2_UDC | |||
10 | 10 | ||
11 | config IMX_HAVE_PLATFORM_GPIO_KEYS | 11 | config IMX_HAVE_PLATFORM_GPIO_KEYS |
12 | bool | 12 | bool |
13 | default y if SOC_IMX51 | ||
14 | 13 | ||
15 | config IMX_HAVE_PLATFORM_IMX21_HCD | 14 | config IMX_HAVE_PLATFORM_IMX21_HCD |
16 | bool | 15 | bool |
@@ -43,15 +42,9 @@ config IMX_HAVE_PLATFORM_IMX_SSI | |||
43 | config IMX_HAVE_PLATFORM_IMX_UART | 42 | config IMX_HAVE_PLATFORM_IMX_UART |
44 | bool | 43 | bool |
45 | 44 | ||
46 | config IMX_HAVE_PLATFORM_IMX_UDC | ||
47 | bool | ||
48 | |||
49 | config IMX_HAVE_PLATFORM_IPU_CORE | 45 | config IMX_HAVE_PLATFORM_IPU_CORE |
50 | bool | 46 | bool |
51 | 47 | ||
52 | config IMX_HAVE_PLATFORM_MX1_CAMERA | ||
53 | bool | ||
54 | |||
55 | config IMX_HAVE_PLATFORM_MX2_CAMERA | 48 | config IMX_HAVE_PLATFORM_MX2_CAMERA |
56 | bool | 49 | bool |
57 | 50 | ||
diff --git a/arch/arm/mach-imx/devices/Makefile b/arch/arm/mach-imx/devices/Makefile index 1cbc14cd80d1..8fdb12b4ca7e 100644 --- a/arch/arm/mach-imx/devices/Makefile +++ b/arch/arm/mach-imx/devices/Makefile | |||
@@ -16,9 +16,7 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o | |||
16 | obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o | 16 | obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o |
17 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o | 17 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o |
18 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o | 18 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o |
19 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o | ||
20 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IPU_CORE) += platform-ipu-core.o | 19 | obj-$(CONFIG_IMX_HAVE_PLATFORM_IPU_CORE) += platform-ipu-core.o |
21 | obj-$(CONFIG_IMX_HAVE_PLATFORM_MX1_CAMERA) += platform-mx1-camera.o | ||
22 | obj-$(CONFIG_IMX_HAVE_PLATFORM_MX2_CAMERA) += platform-mx2-camera.o | 20 | obj-$(CONFIG_IMX_HAVE_PLATFORM_MX2_CAMERA) += platform-mx2-camera.o |
23 | obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI) += platform-mxc-ehci.o | 21 | obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI) += platform-mxc-ehci.o |
24 | obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_MMC) += platform-mxc-mmc.o | 22 | obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_MMC) += platform-mxc-mmc.o |
diff --git a/arch/arm/mach-imx/devices/devices-common.h b/arch/arm/mach-imx/devices/devices-common.h index 61352a80bb59..67f7fb13050d 100644 --- a/arch/arm/mach-imx/devices/devices-common.h +++ b/arch/arm/mach-imx/devices/devices-common.h | |||
@@ -176,22 +176,6 @@ struct platform_device *__init imx_add_imx_uart_1irq( | |||
176 | const struct imx_imx_uart_1irq_data *data, | 176 | const struct imx_imx_uart_1irq_data *data, |
177 | const struct imxuart_platform_data *pdata); | 177 | const struct imxuart_platform_data *pdata); |
178 | 178 | ||
179 | #include <linux/platform_data/usb-imx_udc.h> | ||
180 | struct imx_imx_udc_data { | ||
181 | resource_size_t iobase; | ||
182 | resource_size_t iosize; | ||
183 | resource_size_t irq0; | ||
184 | resource_size_t irq1; | ||
185 | resource_size_t irq2; | ||
186 | resource_size_t irq3; | ||
187 | resource_size_t irq4; | ||
188 | resource_size_t irq5; | ||
189 | resource_size_t irq6; | ||
190 | }; | ||
191 | struct platform_device *__init imx_add_imx_udc( | ||
192 | const struct imx_imx_udc_data *data, | ||
193 | const struct imxusb_platform_data *pdata); | ||
194 | |||
195 | #include <linux/platform_data/video-mx3fb.h> | 179 | #include <linux/platform_data/video-mx3fb.h> |
196 | #include <linux/platform_data/camera-mx3.h> | 180 | #include <linux/platform_data/camera-mx3.h> |
197 | struct imx_ipu_core_data { | 181 | struct imx_ipu_core_data { |
@@ -208,16 +192,6 @@ struct platform_device *__init imx_add_mx3_sdc_fb( | |||
208 | const struct imx_ipu_core_data *data, | 192 | const struct imx_ipu_core_data *data, |
209 | struct mx3fb_platform_data *pdata); | 193 | struct mx3fb_platform_data *pdata); |
210 | 194 | ||
211 | #include <linux/platform_data/camera-mx1.h> | ||
212 | struct imx_mx1_camera_data { | ||
213 | resource_size_t iobase; | ||
214 | resource_size_t iosize; | ||
215 | resource_size_t irq; | ||
216 | }; | ||
217 | struct platform_device *__init imx_add_mx1_camera( | ||
218 | const struct imx_mx1_camera_data *data, | ||
219 | const struct mx1_camera_pdata *pdata); | ||
220 | |||
221 | #include <linux/platform_data/camera-mx2.h> | 195 | #include <linux/platform_data/camera-mx2.h> |
222 | struct imx_mx2_camera_data { | 196 | struct imx_mx2_camera_data { |
223 | const char *devid; | 197 | const char *devid; |
diff --git a/arch/arm/mach-imx/devices/platform-fec.c b/arch/arm/mach-imx/devices/platform-fec.c index 63eba08f87b1..d86f9250b4ee 100644 --- a/arch/arm/mach-imx/devices/platform-fec.c +++ b/arch/arm/mach-imx/devices/platform-fec.c | |||
@@ -35,18 +35,6 @@ const struct imx_fec_data imx35_fec_data __initconst = | |||
35 | imx_fec_data_entry_single(MX35, "imx27-fec"); | 35 | imx_fec_data_entry_single(MX35, "imx27-fec"); |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #ifdef CONFIG_SOC_IMX51 | ||
39 | /* i.mx51 has the i.mx27 type fec */ | ||
40 | const struct imx_fec_data imx51_fec_data __initconst = | ||
41 | imx_fec_data_entry_single(MX51, "imx27-fec"); | ||
42 | #endif | ||
43 | |||
44 | #ifdef CONFIG_SOC_IMX53 | ||
45 | /* i.mx53 has the i.mx25 type fec */ | ||
46 | const struct imx_fec_data imx53_fec_data __initconst = | ||
47 | imx_fec_data_entry_single(MX53, "imx25-fec"); | ||
48 | #endif | ||
49 | |||
50 | struct platform_device *__init imx_add_fec( | 38 | struct platform_device *__init imx_add_fec( |
51 | const struct imx_fec_data *data, | 39 | const struct imx_fec_data *data, |
52 | const struct fec_platform_data *pdata) | 40 | const struct fec_platform_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c b/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c index 3c06bd96e9cc..23b0061347cb 100644 --- a/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c +++ b/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c | |||
@@ -38,11 +38,6 @@ const struct imx_fsl_usb2_udc_data imx35_fsl_usb2_udc_data __initconst = | |||
38 | imx_fsl_usb2_udc_data_entry_single(MX35, "imx-udc-mx27"); | 38 | imx_fsl_usb2_udc_data_entry_single(MX35, "imx-udc-mx27"); |
39 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 39 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
40 | 40 | ||
41 | #ifdef CONFIG_SOC_IMX51 | ||
42 | const struct imx_fsl_usb2_udc_data imx51_fsl_usb2_udc_data __initconst = | ||
43 | imx_fsl_usb2_udc_data_entry_single(MX51, "imx-udc-mx51"); | ||
44 | #endif | ||
45 | |||
46 | struct platform_device *__init imx_add_fsl_usb2_udc( | 41 | struct platform_device *__init imx_add_fsl_usb2_udc( |
47 | const struct imx_fsl_usb2_udc_data *data, | 42 | const struct imx_fsl_usb2_udc_data *data, |
48 | const struct fsl_usb2_platform_data *pdata) | 43 | const struct fsl_usb2_platform_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-imx-i2c.c b/arch/arm/mach-imx/devices/platform-imx-i2c.c index 57d342e85c2f..644ac2689882 100644 --- a/arch/arm/mach-imx/devices/platform-imx-i2c.c +++ b/arch/arm/mach-imx/devices/platform-imx-i2c.c | |||
@@ -70,32 +70,6 @@ const struct imx_imx_i2c_data imx35_imx_i2c_data[] __initconst = { | |||
70 | }; | 70 | }; |
71 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 71 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
72 | 72 | ||
73 | #ifdef CONFIG_SOC_IMX51 | ||
74 | const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst = { | ||
75 | #define imx51_imx_i2c_data_entry(_id, _hwid) \ | ||
76 | imx_imx_i2c_data_entry(MX51, "imx21-i2c", _id, _hwid, SZ_4K) | ||
77 | imx51_imx_i2c_data_entry(0, 1), | ||
78 | imx51_imx_i2c_data_entry(1, 2), | ||
79 | { | ||
80 | .devid = "imx21-i2c", | ||
81 | .id = 2, | ||
82 | .iobase = MX51_HSI2C_DMA_BASE_ADDR, | ||
83 | .iosize = SZ_16K, | ||
84 | .irq = MX51_INT_HS_I2C, | ||
85 | }, | ||
86 | }; | ||
87 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
88 | |||
89 | #ifdef CONFIG_SOC_IMX53 | ||
90 | const struct imx_imx_i2c_data imx53_imx_i2c_data[] __initconst = { | ||
91 | #define imx53_imx_i2c_data_entry(_id, _hwid) \ | ||
92 | imx_imx_i2c_data_entry(MX53, "imx21-i2c", _id, _hwid, SZ_4K) | ||
93 | imx53_imx_i2c_data_entry(0, 1), | ||
94 | imx53_imx_i2c_data_entry(1, 2), | ||
95 | imx53_imx_i2c_data_entry(2, 3), | ||
96 | }; | ||
97 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
98 | |||
99 | struct platform_device *__init imx_add_imx_i2c( | 73 | struct platform_device *__init imx_add_imx_i2c( |
100 | const struct imx_imx_i2c_data *data, | 74 | const struct imx_imx_i2c_data *data, |
101 | const struct imxi2c_platform_data *pdata) | 75 | const struct imxi2c_platform_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-imx-keypad.c b/arch/arm/mach-imx/devices/platform-imx-keypad.c index 8f22a4c98a4c..f42200b7aca9 100644 --- a/arch/arm/mach-imx/devices/platform-imx-keypad.c +++ b/arch/arm/mach-imx/devices/platform-imx-keypad.c | |||
@@ -41,16 +41,6 @@ const struct imx_imx_keypad_data imx35_imx_keypad_data __initconst = | |||
41 | imx_imx_keypad_data_entry_single(MX35, SZ_16); | 41 | imx_imx_keypad_data_entry_single(MX35, SZ_16); |
42 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 42 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
43 | 43 | ||
44 | #ifdef CONFIG_SOC_IMX51 | ||
45 | const struct imx_imx_keypad_data imx51_imx_keypad_data __initconst = | ||
46 | imx_imx_keypad_data_entry_single(MX51, SZ_16); | ||
47 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
48 | |||
49 | #ifdef CONFIG_SOC_IMX53 | ||
50 | const struct imx_imx_keypad_data imx53_imx_keypad_data __initconst = | ||
51 | imx_imx_keypad_data_entry_single(MX53, SZ_16); | ||
52 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
53 | |||
54 | struct platform_device *__init imx_add_imx_keypad( | 44 | struct platform_device *__init imx_add_imx_keypad( |
55 | const struct imx_imx_keypad_data *data, | 45 | const struct imx_imx_keypad_data *data, |
56 | const struct matrix_keymap_data *pdata) | 46 | const struct matrix_keymap_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-imx-ssi.c b/arch/arm/mach-imx/devices/platform-imx-ssi.c index bfcb8f3dfa8d..1c7c721ebff1 100644 --- a/arch/arm/mach-imx/devices/platform-imx-ssi.c +++ b/arch/arm/mach-imx/devices/platform-imx-ssi.c | |||
@@ -66,26 +66,6 @@ const struct imx_imx_ssi_data imx35_imx_ssi_data[] __initconst = { | |||
66 | }; | 66 | }; |
67 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 67 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
68 | 68 | ||
69 | #ifdef CONFIG_SOC_IMX51 | ||
70 | const struct imx_imx_ssi_data imx51_imx_ssi_data[] __initconst = { | ||
71 | #define imx51_imx_ssi_data_entry(_id, _hwid) \ | ||
72 | imx_imx_ssi_data_entry(MX51, _id, _hwid, SZ_16K) | ||
73 | imx51_imx_ssi_data_entry(0, 1), | ||
74 | imx51_imx_ssi_data_entry(1, 2), | ||
75 | imx51_imx_ssi_data_entry(2, 3), | ||
76 | }; | ||
77 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
78 | |||
79 | #ifdef CONFIG_SOC_IMX53 | ||
80 | const struct imx_imx_ssi_data imx53_imx_ssi_data[] __initconst = { | ||
81 | #define imx53_imx_ssi_data_entry(_id, _hwid) \ | ||
82 | imx_imx_ssi_data_entry(MX53, _id, _hwid, SZ_16K) | ||
83 | imx53_imx_ssi_data_entry(0, 1), | ||
84 | imx53_imx_ssi_data_entry(1, 2), | ||
85 | imx53_imx_ssi_data_entry(2, 3), | ||
86 | }; | ||
87 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
88 | |||
89 | struct platform_device *__init imx_add_imx_ssi( | 69 | struct platform_device *__init imx_add_imx_ssi( |
90 | const struct imx_imx_ssi_data *data, | 70 | const struct imx_imx_ssi_data *data, |
91 | const struct imx_ssi_platform_data *pdata) | 71 | const struct imx_ssi_platform_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-imx-uart.c b/arch/arm/mach-imx/devices/platform-imx-uart.c index faac4aa6ca6d..8c01836bc1d4 100644 --- a/arch/arm/mach-imx/devices/platform-imx-uart.c +++ b/arch/arm/mach-imx/devices/platform-imx-uart.c | |||
@@ -94,28 +94,6 @@ const struct imx_imx_uart_1irq_data imx35_imx_uart_data[] __initconst = { | |||
94 | }; | 94 | }; |
95 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 95 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
96 | 96 | ||
97 | #ifdef CONFIG_SOC_IMX51 | ||
98 | const struct imx_imx_uart_1irq_data imx51_imx_uart_data[] __initconst = { | ||
99 | #define imx51_imx_uart_data_entry(_id, _hwid) \ | ||
100 | imx_imx_uart_1irq_data_entry(MX51, _id, _hwid, SZ_4K) | ||
101 | imx51_imx_uart_data_entry(0, 1), | ||
102 | imx51_imx_uart_data_entry(1, 2), | ||
103 | imx51_imx_uart_data_entry(2, 3), | ||
104 | }; | ||
105 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
106 | |||
107 | #ifdef CONFIG_SOC_IMX53 | ||
108 | const struct imx_imx_uart_1irq_data imx53_imx_uart_data[] __initconst = { | ||
109 | #define imx53_imx_uart_data_entry(_id, _hwid) \ | ||
110 | imx_imx_uart_1irq_data_entry(MX53, _id, _hwid, SZ_4K) | ||
111 | imx53_imx_uart_data_entry(0, 1), | ||
112 | imx53_imx_uart_data_entry(1, 2), | ||
113 | imx53_imx_uart_data_entry(2, 3), | ||
114 | imx53_imx_uart_data_entry(3, 4), | ||
115 | imx53_imx_uart_data_entry(4, 5), | ||
116 | }; | ||
117 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
118 | |||
119 | struct platform_device *__init imx_add_imx_uart_3irq( | 97 | struct platform_device *__init imx_add_imx_uart_3irq( |
120 | const struct imx_imx_uart_3irq_data *data, | 98 | const struct imx_imx_uart_3irq_data *data, |
121 | const struct imxuart_platform_data *pdata) | 99 | const struct imxuart_platform_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-imx2-wdt.c b/arch/arm/mach-imx/devices/platform-imx2-wdt.c index ec75d6413686..54f63bc25ca4 100644 --- a/arch/arm/mach-imx/devices/platform-imx2-wdt.c +++ b/arch/arm/mach-imx/devices/platform-imx2-wdt.c | |||
@@ -45,24 +45,6 @@ const struct imx_imx2_wdt_data imx35_imx2_wdt_data __initconst = | |||
45 | imx_imx2_wdt_data_entry_single(MX35, 0, , SZ_16K); | 45 | imx_imx2_wdt_data_entry_single(MX35, 0, , SZ_16K); |
46 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 46 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
47 | 47 | ||
48 | #ifdef CONFIG_SOC_IMX51 | ||
49 | const struct imx_imx2_wdt_data imx51_imx2_wdt_data[] __initconst = { | ||
50 | #define imx51_imx2_wdt_data_entry(_id, _hwid) \ | ||
51 | imx_imx2_wdt_data_entry(MX51, _id, _hwid, SZ_16K) | ||
52 | imx51_imx2_wdt_data_entry(0, 1), | ||
53 | imx51_imx2_wdt_data_entry(1, 2), | ||
54 | }; | ||
55 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
56 | |||
57 | #ifdef CONFIG_SOC_IMX53 | ||
58 | const struct imx_imx2_wdt_data imx53_imx2_wdt_data[] __initconst = { | ||
59 | #define imx53_imx2_wdt_data_entry(_id, _hwid) \ | ||
60 | imx_imx2_wdt_data_entry(MX53, _id, _hwid, SZ_16K) | ||
61 | imx53_imx2_wdt_data_entry(0, 1), | ||
62 | imx53_imx2_wdt_data_entry(1, 2), | ||
63 | }; | ||
64 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
65 | |||
66 | struct platform_device *__init imx_add_imx2_wdt( | 48 | struct platform_device *__init imx_add_imx2_wdt( |
67 | const struct imx_imx2_wdt_data *data) | 49 | const struct imx_imx2_wdt_data *data) |
68 | { | 50 | { |
diff --git a/arch/arm/mach-imx/devices/platform-imx_udc.c b/arch/arm/mach-imx/devices/platform-imx_udc.c deleted file mode 100644 index 5ced7e4e2c71..000000000000 --- a/arch/arm/mach-imx/devices/platform-imx_udc.c +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it under | ||
6 | * the terms of the GNU General Public License version 2 as published by the | ||
7 | * Free Software Foundation. | ||
8 | */ | ||
9 | #include "../hardware.h" | ||
10 | #include "devices-common.h" | ||
11 | |||
12 | #define imx_imx_udc_data_entry_single(soc, _size) \ | ||
13 | { \ | ||
14 | .iobase = soc ## _USBD_BASE_ADDR, \ | ||
15 | .iosize = _size, \ | ||
16 | .irq0 = soc ## _INT_USBD0, \ | ||
17 | .irq1 = soc ## _INT_USBD1, \ | ||
18 | .irq2 = soc ## _INT_USBD2, \ | ||
19 | .irq3 = soc ## _INT_USBD3, \ | ||
20 | .irq4 = soc ## _INT_USBD4, \ | ||
21 | .irq5 = soc ## _INT_USBD5, \ | ||
22 | .irq6 = soc ## _INT_USBD6, \ | ||
23 | } | ||
24 | |||
25 | #define imx_imx_udc_data_entry(soc, _size) \ | ||
26 | [_id] = imx_imx_udc_data_entry_single(soc, _size) | ||
27 | |||
28 | #ifdef CONFIG_SOC_IMX1 | ||
29 | const struct imx_imx_udc_data imx1_imx_udc_data __initconst = | ||
30 | imx_imx_udc_data_entry_single(MX1, SZ_4K); | ||
31 | #endif /* ifdef CONFIG_SOC_IMX1 */ | ||
32 | |||
33 | struct platform_device *__init imx_add_imx_udc( | ||
34 | const struct imx_imx_udc_data *data, | ||
35 | const struct imxusb_platform_data *pdata) | ||
36 | { | ||
37 | struct resource res[] = { | ||
38 | { | ||
39 | .start = data->iobase, | ||
40 | .end = data->iobase + data->iosize - 1, | ||
41 | .flags = IORESOURCE_MEM, | ||
42 | }, { | ||
43 | .start = data->irq0, | ||
44 | .end = data->irq0, | ||
45 | .flags = IORESOURCE_IRQ, | ||
46 | }, { | ||
47 | .start = data->irq1, | ||
48 | .end = data->irq1, | ||
49 | .flags = IORESOURCE_IRQ, | ||
50 | }, { | ||
51 | .start = data->irq2, | ||
52 | .end = data->irq2, | ||
53 | .flags = IORESOURCE_IRQ, | ||
54 | }, { | ||
55 | .start = data->irq3, | ||
56 | .end = data->irq3, | ||
57 | .flags = IORESOURCE_IRQ, | ||
58 | }, { | ||
59 | .start = data->irq4, | ||
60 | .end = data->irq4, | ||
61 | .flags = IORESOURCE_IRQ, | ||
62 | }, { | ||
63 | .start = data->irq5, | ||
64 | .end = data->irq5, | ||
65 | .flags = IORESOURCE_IRQ, | ||
66 | }, { | ||
67 | .start = data->irq6, | ||
68 | .end = data->irq6, | ||
69 | .flags = IORESOURCE_IRQ, | ||
70 | }, | ||
71 | }; | ||
72 | |||
73 | return imx_add_platform_device("imx_udc", 0, | ||
74 | res, ARRAY_SIZE(res), pdata, sizeof(*pdata)); | ||
75 | } | ||
diff --git a/arch/arm/mach-imx/devices/platform-mx1-camera.c b/arch/arm/mach-imx/devices/platform-mx1-camera.c deleted file mode 100644 index 2c6788131080..000000000000 --- a/arch/arm/mach-imx/devices/platform-mx1-camera.c +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it under | ||
6 | * the terms of the GNU General Public License version 2 as published by the | ||
7 | * Free Software Foundation. | ||
8 | */ | ||
9 | #include "../hardware.h" | ||
10 | #include "devices-common.h" | ||
11 | |||
12 | #define imx_mx1_camera_data_entry_single(soc, _size) \ | ||
13 | { \ | ||
14 | .iobase = soc ## _CSI ## _BASE_ADDR, \ | ||
15 | .iosize = _size, \ | ||
16 | .irq = soc ## _INT_CSI, \ | ||
17 | } | ||
18 | |||
19 | #ifdef CONFIG_SOC_IMX1 | ||
20 | const struct imx_mx1_camera_data imx1_mx1_camera_data __initconst = | ||
21 | imx_mx1_camera_data_entry_single(MX1, 10); | ||
22 | #endif /* ifdef CONFIG_SOC_IMX1 */ | ||
23 | |||
24 | struct platform_device *__init imx_add_mx1_camera( | ||
25 | const struct imx_mx1_camera_data *data, | ||
26 | const struct mx1_camera_pdata *pdata) | ||
27 | { | ||
28 | struct resource res[] = { | ||
29 | { | ||
30 | .start = data->iobase, | ||
31 | .end = data->iobase + data->iosize - 1, | ||
32 | .flags = IORESOURCE_MEM, | ||
33 | }, { | ||
34 | .start = data->irq, | ||
35 | .end = data->irq, | ||
36 | .flags = IORESOURCE_IRQ, | ||
37 | }, | ||
38 | }; | ||
39 | return imx_add_platform_device_dmamask("mx1-camera", 0, | ||
40 | res, ARRAY_SIZE(res), | ||
41 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | ||
42 | } | ||
diff --git a/arch/arm/mach-imx/devices/platform-mxc-ehci.c b/arch/arm/mach-imx/devices/platform-mxc-ehci.c index 5d4bbbfde641..296353662ff0 100644 --- a/arch/arm/mach-imx/devices/platform-mxc-ehci.c +++ b/arch/arm/mach-imx/devices/platform-mxc-ehci.c | |||
@@ -50,15 +50,6 @@ const struct imx_mxc_ehci_data imx35_mxc_ehci_hs_data __initconst = | |||
50 | imx_mxc_ehci_data_entry_single(MX35, 1, HS); | 50 | imx_mxc_ehci_data_entry_single(MX35, 1, HS); |
51 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 51 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
52 | 52 | ||
53 | #ifdef CONFIG_SOC_IMX51 | ||
54 | const struct imx_mxc_ehci_data imx51_mxc_ehci_otg_data __initconst = | ||
55 | imx_mxc_ehci_data_entry_single(MX51, 0, OTG); | ||
56 | const struct imx_mxc_ehci_data imx51_mxc_ehci_hs_data[] __initconst = { | ||
57 | imx_mxc_ehci_data_entry_single(MX51, 1, HS1), | ||
58 | imx_mxc_ehci_data_entry_single(MX51, 2, HS2), | ||
59 | }; | ||
60 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
61 | |||
62 | struct platform_device *__init imx_add_mxc_ehci( | 53 | struct platform_device *__init imx_add_mxc_ehci( |
63 | const struct imx_mxc_ehci_data *data, | 54 | const struct imx_mxc_ehci_data *data, |
64 | const struct mxc_usbh_platform_data *pdata) | 55 | const struct mxc_usbh_platform_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-mxc_nand.c b/arch/arm/mach-imx/devices/platform-mxc_nand.c index 7af1c53e42b5..fa618a34f462 100644 --- a/arch/arm/mach-imx/devices/platform-mxc_nand.c +++ b/arch/arm/mach-imx/devices/platform-mxc_nand.c | |||
@@ -54,11 +54,6 @@ const struct imx_mxc_nand_data imx35_mxc_nand_data __initconst = | |||
54 | imx_mxc_nand_data_entry_single(MX35, "imx25-nand", SZ_8K); | 54 | imx_mxc_nand_data_entry_single(MX35, "imx25-nand", SZ_8K); |
55 | #endif | 55 | #endif |
56 | 56 | ||
57 | #ifdef CONFIG_SOC_IMX51 | ||
58 | const struct imx_mxc_nand_data imx51_mxc_nand_data __initconst = | ||
59 | imx_mxc_nandv3_data_entry_single(MX51, "imx51-nand", SZ_16K); | ||
60 | #endif | ||
61 | |||
62 | struct platform_device *__init imx_add_mxc_nand( | 57 | struct platform_device *__init imx_add_mxc_nand( |
63 | const struct imx_mxc_nand_data *data, | 58 | const struct imx_mxc_nand_data *data, |
64 | const struct mxc_nand_platform_data *pdata) | 59 | const struct mxc_nand_platform_data *pdata) |
diff --git a/arch/arm/mach-imx/devices/platform-mxc_rnga.c b/arch/arm/mach-imx/devices/platform-mxc_rnga.c index c58404badb59..851fbc8af7a9 100644 --- a/arch/arm/mach-imx/devices/platform-mxc_rnga.c +++ b/arch/arm/mach-imx/devices/platform-mxc_rnga.c | |||
@@ -48,9 +48,6 @@ static int __init imxXX_add_mxc_rnga(void) | |||
48 | #endif /* if defined(CONFIG_SOC_IMX31) */ | 48 | #endif /* if defined(CONFIG_SOC_IMX31) */ |
49 | ret = ERR_PTR(-ENODEV); | 49 | ret = ERR_PTR(-ENODEV); |
50 | 50 | ||
51 | if (IS_ERR(ret)) | 51 | return PTR_ERR_OR_ZERO(ret); |
52 | return PTR_ERR(ret); | ||
53 | |||
54 | return 0; | ||
55 | } | 52 | } |
56 | arch_initcall(imxXX_add_mxc_rnga); | 53 | arch_initcall(imxXX_add_mxc_rnga); |
diff --git a/arch/arm/mach-imx/devices/platform-pata_imx.c b/arch/arm/mach-imx/devices/platform-pata_imx.c index e4ec11c8ce55..1c7f895a69d2 100644 --- a/arch/arm/mach-imx/devices/platform-pata_imx.c +++ b/arch/arm/mach-imx/devices/platform-pata_imx.c | |||
@@ -28,16 +28,6 @@ const struct imx_pata_imx_data imx35_pata_imx_data __initconst = | |||
28 | imx_pata_imx_data_entry_single(MX35, SZ_16K); | 28 | imx_pata_imx_data_entry_single(MX35, SZ_16K); |
29 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 29 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
30 | 30 | ||
31 | #ifdef CONFIG_SOC_IMX51 | ||
32 | const struct imx_pata_imx_data imx51_pata_imx_data __initconst = | ||
33 | imx_pata_imx_data_entry_single(MX51, SZ_16K); | ||
34 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
35 | |||
36 | #ifdef CONFIG_SOC_IMX53 | ||
37 | const struct imx_pata_imx_data imx53_pata_imx_data __initconst = | ||
38 | imx_pata_imx_data_entry_single(MX53, SZ_16K); | ||
39 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
40 | |||
41 | struct platform_device *__init imx_add_pata_imx( | 31 | struct platform_device *__init imx_add_pata_imx( |
42 | const struct imx_pata_imx_data *data) | 32 | const struct imx_pata_imx_data *data) |
43 | { | 33 | { |
diff --git a/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c b/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c index e66a4e316311..fb8d4a2ad48c 100644 --- a/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c +++ b/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c | |||
@@ -43,30 +43,6 @@ imx35_sdhci_esdhc_imx_data[] __initconst = { | |||
43 | }; | 43 | }; |
44 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 44 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
45 | 45 | ||
46 | #ifdef CONFIG_SOC_IMX51 | ||
47 | const struct imx_sdhci_esdhc_imx_data | ||
48 | imx51_sdhci_esdhc_imx_data[] __initconst = { | ||
49 | #define imx51_sdhci_esdhc_imx_data_entry(_id, _hwid) \ | ||
50 | imx_sdhci_esdhc_imx_data_entry(MX51, "sdhci-esdhc-imx51", _id, _hwid) | ||
51 | imx51_sdhci_esdhc_imx_data_entry(0, 1), | ||
52 | imx51_sdhci_esdhc_imx_data_entry(1, 2), | ||
53 | imx51_sdhci_esdhc_imx_data_entry(2, 3), | ||
54 | imx51_sdhci_esdhc_imx_data_entry(3, 4), | ||
55 | }; | ||
56 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
57 | |||
58 | #ifdef CONFIG_SOC_IMX53 | ||
59 | const struct imx_sdhci_esdhc_imx_data | ||
60 | imx53_sdhci_esdhc_imx_data[] __initconst = { | ||
61 | #define imx53_sdhci_esdhc_imx_data_entry(_id, _hwid) \ | ||
62 | imx_sdhci_esdhc_imx_data_entry(MX53, "sdhci-esdhc-imx53", _id, _hwid) | ||
63 | imx53_sdhci_esdhc_imx_data_entry(0, 1), | ||
64 | imx53_sdhci_esdhc_imx_data_entry(1, 2), | ||
65 | imx53_sdhci_esdhc_imx_data_entry(2, 3), | ||
66 | imx53_sdhci_esdhc_imx_data_entry(3, 4), | ||
67 | }; | ||
68 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
69 | |||
70 | static const struct esdhc_platform_data default_esdhc_pdata __initconst = { | 46 | static const struct esdhc_platform_data default_esdhc_pdata __initconst = { |
71 | .wp_type = ESDHC_WP_NONE, | 47 | .wp_type = ESDHC_WP_NONE, |
72 | .cd_type = ESDHC_CD_NONE, | 48 | .cd_type = ESDHC_CD_NONE, |
diff --git a/arch/arm/mach-imx/devices/platform-spi_imx.c b/arch/arm/mach-imx/devices/platform-spi_imx.c index 8880bcb11e05..aca825d74c48 100644 --- a/arch/arm/mach-imx/devices/platform-spi_imx.c +++ b/arch/arm/mach-imx/devices/platform-spi_imx.c | |||
@@ -79,33 +79,6 @@ const struct imx_spi_imx_data imx35_cspi_data[] __initconst = { | |||
79 | }; | 79 | }; |
80 | #endif /* ifdef CONFIG_SOC_IMX35 */ | 80 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
81 | 81 | ||
82 | #ifdef CONFIG_SOC_IMX51 | ||
83 | /* i.mx51 has the i.mx35 type cspi */ | ||
84 | const struct imx_spi_imx_data imx51_cspi_data __initconst = | ||
85 | imx_spi_imx_data_entry_single(MX51, CSPI, "imx35-cspi", 2, , SZ_4K); | ||
86 | |||
87 | const struct imx_spi_imx_data imx51_ecspi_data[] __initconst = { | ||
88 | #define imx51_ecspi_data_entry(_id, _hwid) \ | ||
89 | imx_spi_imx_data_entry(MX51, ECSPI, "imx51-ecspi", _id, _hwid, SZ_4K) | ||
90 | imx51_ecspi_data_entry(0, 1), | ||
91 | imx51_ecspi_data_entry(1, 2), | ||
92 | }; | ||
93 | #endif /* ifdef CONFIG_SOC_IMX51 */ | ||
94 | |||
95 | #ifdef CONFIG_SOC_IMX53 | ||
96 | /* i.mx53 has the i.mx35 type cspi */ | ||
97 | const struct imx_spi_imx_data imx53_cspi_data __initconst = | ||
98 | imx_spi_imx_data_entry_single(MX53, CSPI, "imx35-cspi", 2, , SZ_4K); | ||
99 | |||
100 | /* i.mx53 has the i.mx51 type ecspi */ | ||
101 | const struct imx_spi_imx_data imx53_ecspi_data[] __initconst = { | ||
102 | #define imx53_ecspi_data_entry(_id, _hwid) \ | ||
103 | imx_spi_imx_data_entry(MX53, ECSPI, "imx51-ecspi", _id, _hwid, SZ_4K) | ||
104 | imx53_ecspi_data_entry(0, 1), | ||
105 | imx53_ecspi_data_entry(1, 2), | ||
106 | }; | ||
107 | #endif /* ifdef CONFIG_SOC_IMX53 */ | ||
108 | |||
109 | struct platform_device *__init imx_add_spi_imx( | 82 | struct platform_device *__init imx_add_spi_imx( |
110 | const struct imx_spi_imx_data *data, | 83 | const struct imx_spi_imx_data *data, |
111 | const struct spi_imx_master *pdata) | 84 | const struct spi_imx_master *pdata) |
diff --git a/arch/arm/mach-imx/ehci-imx25.c b/arch/arm/mach-imx/ehci-imx25.c index 134c190e3003..42a5a3d14c5f 100644 --- a/arch/arm/mach-imx/ehci-imx25.c +++ b/arch/arm/mach-imx/ehci-imx25.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/platform_data/usb-ehci-mxc.h> | 18 | #include <linux/platform_data/usb-ehci-mxc.h> |
19 | 19 | ||
20 | #include "ehci.h" | ||
20 | #include "hardware.h" | 21 | #include "hardware.h" |
21 | 22 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 23 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
diff --git a/arch/arm/mach-imx/ehci-imx27.c b/arch/arm/mach-imx/ehci-imx27.c index 448d9115539d..c56974346c16 100644 --- a/arch/arm/mach-imx/ehci-imx27.c +++ b/arch/arm/mach-imx/ehci-imx27.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/platform_data/usb-ehci-mxc.h> | 18 | #include <linux/platform_data/usb-ehci-mxc.h> |
19 | 19 | ||
20 | #include "ehci.h" | ||
20 | #include "hardware.h" | 21 | #include "hardware.h" |
21 | 22 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 23 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
diff --git a/arch/arm/mach-imx/ehci-imx31.c b/arch/arm/mach-imx/ehci-imx31.c index 05de4e1e39d7..bede21d9b981 100644 --- a/arch/arm/mach-imx/ehci-imx31.c +++ b/arch/arm/mach-imx/ehci-imx31.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/platform_data/usb-ehci-mxc.h> | 18 | #include <linux/platform_data/usb-ehci-mxc.h> |
19 | 19 | ||
20 | #include "ehci.h" | ||
20 | #include "hardware.h" | 21 | #include "hardware.h" |
21 | 22 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 23 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
diff --git a/arch/arm/mach-imx/ehci-imx35.c b/arch/arm/mach-imx/ehci-imx35.c index 554e7cccff53..f424a543755c 100644 --- a/arch/arm/mach-imx/ehci-imx35.c +++ b/arch/arm/mach-imx/ehci-imx35.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/platform_data/usb-ehci-mxc.h> | 18 | #include <linux/platform_data/usb-ehci-mxc.h> |
19 | 19 | ||
20 | #include "ehci.h" | ||
20 | #include "hardware.h" | 21 | #include "hardware.h" |
21 | 22 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 23 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
diff --git a/arch/arm/mach-imx/ehci-imx5.c b/arch/arm/mach-imx/ehci-imx5.c deleted file mode 100644 index e49710b10c68..000000000000 --- a/arch/arm/mach-imx/ehci-imx5.c +++ /dev/null | |||
@@ -1,171 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de> | ||
3 | * Copyright (C) 2010 Freescale Semiconductor, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License as published by the | ||
7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
8 | * option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but | ||
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
12 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
13 | * for more details. | ||
14 | */ | ||
15 | |||
16 | #include <linux/platform_device.h> | ||
17 | #include <linux/io.h> | ||
18 | #include <linux/platform_data/usb-ehci-mxc.h> | ||
19 | |||
20 | #include "hardware.h" | ||
21 | |||
22 | #define MXC_OTG_OFFSET 0 | ||
23 | #define MXC_H1_OFFSET 0x200 | ||
24 | #define MXC_H2_OFFSET 0x400 | ||
25 | |||
26 | /* USB_CTRL */ | ||
27 | #define MXC_OTG_UCTRL_OWIE_BIT (1 << 27) /* OTG wakeup intr enable */ | ||
28 | #define MXC_OTG_UCTRL_OPM_BIT (1 << 24) /* OTG power mask */ | ||
29 | #define MXC_H1_UCTRL_H1UIE_BIT (1 << 12) /* Host1 ULPI interrupt enable */ | ||
30 | #define MXC_H1_UCTRL_H1WIE_BIT (1 << 11) /* HOST1 wakeup intr enable */ | ||
31 | #define MXC_H1_UCTRL_H1PM_BIT (1 << 8) /* HOST1 power mask */ | ||
32 | |||
33 | /* USB_PHY_CTRL_FUNC */ | ||
34 | #define MXC_OTG_PHYCTRL_OC_POL_BIT (1 << 9) /* OTG Polarity of Overcurrent */ | ||
35 | #define MXC_OTG_PHYCTRL_OC_DIS_BIT (1 << 8) /* OTG Disable Overcurrent Event */ | ||
36 | #define MXC_H1_OC_POL_BIT (1 << 6) /* UH1 Polarity of Overcurrent */ | ||
37 | #define MXC_H1_OC_DIS_BIT (1 << 5) /* UH1 Disable Overcurrent Event */ | ||
38 | #define MXC_OTG_PHYCTRL_PWR_POL_BIT (1 << 3) /* OTG Power Pin Polarity */ | ||
39 | |||
40 | /* USBH2CTRL */ | ||
41 | #define MXC_H2_UCTRL_H2UIE_BIT (1 << 8) | ||
42 | #define MXC_H2_UCTRL_H2WIE_BIT (1 << 7) | ||
43 | #define MXC_H2_UCTRL_H2PM_BIT (1 << 4) | ||
44 | |||
45 | #define MXC_USBCMD_OFFSET 0x140 | ||
46 | |||
47 | /* USBCMD */ | ||
48 | #define MXC_UCMD_ITC_NO_THRESHOLD_MASK (~(0xff << 16)) /* Interrupt Threshold Control */ | ||
49 | |||
50 | int mx51_initialize_usb_hw(int port, unsigned int flags) | ||
51 | { | ||
52 | unsigned int v; | ||
53 | void __iomem *usb_base; | ||
54 | void __iomem *usbotg_base; | ||
55 | void __iomem *usbother_base; | ||
56 | int ret = 0; | ||
57 | |||
58 | usb_base = ioremap(MX51_USB_OTG_BASE_ADDR, SZ_4K); | ||
59 | if (!usb_base) { | ||
60 | printk(KERN_ERR "%s(): ioremap failed\n", __func__); | ||
61 | return -ENOMEM; | ||
62 | } | ||
63 | |||
64 | switch (port) { | ||
65 | case 0: /* OTG port */ | ||
66 | usbotg_base = usb_base + MXC_OTG_OFFSET; | ||
67 | break; | ||
68 | case 1: /* Host 1 port */ | ||
69 | usbotg_base = usb_base + MXC_H1_OFFSET; | ||
70 | break; | ||
71 | case 2: /* Host 2 port */ | ||
72 | usbotg_base = usb_base + MXC_H2_OFFSET; | ||
73 | break; | ||
74 | default: | ||
75 | printk(KERN_ERR"%s no such port %d\n", __func__, port); | ||
76 | ret = -ENOENT; | ||
77 | goto error; | ||
78 | } | ||
79 | usbother_base = usb_base + MX5_USBOTHER_REGS_OFFSET; | ||
80 | |||
81 | switch (port) { | ||
82 | case 0: /*OTG port */ | ||
83 | if (flags & MXC_EHCI_INTERNAL_PHY) { | ||
84 | v = __raw_readl(usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); | ||
85 | |||
86 | if (flags & MXC_EHCI_OC_PIN_ACTIVE_LOW) | ||
87 | v |= MXC_OTG_PHYCTRL_OC_POL_BIT; | ||
88 | else | ||
89 | v &= ~MXC_OTG_PHYCTRL_OC_POL_BIT; | ||
90 | if (flags & MXC_EHCI_POWER_PINS_ENABLED) { | ||
91 | /* OC/USBPWR is used */ | ||
92 | v &= ~MXC_OTG_PHYCTRL_OC_DIS_BIT; | ||
93 | } else { | ||
94 | /* OC/USBPWR is not used */ | ||
95 | v |= MXC_OTG_PHYCTRL_OC_DIS_BIT; | ||
96 | } | ||
97 | if (flags & MXC_EHCI_PWR_PIN_ACTIVE_HIGH) | ||
98 | v |= MXC_OTG_PHYCTRL_PWR_POL_BIT; | ||
99 | else | ||
100 | v &= ~MXC_OTG_PHYCTRL_PWR_POL_BIT; | ||
101 | __raw_writel(v, usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); | ||
102 | |||
103 | v = __raw_readl(usbother_base + MXC_USBCTRL_OFFSET); | ||
104 | if (flags & MXC_EHCI_WAKEUP_ENABLED) | ||
105 | v |= MXC_OTG_UCTRL_OWIE_BIT;/* OTG wakeup enable */ | ||
106 | else | ||
107 | v &= ~MXC_OTG_UCTRL_OWIE_BIT;/* OTG wakeup disable */ | ||
108 | if (flags & MXC_EHCI_POWER_PINS_ENABLED) | ||
109 | v &= ~MXC_OTG_UCTRL_OPM_BIT; | ||
110 | else | ||
111 | v |= MXC_OTG_UCTRL_OPM_BIT; | ||
112 | __raw_writel(v, usbother_base + MXC_USBCTRL_OFFSET); | ||
113 | } | ||
114 | break; | ||
115 | case 1: /* Host 1 */ | ||
116 | /*Host ULPI */ | ||
117 | v = __raw_readl(usbother_base + MXC_USBCTRL_OFFSET); | ||
118 | if (flags & MXC_EHCI_WAKEUP_ENABLED) { | ||
119 | /* HOST1 wakeup/ULPI intr enable */ | ||
120 | v |= (MXC_H1_UCTRL_H1WIE_BIT | MXC_H1_UCTRL_H1UIE_BIT); | ||
121 | } else { | ||
122 | /* HOST1 wakeup/ULPI intr disable */ | ||
123 | v &= ~(MXC_H1_UCTRL_H1WIE_BIT | MXC_H1_UCTRL_H1UIE_BIT); | ||
124 | } | ||
125 | |||
126 | if (flags & MXC_EHCI_POWER_PINS_ENABLED) | ||
127 | v &= ~MXC_H1_UCTRL_H1PM_BIT; /* HOST1 power mask unused*/ | ||
128 | else | ||
129 | v |= MXC_H1_UCTRL_H1PM_BIT; /* HOST1 power mask used*/ | ||
130 | __raw_writel(v, usbother_base + MXC_USBCTRL_OFFSET); | ||
131 | |||
132 | v = __raw_readl(usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); | ||
133 | if (flags & MXC_EHCI_OC_PIN_ACTIVE_LOW) | ||
134 | v |= MXC_H1_OC_POL_BIT; | ||
135 | else | ||
136 | v &= ~MXC_H1_OC_POL_BIT; | ||
137 | if (flags & MXC_EHCI_POWER_PINS_ENABLED) | ||
138 | v &= ~MXC_H1_OC_DIS_BIT; /* OC is used */ | ||
139 | else | ||
140 | v |= MXC_H1_OC_DIS_BIT; /* OC is not used */ | ||
141 | __raw_writel(v, usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); | ||
142 | |||
143 | v = __raw_readl(usbotg_base + MXC_USBCMD_OFFSET); | ||
144 | if (flags & MXC_EHCI_ITC_NO_THRESHOLD) | ||
145 | /* Interrupt Threshold Control:Immediate (no threshold) */ | ||
146 | v &= MXC_UCMD_ITC_NO_THRESHOLD_MASK; | ||
147 | __raw_writel(v, usbotg_base + MXC_USBCMD_OFFSET); | ||
148 | break; | ||
149 | case 2: /* Host 2 ULPI */ | ||
150 | v = __raw_readl(usbother_base + MXC_USBH2CTRL_OFFSET); | ||
151 | if (flags & MXC_EHCI_WAKEUP_ENABLED) { | ||
152 | /* HOST1 wakeup/ULPI intr enable */ | ||
153 | v |= (MXC_H2_UCTRL_H2WIE_BIT | MXC_H2_UCTRL_H2UIE_BIT); | ||
154 | } else { | ||
155 | /* HOST1 wakeup/ULPI intr disable */ | ||
156 | v &= ~(MXC_H2_UCTRL_H2WIE_BIT | MXC_H2_UCTRL_H2UIE_BIT); | ||
157 | } | ||
158 | |||
159 | if (flags & MXC_EHCI_POWER_PINS_ENABLED) | ||
160 | v &= ~MXC_H2_UCTRL_H2PM_BIT; /* HOST2 power mask unused*/ | ||
161 | else | ||
162 | v |= MXC_H2_UCTRL_H2PM_BIT; /* HOST2 power mask used*/ | ||
163 | __raw_writel(v, usbother_base + MXC_USBH2CTRL_OFFSET); | ||
164 | break; | ||
165 | } | ||
166 | |||
167 | error: | ||
168 | iounmap(usb_base); | ||
169 | return ret; | ||
170 | } | ||
171 | |||
diff --git a/arch/arm/mach-imx/ehci.h b/arch/arm/mach-imx/ehci.h new file mode 100644 index 000000000000..0e060023db8b --- /dev/null +++ b/arch/arm/mach-imx/ehci.h | |||
@@ -0,0 +1,43 @@ | |||
1 | #ifndef __MACH_IMX_EHCI_H | ||
2 | #define __MACH_IMX_EHCI_H | ||
3 | |||
4 | /* values for portsc field */ | ||
5 | #define MXC_EHCI_PHY_LOW_POWER_SUSPEND (1 << 23) | ||
6 | #define MXC_EHCI_FORCE_FS (1 << 24) | ||
7 | #define MXC_EHCI_UTMI_8BIT (0 << 28) | ||
8 | #define MXC_EHCI_UTMI_16BIT (1 << 28) | ||
9 | #define MXC_EHCI_SERIAL (1 << 29) | ||
10 | #define MXC_EHCI_MODE_UTMI (0 << 30) | ||
11 | #define MXC_EHCI_MODE_PHILIPS (1 << 30) | ||
12 | #define MXC_EHCI_MODE_ULPI (2 << 30) | ||
13 | #define MXC_EHCI_MODE_SERIAL (3 << 30) | ||
14 | |||
15 | /* values for flags field */ | ||
16 | #define MXC_EHCI_INTERFACE_DIFF_UNI (0 << 0) | ||
17 | #define MXC_EHCI_INTERFACE_DIFF_BI (1 << 0) | ||
18 | #define MXC_EHCI_INTERFACE_SINGLE_UNI (2 << 0) | ||
19 | #define MXC_EHCI_INTERFACE_SINGLE_BI (3 << 0) | ||
20 | #define MXC_EHCI_INTERFACE_MASK (0xf) | ||
21 | |||
22 | #define MXC_EHCI_POWER_PINS_ENABLED (1 << 5) | ||
23 | #define MXC_EHCI_PWR_PIN_ACTIVE_HIGH (1 << 6) | ||
24 | #define MXC_EHCI_OC_PIN_ACTIVE_LOW (1 << 7) | ||
25 | #define MXC_EHCI_TTL_ENABLED (1 << 8) | ||
26 | |||
27 | #define MXC_EHCI_INTERNAL_PHY (1 << 9) | ||
28 | #define MXC_EHCI_IPPUE_DOWN (1 << 10) | ||
29 | #define MXC_EHCI_IPPUE_UP (1 << 11) | ||
30 | #define MXC_EHCI_WAKEUP_ENABLED (1 << 12) | ||
31 | #define MXC_EHCI_ITC_NO_THRESHOLD (1 << 13) | ||
32 | |||
33 | #define MXC_USBCTRL_OFFSET 0 | ||
34 | #define MXC_USB_PHY_CTR_FUNC_OFFSET 0x8 | ||
35 | #define MXC_USB_PHY_CTR_FUNC2_OFFSET 0xc | ||
36 | #define MXC_USBH2CTRL_OFFSET 0x14 | ||
37 | |||
38 | int mx25_initialize_usb_hw(int port, unsigned int flags); | ||
39 | int mx31_initialize_usb_hw(int port, unsigned int flags); | ||
40 | int mx35_initialize_usb_hw(int port, unsigned int flags); | ||
41 | int mx27_initialize_usb_hw(int port, unsigned int flags); | ||
42 | |||
43 | #endif /* __MACH_IMX_EHCI_H */ | ||
diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c index 586e0171a652..82ea74e68482 100644 --- a/arch/arm/mach-imx/gpc.c +++ b/arch/arm/mach-imx/gpc.c | |||
@@ -27,13 +27,14 @@ static void __iomem *gpc_base; | |||
27 | static u32 gpc_wake_irqs[IMR_NUM]; | 27 | static u32 gpc_wake_irqs[IMR_NUM]; |
28 | static u32 gpc_saved_imrs[IMR_NUM]; | 28 | static u32 gpc_saved_imrs[IMR_NUM]; |
29 | 29 | ||
30 | void imx_gpc_pre_suspend(void) | 30 | void imx_gpc_pre_suspend(bool arm_power_off) |
31 | { | 31 | { |
32 | void __iomem *reg_imr1 = gpc_base + GPC_IMR1; | 32 | void __iomem *reg_imr1 = gpc_base + GPC_IMR1; |
33 | int i; | 33 | int i; |
34 | 34 | ||
35 | /* Tell GPC to power off ARM core when suspend */ | 35 | /* Tell GPC to power off ARM core when suspend */ |
36 | writel_relaxed(0x1, gpc_base + GPC_PGC_CPU_PDN); | 36 | if (arm_power_off) |
37 | writel_relaxed(0x1, gpc_base + GPC_PGC_CPU_PDN); | ||
37 | 38 | ||
38 | for (i = 0; i < IMR_NUM; i++) { | 39 | for (i = 0; i < IMR_NUM; i++) { |
39 | gpc_saved_imrs[i] = readl_relaxed(reg_imr1 + i * 4); | 40 | gpc_saved_imrs[i] = readl_relaxed(reg_imr1 + i * 4); |
diff --git a/arch/arm/mach-imx/hardware.h b/arch/arm/mach-imx/hardware.h index abf43bb47eca..66b2b564c463 100644 --- a/arch/arm/mach-imx/hardware.h +++ b/arch/arm/mach-imx/hardware.h | |||
@@ -105,8 +105,6 @@ | |||
105 | 105 | ||
106 | #include "mxc.h" | 106 | #include "mxc.h" |
107 | 107 | ||
108 | #include "mx51.h" | ||
109 | #include "mx53.h" | ||
110 | #include "mx3x.h" | 108 | #include "mx3x.h" |
111 | #include "mx31.h" | 109 | #include "mx31.h" |
112 | #include "mx35.h" | 110 | #include "mx35.h" |
diff --git a/arch/arm/mach-imx/imx25-dt.c b/arch/arm/mach-imx/imx25-dt.c index 42a65e067443..cf8032bae277 100644 --- a/arch/arm/mach-imx/imx25-dt.c +++ b/arch/arm/mach-imx/imx25-dt.c | |||
@@ -29,16 +29,10 @@ static const char * const imx25_dt_board_compat[] __initconst = { | |||
29 | NULL | 29 | NULL |
30 | }; | 30 | }; |
31 | 31 | ||
32 | static void __init imx25_timer_init(void) | ||
33 | { | ||
34 | mx25_clocks_init_dt(); | ||
35 | } | ||
36 | |||
37 | DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)") | 32 | DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)") |
38 | .map_io = mx25_map_io, | 33 | .map_io = mx25_map_io, |
39 | .init_early = imx25_init_early, | 34 | .init_early = imx25_init_early, |
40 | .init_irq = mx25_init_irq, | 35 | .init_irq = mx25_init_irq, |
41 | .init_time = imx25_timer_init, | ||
42 | .init_machine = imx25_dt_init, | 36 | .init_machine = imx25_dt_init, |
43 | .dt_compat = imx25_dt_board_compat, | 37 | .dt_compat = imx25_dt_board_compat, |
44 | .restart = mxc_restart, | 38 | .restart = mxc_restart, |
diff --git a/arch/arm/mach-imx/imx27-dt.c b/arch/arm/mach-imx/imx27-dt.c index 17bd4058133d..080e66c6a1d0 100644 --- a/arch/arm/mach-imx/imx27-dt.c +++ b/arch/arm/mach-imx/imx27-dt.c | |||
@@ -34,16 +34,10 @@ static const char * const imx27_dt_board_compat[] __initconst = { | |||
34 | NULL | 34 | NULL |
35 | }; | 35 | }; |
36 | 36 | ||
37 | static void __init imx27_timer_init(void) | ||
38 | { | ||
39 | mx27_clocks_init_dt(); | ||
40 | } | ||
41 | |||
42 | DT_MACHINE_START(IMX27_DT, "Freescale i.MX27 (Device Tree Support)") | 37 | DT_MACHINE_START(IMX27_DT, "Freescale i.MX27 (Device Tree Support)") |
43 | .map_io = mx27_map_io, | 38 | .map_io = mx27_map_io, |
44 | .init_early = imx27_init_early, | 39 | .init_early = imx27_init_early, |
45 | .init_irq = mx27_init_irq, | 40 | .init_irq = mx27_init_irq, |
46 | .init_time = imx27_timer_init, | ||
47 | .init_machine = imx27_dt_init, | 41 | .init_machine = imx27_dt_init, |
48 | .dt_compat = imx27_dt_board_compat, | 42 | .dt_compat = imx27_dt_board_compat, |
49 | .restart = mxc_restart, | 43 | .restart = mxc_restart, |
diff --git a/arch/arm/mach-imx/imx31-dt.c b/arch/arm/mach-imx/imx31-dt.c index 581f4d6c9b8a..418dbc82adc4 100644 --- a/arch/arm/mach-imx/imx31-dt.c +++ b/arch/arm/mach-imx/imx31-dt.c | |||
@@ -25,7 +25,7 @@ static void __init imx31_dt_init(void) | |||
25 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 25 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
26 | } | 26 | } |
27 | 27 | ||
28 | static const char *imx31_dt_board_compat[] __initconst = { | 28 | static const char * const imx31_dt_board_compat[] __initconst = { |
29 | "fsl,imx31", | 29 | "fsl,imx31", |
30 | NULL | 30 | NULL |
31 | }; | 31 | }; |
diff --git a/arch/arm/mach-imx/imx35-dt.c b/arch/arm/mach-imx/imx35-dt.c index a62854c59240..584fbe105579 100644 --- a/arch/arm/mach-imx/imx35-dt.c +++ b/arch/arm/mach-imx/imx35-dt.c | |||
@@ -34,7 +34,7 @@ static void __init imx35_irq_init(void) | |||
34 | mx35_init_irq(); | 34 | mx35_init_irq(); |
35 | } | 35 | } |
36 | 36 | ||
37 | static const char *imx35_dt_board_compat[] __initconst = { | 37 | static const char * const imx35_dt_board_compat[] __initconst = { |
38 | "fsl,imx35", | 38 | "fsl,imx35", |
39 | NULL | 39 | NULL |
40 | }; | 40 | }; |
diff --git a/arch/arm/mach-imx/iomux-mx51.h b/arch/arm/mach-imx/iomux-mx51.h deleted file mode 100644 index 75bbcc4aa2d2..000000000000 --- a/arch/arm/mach-imx/iomux-mx51.h +++ /dev/null | |||
@@ -1,827 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009-2010 Amit Kucheria <amit.kucheria@canonical.com> | ||
3 | * Copyright (C) 2010 Freescale Semiconductor, Inc. | ||
4 | * | ||
5 | * The code contained herein is licensed under the GNU General Public | ||
6 | * License. You may obtain a copy of the GNU General Public License | ||
7 | * Version 2 or later at the following locations: | ||
8 | * | ||
9 | * http://www.opensource.org/licenses/gpl-license.html | ||
10 | * http://www.gnu.org/copyleft/gpl.html | ||
11 | */ | ||
12 | |||
13 | #ifndef __MACH_IOMUX_MX51_H__ | ||
14 | #define __MACH_IOMUX_MX51_H__ | ||
15 | |||
16 | #include "iomux-v3.h" | ||
17 | #define __NA_ 0x000 | ||
18 | |||
19 | |||
20 | /* Pad control groupings */ | ||
21 | #define MX51_UART_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_DSE_HIGH | \ | ||
22 | PAD_CTL_HYS | PAD_CTL_SRE_FAST) | ||
23 | #define MX51_I2C_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_ODE | \ | ||
24 | PAD_CTL_DSE_HIGH | PAD_CTL_PUS_100K_UP | \ | ||
25 | PAD_CTL_HYS) | ||
26 | #define MX51_ESDHC_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_ODE | \ | ||
27 | PAD_CTL_DSE_HIGH | PAD_CTL_PUS_100K_UP | \ | ||
28 | PAD_CTL_HYS) | ||
29 | #define MX51_USBH1_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_SRE_FAST | \ | ||
30 | PAD_CTL_DSE_HIGH | PAD_CTL_PUS_100K_UP | \ | ||
31 | PAD_CTL_HYS | PAD_CTL_PUE) | ||
32 | #define MX51_ECSPI_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_HYS | \ | ||
33 | PAD_CTL_DSE_HIGH | PAD_CTL_SRE_FAST) | ||
34 | #define MX51_SDHCI_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_DSE_HIGH | \ | ||
35 | PAD_CTL_PUS_47K_UP | PAD_CTL_PUE | \ | ||
36 | PAD_CTL_SRE_FAST | PAD_CTL_DVS) | ||
37 | #define MX51_GPIO_PAD_CTRL (PAD_CTL_DSE_HIGH | PAD_CTL_PKE | PAD_CTL_SRE_FAST) | ||
38 | |||
39 | #define MX51_PAD_CTRL_2 (PAD_CTL_PKE | PAD_CTL_HYS) | ||
40 | #define MX51_PAD_CTRL_3 (PAD_CTL_PKE | PAD_CTL_PUS_100K_UP) | ||
41 | #define MX51_PAD_CTRL_4 (PAD_CTL_PKE | PAD_CTL_DVS | PAD_CTL_HYS) | ||
42 | #define MX51_PAD_CTRL_5 (PAD_CTL_DVS | PAD_CTL_DSE_HIGH) | ||
43 | |||
44 | /* | ||
45 | * The naming convention for the pad modes is MX51_PAD_<padname>__<padmode> | ||
46 | * If <padname> or <padmode> refers to a GPIO, it is named GPIO<unit>_<num> | ||
47 | * See also iomux-v3.h | ||
48 | */ | ||
49 | |||
50 | /* Raw pin modes without pad control */ | ||
51 | /* PAD MUX ALT INPSE PATH PADCTRL */ | ||
52 | |||
53 | /* The same pins as above but with the default pad control values applied */ | ||
54 | #define MX51_PAD_EIM_D16__AUD4_RXFS IOMUX_PAD(0x3f0, 0x05c, 5, __NA_, 0, NO_PAD_CTRL) | ||
55 | #define MX51_PAD_EIM_D16__AUD5_TXD IOMUX_PAD(0x3f0, 0x05c, 7, 0x8d8, 0, NO_PAD_CTRL) | ||
56 | #define MX51_PAD_EIM_D16__EIM_D16 IOMUX_PAD(0x3f0, 0x05c, 0, __NA_, 0, NO_PAD_CTRL) | ||
57 | #define MX51_PAD_EIM_D16__GPIO2_0 IOMUX_PAD(0x3f0, 0x05c, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
58 | #define MX51_PAD_EIM_D16__I2C1_SDA IOMUX_PAD(0x3f0, 0x05c, 0x14, 0x9b4, 0, MX51_I2C_PAD_CTRL) | ||
59 | #define MX51_PAD_EIM_D16__UART2_CTS IOMUX_PAD(0x3f0, 0x05c, 3, __NA_, 0, MX51_UART_PAD_CTRL) | ||
60 | #define MX51_PAD_EIM_D16__USBH2_DATA0 IOMUX_PAD(0x3f0, 0x05c, 2, __NA_, 0, NO_PAD_CTRL) | ||
61 | #define MX51_PAD_EIM_D17__AUD5_RXD IOMUX_PAD(0x3f4, 0x060, 7, 0x8d4, 0, NO_PAD_CTRL) | ||
62 | #define MX51_PAD_EIM_D17__EIM_D17 IOMUX_PAD(0x3f4, 0x060, 0, __NA_, 0, NO_PAD_CTRL) | ||
63 | #define MX51_PAD_EIM_D17__GPIO2_1 IOMUX_PAD(0x3f4, 0x060, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
64 | #define MX51_PAD_EIM_D17__UART2_RXD IOMUX_PAD(0x3f4, 0x060, 3, 0x9ec, 0, MX51_UART_PAD_CTRL) | ||
65 | #define MX51_PAD_EIM_D17__UART3_CTS IOMUX_PAD(0x3f4, 0x060, 4, __NA_, 0, MX51_UART_PAD_CTRL) | ||
66 | #define MX51_PAD_EIM_D17__USBH2_DATA1 IOMUX_PAD(0x3f4, 0x060, 2, __NA_, 0, NO_PAD_CTRL) | ||
67 | #define MX51_PAD_EIM_D18__AUD5_TXC IOMUX_PAD(0x3f8, 0x064, 7, 0x8e4, 0, NO_PAD_CTRL) | ||
68 | #define MX51_PAD_EIM_D18__EIM_D18 IOMUX_PAD(0x3f8, 0x064, 0, __NA_, 0, NO_PAD_CTRL) | ||
69 | #define MX51_PAD_EIM_D18__GPIO2_2 IOMUX_PAD(0x3f8, 0x064, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
70 | #define MX51_PAD_EIM_D18__UART2_TXD IOMUX_PAD(0x3f8, 0x064, 3, __NA_, 0, MX51_UART_PAD_CTRL) | ||
71 | #define MX51_PAD_EIM_D18__UART3_RTS IOMUX_PAD(0x3f8, 0x064, 4, 0x9f0, 1, MX51_UART_PAD_CTRL) | ||
72 | #define MX51_PAD_EIM_D18__USBH2_DATA2 IOMUX_PAD(0x3f8, 0x064, 2, __NA_, 0, NO_PAD_CTRL) | ||
73 | #define MX51_PAD_EIM_D19__AUD4_RXC IOMUX_PAD(0x3fc, 0x068, 5, __NA_, 0, NO_PAD_CTRL) | ||
74 | #define MX51_PAD_EIM_D19__AUD5_TXFS IOMUX_PAD(0x3fc, 0x068, 7, 0x8e8, 0, NO_PAD_CTRL) | ||
75 | #define MX51_PAD_EIM_D19__EIM_D19 IOMUX_PAD(0x3fc, 0x068, 0, __NA_, 0, NO_PAD_CTRL) | ||
76 | #define MX51_PAD_EIM_D19__GPIO2_3 IOMUX_PAD(0x3fc, 0x068, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
77 | #define MX51_PAD_EIM_D19__I2C1_SCL IOMUX_PAD(0x3fc, 0x068, 0x14, 0x9b0, 0, MX51_I2C_PAD_CTRL) | ||
78 | #define MX51_PAD_EIM_D19__UART2_RTS IOMUX_PAD(0x3fc, 0x068, 3, 0x9e8, 1, MX51_UART_PAD_CTRL) | ||
79 | #define MX51_PAD_EIM_D19__USBH2_DATA3 IOMUX_PAD(0x3fc, 0x068, 2, __NA_, 0, NO_PAD_CTRL) | ||
80 | #define MX51_PAD_EIM_D20__AUD4_TXD IOMUX_PAD(0x400, 0x06c, 5, 0x8c8, 0, NO_PAD_CTRL) | ||
81 | #define MX51_PAD_EIM_D20__EIM_D20 IOMUX_PAD(0x400, 0x06c, 0, __NA_, 0, NO_PAD_CTRL) | ||
82 | #define MX51_PAD_EIM_D20__GPIO2_4 IOMUX_PAD(0x400, 0x06c, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
83 | #define MX51_PAD_EIM_D20__SRTC_ALARM_DEB IOMUX_PAD(0x400, 0x06c, 4, __NA_, 0, NO_PAD_CTRL) | ||
84 | #define MX51_PAD_EIM_D20__USBH2_DATA4 IOMUX_PAD(0x400, 0x06c, 2, __NA_, 0, NO_PAD_CTRL) | ||
85 | #define MX51_PAD_EIM_D21__AUD4_RXD IOMUX_PAD(0x404, 0x070, 5, 0x8c4, 0, NO_PAD_CTRL) | ||
86 | #define MX51_PAD_EIM_D21__EIM_D21 IOMUX_PAD(0x404, 0x070, 0, __NA_, 0, NO_PAD_CTRL) | ||
87 | #define MX51_PAD_EIM_D21__GPIO2_5 IOMUX_PAD(0x404, 0x070, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
88 | #define MX51_PAD_EIM_D21__SRTC_ALARM_DEB IOMUX_PAD(0x404, 0x070, 3, __NA_, 0, NO_PAD_CTRL) | ||
89 | #define MX51_PAD_EIM_D21__USBH2_DATA5 IOMUX_PAD(0x404, 0x070, 2, __NA_, 0, NO_PAD_CTRL) | ||
90 | #define MX51_PAD_EIM_D22__AUD4_TXC IOMUX_PAD(0x408, 0x074, 5, 0x8cc, 0, NO_PAD_CTRL) | ||
91 | #define MX51_PAD_EIM_D22__EIM_D22 IOMUX_PAD(0x408, 0x074, 0, __NA_, 0, NO_PAD_CTRL) | ||
92 | #define MX51_PAD_EIM_D22__GPIO2_6 IOMUX_PAD(0x408, 0x074, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
93 | #define MX51_PAD_EIM_D22__USBH2_DATA6 IOMUX_PAD(0x408, 0x074, 2, __NA_, 0, NO_PAD_CTRL) | ||
94 | #define MX51_PAD_EIM_D23__AUD4_TXFS IOMUX_PAD(0x40c, 0x078, 5, 0x8d0, 0, NO_PAD_CTRL) | ||
95 | #define MX51_PAD_EIM_D23__EIM_D23 IOMUX_PAD(0x40c, 0x078, 0, __NA_, 0, NO_PAD_CTRL) | ||
96 | #define MX51_PAD_EIM_D23__GPIO2_7 IOMUX_PAD(0x40c, 0x078, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
97 | #define MX51_PAD_EIM_D23__SPDIF_OUT1 IOMUX_PAD(0x40c, 0x078, 4, __NA_, 0, NO_PAD_CTRL) | ||
98 | #define MX51_PAD_EIM_D23__USBH2_DATA7 IOMUX_PAD(0x40c, 0x078, 2, __NA_, 0, NO_PAD_CTRL) | ||
99 | #define MX51_PAD_EIM_D24__AUD6_RXFS IOMUX_PAD(0x410, 0x07c, 5, 0x8f8, 0, NO_PAD_CTRL) | ||
100 | #define MX51_PAD_EIM_D24__EIM_D24 IOMUX_PAD(0x410, 0x07c, 0, __NA_, 0, NO_PAD_CTRL) | ||
101 | #define MX51_PAD_EIM_D24__GPIO2_8 IOMUX_PAD(0x410, 0x07c, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
102 | #define MX51_PAD_EIM_D24__I2C2_SDA IOMUX_PAD(0x410, 0x07c, 0x14, 0x9bc, 0, MX51_I2C_PAD_CTRL) | ||
103 | #define MX51_PAD_EIM_D24__UART3_CTS IOMUX_PAD(0x410, 0x07c, 3, __NA_, 0, MX51_UART_PAD_CTRL) | ||
104 | #define MX51_PAD_EIM_D24__USBOTG_DATA0 IOMUX_PAD(0x410, 0x07c, 2, __NA_, 0, NO_PAD_CTRL) | ||
105 | #define MX51_PAD_EIM_D25__EIM_D25 IOMUX_PAD(0x414, 0x080, 0, __NA_, 0, NO_PAD_CTRL) | ||
106 | #define MX51_PAD_EIM_D25__KEY_COL6 IOMUX_PAD(0x414, 0x080, 1, 0x9c8, 0, NO_PAD_CTRL) | ||
107 | #define MX51_PAD_EIM_D25__UART2_CTS IOMUX_PAD(0x414, 0x080, 4, __NA_, 0, MX51_UART_PAD_CTRL) | ||
108 | #define MX51_PAD_EIM_D25__UART3_RXD IOMUX_PAD(0x414, 0x080, 3, 0x9f4, 0, MX51_UART_PAD_CTRL) | ||
109 | #define MX51_PAD_EIM_D25__USBOTG_DATA1 IOMUX_PAD(0x414, 0x080, 2, __NA_, 0, NO_PAD_CTRL) | ||
110 | #define MX51_PAD_EIM_D25__GPT_CMPOUT1 IOMUX_PAD(0x414, 0x080, 5, __NA_, 0, NO_PAD_CTRL) | ||
111 | #define MX51_PAD_EIM_D26__EIM_D26 IOMUX_PAD(0x418, 0x084, 0, __NA_, 0, NO_PAD_CTRL) | ||
112 | #define MX51_PAD_EIM_D26__KEY_COL7 IOMUX_PAD(0x418, 0x084, 1, 0x9cc, 0, NO_PAD_CTRL) | ||
113 | #define MX51_PAD_EIM_D26__UART2_RTS IOMUX_PAD(0x418, 0x084, 4, 0x9e8, 3, MX51_UART_PAD_CTRL) | ||
114 | #define MX51_PAD_EIM_D26__UART3_TXD IOMUX_PAD(0x418, 0x084, 3, __NA_, 0, MX51_UART_PAD_CTRL) | ||
115 | #define MX51_PAD_EIM_D26__USBOTG_DATA2 IOMUX_PAD(0x418, 0x084, 2, __NA_, 0, NO_PAD_CTRL) | ||
116 | #define MX51_PAD_EIM_D26__GPT_CMPOUT2 IOMUX_PAD(0x418, 0x084, 5, __NA_, 0, NO_PAD_CTRL) | ||
117 | #define MX51_PAD_EIM_D27__AUD6_RXC IOMUX_PAD(0x41c, 0x088, 5, 0x8f4, 0, NO_PAD_CTRL) | ||
118 | #define MX51_PAD_EIM_D27__EIM_D27 IOMUX_PAD(0x41c, 0x088, 0, __NA_, 0, NO_PAD_CTRL) | ||
119 | #define MX51_PAD_EIM_D27__GPIO2_9 IOMUX_PAD(0x41c, 0x088, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
120 | #define MX51_PAD_EIM_D27__I2C2_SCL IOMUX_PAD(0x41c, 0x088, 0x14, 0x9b8, 0, MX51_I2C_PAD_CTRL) | ||
121 | #define MX51_PAD_EIM_D27__UART3_RTS IOMUX_PAD(0x41c, 0x088, 3, 0x9f0, 3, MX51_UART_PAD_CTRL) | ||
122 | #define MX51_PAD_EIM_D27__USBOTG_DATA3 IOMUX_PAD(0x41c, 0x088, 2, __NA_, 0, NO_PAD_CTRL) | ||
123 | #define MX51_PAD_EIM_D28__AUD6_TXD IOMUX_PAD(0x420, 0x08c, 5, 0x8f0, 0, NO_PAD_CTRL) | ||
124 | #define MX51_PAD_EIM_D28__EIM_D28 IOMUX_PAD(0x420, 0x08c, 0, __NA_, 0, NO_PAD_CTRL) | ||
125 | #define MX51_PAD_EIM_D28__KEY_ROW4 IOMUX_PAD(0x420, 0x08c, 1, 0x9d0, 0, NO_PAD_CTRL) | ||
126 | #define MX51_PAD_EIM_D28__USBOTG_DATA4 IOMUX_PAD(0x420, 0x08c, 2, __NA_, 0, NO_PAD_CTRL) | ||
127 | #define MX51_PAD_EIM_D29__AUD6_RXD IOMUX_PAD(0x424, 0x090, 5, 0x8ec, 0, NO_PAD_CTRL) | ||
128 | #define MX51_PAD_EIM_D29__EIM_D29 IOMUX_PAD(0x424, 0x090, 0, __NA_, 0, NO_PAD_CTRL) | ||
129 | #define MX51_PAD_EIM_D29__KEY_ROW5 IOMUX_PAD(0x424, 0x090, 1, 0x9d4, 0, NO_PAD_CTRL) | ||
130 | #define MX51_PAD_EIM_D29__USBOTG_DATA5 IOMUX_PAD(0x424, 0x090, 2, __NA_, 0, NO_PAD_CTRL) | ||
131 | #define MX51_PAD_EIM_D30__AUD6_TXC IOMUX_PAD(0x428, 0x094, 5, 0x8fc, 0, NO_PAD_CTRL) | ||
132 | #define MX51_PAD_EIM_D30__EIM_D30 IOMUX_PAD(0x428, 0x094, 0, __NA_, 0, NO_PAD_CTRL) | ||
133 | #define MX51_PAD_EIM_D30__KEY_ROW6 IOMUX_PAD(0x428, 0x094, 1, 0x9d8, 0, NO_PAD_CTRL) | ||
134 | #define MX51_PAD_EIM_D30__USBOTG_DATA6 IOMUX_PAD(0x428, 0x094, 2, __NA_, 0, NO_PAD_CTRL) | ||
135 | #define MX51_PAD_EIM_D31__AUD6_TXFS IOMUX_PAD(0x42c, 0x098, 5, 0x900, 0, NO_PAD_CTRL) | ||
136 | #define MX51_PAD_EIM_D31__EIM_D31 IOMUX_PAD(0x42c, 0x098, 0, __NA_, 0, NO_PAD_CTRL) | ||
137 | #define MX51_PAD_EIM_D31__KEY_ROW7 IOMUX_PAD(0x42c, 0x098, 1, 0x9dc, 0, NO_PAD_CTRL) | ||
138 | #define MX51_PAD_EIM_D31__USBOTG_DATA7 IOMUX_PAD(0x42c, 0x098, 2, __NA_, 0, NO_PAD_CTRL) | ||
139 | #define MX51_PAD_EIM_A16__EIM_A16 IOMUX_PAD(0x430, 0x09c, 0, __NA_, 0, NO_PAD_CTRL) | ||
140 | #define MX51_PAD_EIM_A16__GPIO2_10 IOMUX_PAD(0x430, 0x09c, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
141 | #define MX51_PAD_EIM_A16__OSC_FREQ_SEL0 IOMUX_PAD(0x430, 0x09c, 7, __NA_, 0, NO_PAD_CTRL) | ||
142 | #define MX51_PAD_EIM_A17__EIM_A17 IOMUX_PAD(0x434, 0x0a0, 0, __NA_, 0, NO_PAD_CTRL) | ||
143 | #define MX51_PAD_EIM_A17__GPIO2_11 IOMUX_PAD(0x434, 0x0a0, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
144 | #define MX51_PAD_EIM_A17__OSC_FREQ_SEL1 IOMUX_PAD(0x434, 0x0a0, 7, __NA_, 0, NO_PAD_CTRL) | ||
145 | #define MX51_PAD_EIM_A18__BOOT_LPB0 IOMUX_PAD(0x438, 0x0a4, 7, __NA_, 0, NO_PAD_CTRL) | ||
146 | #define MX51_PAD_EIM_A18__EIM_A18 IOMUX_PAD(0x438, 0x0a4, 0, __NA_, 0, NO_PAD_CTRL) | ||
147 | #define MX51_PAD_EIM_A18__GPIO2_12 IOMUX_PAD(0x438, 0x0a4, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
148 | #define MX51_PAD_EIM_A19__BOOT_LPB1 IOMUX_PAD(0x43c, 0x0a8, 7, __NA_, 0, NO_PAD_CTRL) | ||
149 | #define MX51_PAD_EIM_A19__EIM_A19 IOMUX_PAD(0x43c, 0x0a8, 0, __NA_, 0, NO_PAD_CTRL) | ||
150 | #define MX51_PAD_EIM_A19__GPIO2_13 IOMUX_PAD(0x43c, 0x0a8, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
151 | #define MX51_PAD_EIM_A20__BOOT_UART_SRC0 IOMUX_PAD(0x440, 0x0ac, 7, __NA_, 0, NO_PAD_CTRL) | ||
152 | #define MX51_PAD_EIM_A20__EIM_A20 IOMUX_PAD(0x440, 0x0ac, 0, __NA_, 0, NO_PAD_CTRL) | ||
153 | #define MX51_PAD_EIM_A20__GPIO2_14 IOMUX_PAD(0x440, 0x0ac, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
154 | #define MX51_PAD_EIM_A21__BOOT_UART_SRC1 IOMUX_PAD(0x444, 0x0b0, 7, __NA_, 0, NO_PAD_CTRL) | ||
155 | #define MX51_PAD_EIM_A21__EIM_A21 IOMUX_PAD(0x444, 0x0b0, 0, __NA_, 0, NO_PAD_CTRL) | ||
156 | #define MX51_PAD_EIM_A21__GPIO2_15 IOMUX_PAD(0x444, 0x0b0, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
157 | #define MX51_PAD_EIM_A22__EIM_A22 IOMUX_PAD(0x448, 0x0b4, 0, __NA_, 0, NO_PAD_CTRL) | ||
158 | #define MX51_PAD_EIM_A22__GPIO2_16 IOMUX_PAD(0x448, 0x0b4, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
159 | #define MX51_PAD_EIM_A23__BOOT_HPN_EN IOMUX_PAD(0x44c, 0x0b8, 7, __NA_, 0, NO_PAD_CTRL) | ||
160 | #define MX51_PAD_EIM_A23__EIM_A23 IOMUX_PAD(0x44c, 0x0b8, 0, __NA_, 0, NO_PAD_CTRL) | ||
161 | #define MX51_PAD_EIM_A23__GPIO2_17 IOMUX_PAD(0x44c, 0x0b8, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
162 | #define MX51_PAD_EIM_A24__EIM_A24 IOMUX_PAD(0x450, 0x0bc, 0, __NA_, 0, NO_PAD_CTRL) | ||
163 | #define MX51_PAD_EIM_A24__GPIO2_18 IOMUX_PAD(0x450, 0x0bc, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
164 | #define MX51_PAD_EIM_A24__USBH2_CLK IOMUX_PAD(0x450, 0x0bc, 2, __NA_, 0, NO_PAD_CTRL) | ||
165 | #define MX51_PAD_EIM_A25__DISP1_PIN4 IOMUX_PAD(0x454, 0x0c0, 6, __NA_, 0, NO_PAD_CTRL) | ||
166 | #define MX51_PAD_EIM_A25__EIM_A25 IOMUX_PAD(0x454, 0x0c0, 0, __NA_, 0, NO_PAD_CTRL) | ||
167 | #define MX51_PAD_EIM_A25__GPIO2_19 IOMUX_PAD(0x454, 0x0c0, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
168 | #define MX51_PAD_EIM_A25__USBH2_DIR IOMUX_PAD(0x454, 0x0c0, 2, __NA_, 0, NO_PAD_CTRL) | ||
169 | #define MX51_PAD_EIM_A26__CSI1_DATA_EN IOMUX_PAD(0x458, 0x0c4, 5, 0x9a0, 0, NO_PAD_CTRL) | ||
170 | #define MX51_PAD_EIM_A26__DISP2_EXT_CLK IOMUX_PAD(0x458, 0x0c4, 6, 0x908, 0, NO_PAD_CTRL) | ||
171 | #define MX51_PAD_EIM_A26__EIM_A26 IOMUX_PAD(0x458, 0x0c4, 0, __NA_, 0, NO_PAD_CTRL) | ||
172 | #define MX51_PAD_EIM_A26__GPIO2_20 IOMUX_PAD(0x458, 0x0c4, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
173 | #define MX51_PAD_EIM_A26__USBH2_STP IOMUX_PAD(0x458, 0x0c4, 2, __NA_, 0, NO_PAD_CTRL) | ||
174 | #define MX51_PAD_EIM_A27__CSI2_DATA_EN IOMUX_PAD(0x45c, 0x0c8, 5, 0x99c, 0, NO_PAD_CTRL) | ||
175 | #define MX51_PAD_EIM_A27__DISP1_PIN1 IOMUX_PAD(0x45c, 0x0c8, 6, 0x9a4, 0, NO_PAD_CTRL) | ||
176 | #define MX51_PAD_EIM_A27__EIM_A27 IOMUX_PAD(0x45c, 0x0c8, 0, __NA_, 0, NO_PAD_CTRL) | ||
177 | #define MX51_PAD_EIM_A27__GPIO2_21 IOMUX_PAD(0x45c, 0x0c8, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
178 | #define MX51_PAD_EIM_A27__USBH2_NXT IOMUX_PAD(0x45c, 0x0c8, 2, __NA_, 0, NO_PAD_CTRL) | ||
179 | #define MX51_PAD_EIM_EB0__EIM_EB0 IOMUX_PAD(0x460, 0x0cc, 0, __NA_, 0, NO_PAD_CTRL) | ||
180 | #define MX51_PAD_EIM_EB1__EIM_EB1 IOMUX_PAD(0x464, 0x0d0, 0, __NA_, 0, NO_PAD_CTRL) | ||
181 | #define MX51_PAD_EIM_EB2__AUD5_RXFS IOMUX_PAD(0x468, 0x0d4, 6, 0x8e0, 0, NO_PAD_CTRL) | ||
182 | #define MX51_PAD_EIM_EB2__CSI1_D2 IOMUX_PAD(0x468, 0x0d4, 5, __NA_, 0, NO_PAD_CTRL) | ||
183 | #define MX51_PAD_EIM_EB2__EIM_EB2 IOMUX_PAD(0x468, 0x0d4, 0, __NA_, 0, NO_PAD_CTRL) | ||
184 | #define MX51_PAD_EIM_EB2__FEC_MDIO (IOMUX_PAD(0x468, 0x0d4, 3, 0x954, 0, 0) | \ | ||
185 | MUX_PAD_CTRL(PAD_CTL_PUS_22K_UP | PAD_CTL_PKE | PAD_CTL_SRE_FAST | \ | ||
186 | PAD_CTL_DSE_HIGH | PAD_CTL_PUE | PAD_CTL_HYS)) | ||
187 | #define MX51_PAD_EIM_EB2__GPIO2_22 IOMUX_PAD(0x468, 0x0d4, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
188 | #define MX51_PAD_EIM_EB2__GPT_CMPOUT1 IOMUX_PAD(0x468, 0x0d4, 7, __NA_, 0, NO_PAD_CTRL) | ||
189 | #define MX51_PAD_EIM_EB3__AUD5_RXC IOMUX_PAD(0x46c, 0x0d8, 6, 0x8dc, 0, NO_PAD_CTRL) | ||
190 | #define MX51_PAD_EIM_EB3__CSI1_D3 IOMUX_PAD(0x46c, 0x0d8, 5, __NA_, 0, NO_PAD_CTRL) | ||
191 | #define MX51_PAD_EIM_EB3__EIM_EB3 IOMUX_PAD(0x46c, 0x0d8, 0, __NA_, 0, NO_PAD_CTRL) | ||
192 | #define MX51_PAD_EIM_EB3__FEC_RDATA1 IOMUX_PAD(0x46c, 0x0d8, 3, 0x95c, 0, NO_PAD_CTRL) | ||
193 | #define MX51_PAD_EIM_EB3__GPIO2_23 IOMUX_PAD(0x46c, 0x0d8, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
194 | #define MX51_PAD_EIM_EB3__GPT_CMPOUT2 IOMUX_PAD(0x46c, 0x0d8, 7, __NA_, 0, NO_PAD_CTRL) | ||
195 | #define MX51_PAD_EIM_OE__EIM_OE IOMUX_PAD(0x470, 0x0dc, 0, __NA_, 0, NO_PAD_CTRL) | ||
196 | #define MX51_PAD_EIM_OE__GPIO2_24 IOMUX_PAD(0x470, 0x0dc, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
197 | #define MX51_PAD_EIM_CS0__EIM_CS0 IOMUX_PAD(0x474, 0x0e0, 0, __NA_, 0, NO_PAD_CTRL) | ||
198 | #define MX51_PAD_EIM_CS0__GPIO2_25 IOMUX_PAD(0x474, 0x0e0, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
199 | #define MX51_PAD_EIM_CS1__EIM_CS1 IOMUX_PAD(0x478, 0x0e4, 0, __NA_, 0, NO_PAD_CTRL) | ||
200 | #define MX51_PAD_EIM_CS1__GPIO2_26 IOMUX_PAD(0x478, 0x0e4, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
201 | #define MX51_PAD_EIM_CS2__AUD5_TXD IOMUX_PAD(0x47c, 0x0e8, 6, 0x8d8, 1, NO_PAD_CTRL) | ||
202 | #define MX51_PAD_EIM_CS2__CSI1_D4 IOMUX_PAD(0x47c, 0x0e8, 5, __NA_, 0, NO_PAD_CTRL) | ||
203 | #define MX51_PAD_EIM_CS2__EIM_CS2 IOMUX_PAD(0x47c, 0x0e8, 0, __NA_, 0, NO_PAD_CTRL) | ||
204 | #define MX51_PAD_EIM_CS2__FEC_RDATA2 IOMUX_PAD(0x47c, 0x0e8, 3, 0x960, 0, NO_PAD_CTRL) | ||
205 | #define MX51_PAD_EIM_CS2__GPIO2_27 IOMUX_PAD(0x47c, 0x0e8, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
206 | #define MX51_PAD_EIM_CS2__USBOTG_STP IOMUX_PAD(0x47c, 0x0e8, 2, __NA_, 0, NO_PAD_CTRL) | ||
207 | #define MX51_PAD_EIM_CS3__AUD5_RXD IOMUX_PAD(0x480, 0x0ec, 6, 0x8d4, 1, NO_PAD_CTRL) | ||
208 | #define MX51_PAD_EIM_CS3__CSI1_D5 IOMUX_PAD(0x480, 0x0ec, 5, __NA_, 0, NO_PAD_CTRL) | ||
209 | #define MX51_PAD_EIM_CS3__EIM_CS3 IOMUX_PAD(0x480, 0x0ec, 0, __NA_, 0, NO_PAD_CTRL) | ||
210 | #define MX51_PAD_EIM_CS3__FEC_RDATA3 IOMUX_PAD(0x480, 0x0ec, 3, 0x964, 0, NO_PAD_CTRL) | ||
211 | #define MX51_PAD_EIM_CS3__GPIO2_28 IOMUX_PAD(0x480, 0x0ec, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
212 | #define MX51_PAD_EIM_CS3__USBOTG_NXT IOMUX_PAD(0x480, 0x0ec, 2, __NA_, 0, NO_PAD_CTRL) | ||
213 | #define MX51_PAD_EIM_CS4__AUD5_TXC IOMUX_PAD(0x484, 0x0f0, 6, 0x8e4, 1, NO_PAD_CTRL) | ||
214 | #define MX51_PAD_EIM_CS4__CSI1_D6 IOMUX_PAD(0x484, 0x0f0, 5, __NA_, 0, NO_PAD_CTRL) | ||
215 | #define MX51_PAD_EIM_CS4__EIM_CS4 IOMUX_PAD(0x484, 0x0f0, 0, __NA_, 0, NO_PAD_CTRL) | ||
216 | #define MX51_PAD_EIM_CS4__FEC_RX_ER IOMUX_PAD(0x484, 0x0f0, 3, 0x970, 0, MX51_PAD_CTRL_2) | ||
217 | #define MX51_PAD_EIM_CS4__GPIO2_29 IOMUX_PAD(0x484, 0x0f0, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
218 | #define MX51_PAD_EIM_CS4__USBOTG_CLK IOMUX_PAD(0x484, 0x0f0, 2, __NA_, 0, NO_PAD_CTRL) | ||
219 | #define MX51_PAD_EIM_CS5__AUD5_TXFS IOMUX_PAD(0x488, 0x0f4, 6, 0x8e8, 1, NO_PAD_CTRL) | ||
220 | #define MX51_PAD_EIM_CS5__CSI1_D7 IOMUX_PAD(0x488, 0x0f4, 5, __NA_, 0, NO_PAD_CTRL) | ||
221 | #define MX51_PAD_EIM_CS5__DISP1_EXT_CLK IOMUX_PAD(0x488, 0x0f4, 4, 0x904, 0, NO_PAD_CTRL) | ||
222 | #define MX51_PAD_EIM_CS5__EIM_CS5 IOMUX_PAD(0x488, 0x0f4, 0, __NA_, 0, NO_PAD_CTRL) | ||
223 | #define MX51_PAD_EIM_CS5__FEC_CRS IOMUX_PAD(0x488, 0x0f4, 3, 0x950, 0, MX51_PAD_CTRL_2) | ||
224 | #define MX51_PAD_EIM_CS5__GPIO2_30 IOMUX_PAD(0x488, 0x0f4, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
225 | #define MX51_PAD_EIM_CS5__USBOTG_DIR IOMUX_PAD(0x488, 0x0f4, 2, __NA_, 0, NO_PAD_CTRL) | ||
226 | #define MX51_PAD_EIM_DTACK__EIM_DTACK IOMUX_PAD(0x48c, 0x0f8, 0, __NA_, 0, NO_PAD_CTRL) | ||
227 | #define MX51_PAD_EIM_DTACK__GPIO2_31 IOMUX_PAD(0x48c, 0x0f8, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
228 | #define MX51_PAD_EIM_LBA__EIM_LBA IOMUX_PAD(0x494, 0x0fc, 0, __NA_, 0, NO_PAD_CTRL) | ||
229 | #define MX51_PAD_EIM_LBA__GPIO3_1 IOMUX_PAD(0x494, 0x0fc, 1, 0x978, 0, MX51_GPIO_PAD_CTRL) | ||
230 | #define MX51_PAD_EIM_CRE__EIM_CRE IOMUX_PAD(0x4a0, 0x100, 0, __NA_, 0, NO_PAD_CTRL) | ||
231 | #define MX51_PAD_EIM_CRE__GPIO3_2 IOMUX_PAD(0x4a0, 0x100, 1, 0x97c, 0, MX51_GPIO_PAD_CTRL) | ||
232 | #define MX51_PAD_DRAM_CS1__DRAM_CS1 IOMUX_PAD(0x4d0, 0x104, 0, __NA_, 0, NO_PAD_CTRL) | ||
233 | #define MX51_PAD_DRAM_CS1__CCM_CLKO IOMUX_PAD(0x4d0, 0x104, 1, __NA_, 0, NO_PAD_CTRL) | ||
234 | #define MX51_PAD_NANDF_WE_B__GPIO3_3 IOMUX_PAD(0x4e4, 0x108, 3, 0x980, 0, MX51_GPIO_PAD_CTRL) | ||
235 | #define MX51_PAD_NANDF_WE_B__NANDF_WE_B IOMUX_PAD(0x4e4, 0x108, 0, __NA_, 0, NO_PAD_CTRL) | ||
236 | #define MX51_PAD_NANDF_WE_B__PATA_DIOW IOMUX_PAD(0x4e4, 0x108, 1, __NA_, 0, NO_PAD_CTRL) | ||
237 | #define MX51_PAD_NANDF_WE_B__SD3_DATA0 IOMUX_PAD(0x4e4, 0x108, 2, 0x93c, 0, MX51_SDHCI_PAD_CTRL) | ||
238 | #define MX51_PAD_NANDF_RE_B__GPIO3_4 IOMUX_PAD(0x4e8, 0x10c, 3, 0x984, 0, MX51_GPIO_PAD_CTRL) | ||
239 | #define MX51_PAD_NANDF_RE_B__NANDF_RE_B IOMUX_PAD(0x4e8, 0x10c, 0, __NA_, 0, NO_PAD_CTRL) | ||
240 | #define MX51_PAD_NANDF_RE_B__PATA_DIOR IOMUX_PAD(0x4e8, 0x10c, 1, __NA_, 0, NO_PAD_CTRL) | ||
241 | #define MX51_PAD_NANDF_RE_B__SD3_DATA1 IOMUX_PAD(0x4e8, 0x10c, 2, 0x940, 0, MX51_SDHCI_PAD_CTRL) | ||
242 | #define MX51_PAD_NANDF_ALE__GPIO3_5 IOMUX_PAD(0x4ec, 0x110, 3, 0x988, 0, MX51_GPIO_PAD_CTRL) | ||
243 | #define MX51_PAD_NANDF_ALE__NANDF_ALE IOMUX_PAD(0x4ec, 0x110, 0, __NA_, 0, NO_PAD_CTRL) | ||
244 | #define MX51_PAD_NANDF_ALE__PATA_BUFFER_EN IOMUX_PAD(0x4ec, 0x110, 1, __NA_, 0, NO_PAD_CTRL) | ||
245 | #define MX51_PAD_NANDF_CLE__GPIO3_6 IOMUX_PAD(0x4f0, 0x114, 3, 0x98c, 0, MX51_GPIO_PAD_CTRL) | ||
246 | #define MX51_PAD_NANDF_CLE__NANDF_CLE IOMUX_PAD(0x4f0, 0x114, 0, __NA_, 0, NO_PAD_CTRL) | ||
247 | #define MX51_PAD_NANDF_CLE__PATA_RESET_B IOMUX_PAD(0x4f0, 0x114, 1, __NA_, 0, NO_PAD_CTRL) | ||
248 | #define MX51_PAD_NANDF_WP_B__GPIO3_7 IOMUX_PAD(0x4f4, 0x118, 3, 0x990, 0, MX51_GPIO_PAD_CTRL) | ||
249 | #define MX51_PAD_NANDF_WP_B__NANDF_WP_B IOMUX_PAD(0x4f4, 0x118, 0, __NA_, 0, NO_PAD_CTRL) | ||
250 | #define MX51_PAD_NANDF_WP_B__PATA_DMACK IOMUX_PAD(0x4f4, 0x118, 1, __NA_, 0, NO_PAD_CTRL) | ||
251 | #define MX51_PAD_NANDF_WP_B__SD3_DATA2 IOMUX_PAD(0x4f4, 0x118, 2, 0x944, 0, MX51_SDHCI_PAD_CTRL) | ||
252 | #define MX51_PAD_NANDF_RB0__ECSPI2_SS1 IOMUX_PAD(0x4f8, 0x11c, 5, 0x930, 0, MX51_ECSPI_PAD_CTRL) | ||
253 | #define MX51_PAD_NANDF_RB0__GPIO3_8 IOMUX_PAD(0x4f8, 0x11c, 3, 0x994, 0, MX51_GPIO_PAD_CTRL) | ||
254 | #define MX51_PAD_NANDF_RB0__NANDF_RB0 IOMUX_PAD(0x4f8, 0x11c, 0, __NA_, 0, NO_PAD_CTRL) | ||
255 | #define MX51_PAD_NANDF_RB0__PATA_DMARQ IOMUX_PAD(0x4f8, 0x11c, 1, __NA_, 0, NO_PAD_CTRL) | ||
256 | #define MX51_PAD_NANDF_RB0__SD3_DATA3 IOMUX_PAD(0x4f8, 0x11c, 2, 0x948, 0, MX51_SDHCI_PAD_CTRL) | ||
257 | #define MX51_PAD_NANDF_RB1__CSPI_MOSI IOMUX_PAD(0x4fc, 0x120, 6, 0x91c, 0, MX51_ECSPI_PAD_CTRL) | ||
258 | #define MX51_PAD_NANDF_RB1__ECSPI2_RDY IOMUX_PAD(0x4fc, 0x120, 2, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
259 | #define MX51_PAD_NANDF_RB1__GPIO3_9 IOMUX_PAD(0x4fc, 0x120, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
260 | #define MX51_PAD_NANDF_RB1__NANDF_RB1 IOMUX_PAD(0x4fc, 0x120, 0, __NA_, 0, NO_PAD_CTRL) | ||
261 | #define MX51_PAD_NANDF_RB1__PATA_IORDY IOMUX_PAD(0x4fc, 0x120, 1, __NA_, 0, NO_PAD_CTRL) | ||
262 | #define MX51_PAD_NANDF_RB1__GPT_CMPOUT2 IOMUX_PAD(0x4fc, 0x120, 4, __NA_, 0, NO_PAD_CTRL) | ||
263 | #define MX51_PAD_NANDF_RB1__SD4_CMD IOMUX_PAD(0x4fc, 0x120, 0x15, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
264 | #define MX51_PAD_NANDF_RB2__DISP2_WAIT IOMUX_PAD(0x500, 0x124, 5, 0x9a8, 0, NO_PAD_CTRL) | ||
265 | #define MX51_PAD_NANDF_RB2__ECSPI2_SCLK IOMUX_PAD(0x500, 0x124, 2, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
266 | #define MX51_PAD_NANDF_RB2__FEC_COL IOMUX_PAD(0x500, 0x124, 1, 0x94c, 0, MX51_PAD_CTRL_2) | ||
267 | #define MX51_PAD_NANDF_RB2__GPIO3_10 IOMUX_PAD(0x500, 0x124, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
268 | #define MX51_PAD_NANDF_RB2__NANDF_RB2 IOMUX_PAD(0x500, 0x124, 0, __NA_, 0, NO_PAD_CTRL) | ||
269 | #define MX51_PAD_NANDF_RB2__GPT_CMPOUT3 IOMUX_PAD(0x500, 0x124, 4, __NA_, 0, NO_PAD_CTRL) | ||
270 | #define MX51_PAD_NANDF_RB2__USBH3_H3_DP IOMUX_PAD(0x500, 0x124, 0x17, __NA_, 0, NO_PAD_CTRL) | ||
271 | #define MX51_PAD_NANDF_RB2__USBH3_NXT IOMUX_PAD(0x500, 0x124, 6, 0xa20, 0, NO_PAD_CTRL) | ||
272 | #define MX51_PAD_NANDF_RB3__DISP1_WAIT IOMUX_PAD(0x504, 0x128, 5, __NA_, 0, NO_PAD_CTRL) | ||
273 | #define MX51_PAD_NANDF_RB3__ECSPI2_MISO IOMUX_PAD(0x504, 0x128, 2, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
274 | #define MX51_PAD_NANDF_RB3__FEC_RX_CLK IOMUX_PAD(0x504, 0x128, 1, 0x968, 0, MX51_PAD_CTRL_2) | ||
275 | #define MX51_PAD_NANDF_RB3__GPIO3_11 IOMUX_PAD(0x504, 0x128, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
276 | #define MX51_PAD_NANDF_RB3__NANDF_RB3 IOMUX_PAD(0x504, 0x128, 0, __NA_, 0, NO_PAD_CTRL) | ||
277 | #define MX51_PAD_NANDF_RB3__USBH3_CLK IOMUX_PAD(0x504, 0x128, 6, 0x9f8, 0, NO_PAD_CTRL) | ||
278 | #define MX51_PAD_NANDF_RB3__USBH3_H3_DM IOMUX_PAD(0x504, 0x128, 0x17, __NA_, 0, NO_PAD_CTRL) | ||
279 | #define MX51_PAD_GPIO_NAND__GPIO_NAND IOMUX_PAD(0x514, 0x12c, 0, 0x998, 0, MX51_GPIO_PAD_CTRL) | ||
280 | #define MX51_PAD_GPIO_NAND__PATA_INTRQ IOMUX_PAD(0x514, 0x12c, 1, __NA_, 0, NO_PAD_CTRL) | ||
281 | #define MX51_PAD_NANDF_CS0__GPIO3_16 IOMUX_PAD(0x518, 0x130, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
282 | #define MX51_PAD_NANDF_CS0__NANDF_CS0 IOMUX_PAD(0x518, 0x130, 0, __NA_, 0, NO_PAD_CTRL) | ||
283 | #define MX51_PAD_NANDF_CS1__GPIO3_17 IOMUX_PAD(0x51c, 0x134, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
284 | #define MX51_PAD_NANDF_CS1__NANDF_CS1 IOMUX_PAD(0x51c, 0x134, 0, __NA_, 0, NO_PAD_CTRL) | ||
285 | #define MX51_PAD_NANDF_CS2__CSPI_SCLK IOMUX_PAD(0x520, 0x138, 6, 0x914, 0, MX51_ECSPI_PAD_CTRL) | ||
286 | #define MX51_PAD_NANDF_CS2__FEC_TX_ER IOMUX_PAD(0x520, 0x138, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
287 | #define MX51_PAD_NANDF_CS2__GPIO3_18 IOMUX_PAD(0x520, 0x138, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
288 | #define MX51_PAD_NANDF_CS2__NANDF_CS2 IOMUX_PAD(0x520, 0x138, 0, __NA_, 0, NO_PAD_CTRL) | ||
289 | #define MX51_PAD_NANDF_CS2__PATA_CS_0 IOMUX_PAD(0x520, 0x138, 1, __NA_, 0, NO_PAD_CTRL) | ||
290 | #define MX51_PAD_NANDF_CS2__SD4_CLK IOMUX_PAD(0x520, 0x138, 5, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS) | ||
291 | #define MX51_PAD_NANDF_CS2__USBH3_H1_DP IOMUX_PAD(0x520, 0x138, 0x17, __NA_, 0, NO_PAD_CTRL) | ||
292 | #define MX51_PAD_NANDF_CS3__FEC_MDC IOMUX_PAD(0x524, 0x13c, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
293 | #define MX51_PAD_NANDF_CS3__GPIO3_19 IOMUX_PAD(0x524, 0x13c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
294 | #define MX51_PAD_NANDF_CS3__NANDF_CS3 IOMUX_PAD(0x524, 0x13c, 0, __NA_, 0, NO_PAD_CTRL) | ||
295 | #define MX51_PAD_NANDF_CS3__PATA_CS_1 IOMUX_PAD(0x524, 0x13c, 1, __NA_, 0, NO_PAD_CTRL) | ||
296 | #define MX51_PAD_NANDF_CS3__SD4_DAT0 IOMUX_PAD(0x524, 0x13c, 5, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
297 | #define MX51_PAD_NANDF_CS3__USBH3_H1_DM IOMUX_PAD(0x524, 0x13c, 0x17, __NA_, 0, NO_PAD_CTRL) | ||
298 | #define MX51_PAD_NANDF_CS4__FEC_TDATA1 IOMUX_PAD(0x528, 0x140, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
299 | #define MX51_PAD_NANDF_CS4__GPIO3_20 IOMUX_PAD(0x528, 0x140, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
300 | #define MX51_PAD_NANDF_CS4__NANDF_CS4 IOMUX_PAD(0x528, 0x140, 0, __NA_, 0, NO_PAD_CTRL) | ||
301 | #define MX51_PAD_NANDF_CS4__PATA_DA_0 IOMUX_PAD(0x528, 0x140, 1, __NA_, 0, NO_PAD_CTRL) | ||
302 | #define MX51_PAD_NANDF_CS4__SD4_DAT1 IOMUX_PAD(0x528, 0x140, 5, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
303 | #define MX51_PAD_NANDF_CS4__USBH3_STP IOMUX_PAD(0x528, 0x140, 7, 0xa24, 0, NO_PAD_CTRL) | ||
304 | #define MX51_PAD_NANDF_CS5__FEC_TDATA2 IOMUX_PAD(0x52c, 0x144, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
305 | #define MX51_PAD_NANDF_CS5__GPIO3_21 IOMUX_PAD(0x52c, 0x144, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
306 | #define MX51_PAD_NANDF_CS5__NANDF_CS5 IOMUX_PAD(0x52c, 0x144, 0, __NA_, 0, NO_PAD_CTRL) | ||
307 | #define MX51_PAD_NANDF_CS5__PATA_DA_1 IOMUX_PAD(0x52c, 0x144, 1, __NA_, 0, NO_PAD_CTRL) | ||
308 | #define MX51_PAD_NANDF_CS5__SD4_DAT2 IOMUX_PAD(0x52c, 0x144, 5, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
309 | #define MX51_PAD_NANDF_CS5__USBH3_DIR IOMUX_PAD(0x52c, 0x144, 7, 0xa1c, 0, NO_PAD_CTRL) | ||
310 | #define MX51_PAD_NANDF_CS6__CSPI_SS3 IOMUX_PAD(0x530, 0x148, 7, 0x928, 0, MX51_ECSPI_PAD_CTRL) | ||
311 | #define MX51_PAD_NANDF_CS6__FEC_TDATA3 IOMUX_PAD(0x530, 0x148, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
312 | #define MX51_PAD_NANDF_CS6__GPIO3_22 IOMUX_PAD(0x530, 0x148, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
313 | #define MX51_PAD_NANDF_CS6__NANDF_CS6 IOMUX_PAD(0x530, 0x148, 0, __NA_, 0, NO_PAD_CTRL) | ||
314 | #define MX51_PAD_NANDF_CS6__PATA_DA_2 IOMUX_PAD(0x530, 0x148, 1, __NA_, 0, NO_PAD_CTRL) | ||
315 | #define MX51_PAD_NANDF_CS6__SD4_DAT3 IOMUX_PAD(0x530, 0x148, 5, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
316 | #define MX51_PAD_NANDF_CS7__FEC_TX_EN IOMUX_PAD(0x534, 0x14c, 1, __NA_, 0, MX51_PAD_CTRL_5) | ||
317 | #define MX51_PAD_NANDF_CS7__GPIO3_23 IOMUX_PAD(0x534, 0x14c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
318 | #define MX51_PAD_NANDF_CS7__NANDF_CS7 IOMUX_PAD(0x534, 0x14c, 0, __NA_, 0, NO_PAD_CTRL) | ||
319 | #define MX51_PAD_NANDF_CS7__SD3_CLK IOMUX_PAD(0x534, 0x14c, 5, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS) | ||
320 | #define MX51_PAD_NANDF_RDY_INT__ECSPI2_SS0 IOMUX_PAD(0x538, 0x150, 2, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
321 | #define MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK IOMUX_PAD(0x538, 0x150, 1, 0x974, 0, MX51_PAD_CTRL_4) | ||
322 | #define MX51_PAD_NANDF_RDY_INT__GPIO3_24 IOMUX_PAD(0x538, 0x150, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
323 | #define MX51_PAD_NANDF_RDY_INT__NANDF_RDY_INT IOMUX_PAD(0x538, 0x150, 0, 0x938, 0, NO_PAD_CTRL) | ||
324 | #define MX51_PAD_NANDF_RDY_INT__SD3_CMD IOMUX_PAD(0x538, 0x150, 0x15, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
325 | #define MX51_PAD_NANDF_D15__ECSPI2_MOSI IOMUX_PAD(0x53c, 0x154, 2, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
326 | #define MX51_PAD_NANDF_D15__GPIO3_25 IOMUX_PAD(0x53c, 0x154, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
327 | #define MX51_PAD_NANDF_D15__NANDF_D15 IOMUX_PAD(0x53c, 0x154, 0, __NA_, 0, NO_PAD_CTRL) | ||
328 | #define MX51_PAD_NANDF_D15__PATA_DATA15 IOMUX_PAD(0x53c, 0x154, 1, __NA_, 0, NO_PAD_CTRL) | ||
329 | #define MX51_PAD_NANDF_D15__SD3_DAT7 IOMUX_PAD(0x53c, 0x154, 5, __NA_, 0, NO_PAD_CTRL) | ||
330 | #define MX51_PAD_NANDF_D14__ECSPI2_SS3 IOMUX_PAD(0x540, 0x158, 2, 0x934, 0, MX51_ECSPI_PAD_CTRL) | ||
331 | #define MX51_PAD_NANDF_D14__GPIO3_26 IOMUX_PAD(0x540, 0x158, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
332 | #define MX51_PAD_NANDF_D14__NANDF_D14 IOMUX_PAD(0x540, 0x158, 0, __NA_, 0, NO_PAD_CTRL) | ||
333 | #define MX51_PAD_NANDF_D14__PATA_DATA14 IOMUX_PAD(0x540, 0x158, 1, __NA_, 0, NO_PAD_CTRL) | ||
334 | #define MX51_PAD_NANDF_D14__SD3_DAT6 IOMUX_PAD(0x540, 0x158, 5, __NA_, 0, NO_PAD_CTRL) | ||
335 | #define MX51_PAD_NANDF_D13__ECSPI2_SS2 IOMUX_PAD(0x544, 0x15c, 2, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
336 | #define MX51_PAD_NANDF_D13__GPIO3_27 IOMUX_PAD(0x544, 0x15c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
337 | #define MX51_PAD_NANDF_D13__NANDF_D13 IOMUX_PAD(0x544, 0x15c, 0, __NA_, 0, NO_PAD_CTRL) | ||
338 | #define MX51_PAD_NANDF_D13__PATA_DATA13 IOMUX_PAD(0x544, 0x15c, 1, __NA_, 0, NO_PAD_CTRL) | ||
339 | #define MX51_PAD_NANDF_D13__SD3_DAT5 IOMUX_PAD(0x544, 0x15c, 5, __NA_, 0, NO_PAD_CTRL) | ||
340 | #define MX51_PAD_NANDF_D12__ECSPI2_SS1 IOMUX_PAD(0x548, 0x160, 2, 0x930, 1, MX51_ECSPI_PAD_CTRL) | ||
341 | #define MX51_PAD_NANDF_D12__GPIO3_28 IOMUX_PAD(0x548, 0x160, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
342 | #define MX51_PAD_NANDF_D12__NANDF_D12 IOMUX_PAD(0x548, 0x160, 0, __NA_, 0, NO_PAD_CTRL) | ||
343 | #define MX51_PAD_NANDF_D12__PATA_DATA12 IOMUX_PAD(0x548, 0x160, 1, __NA_, 0, NO_PAD_CTRL) | ||
344 | #define MX51_PAD_NANDF_D12__SD3_DAT4 IOMUX_PAD(0x548, 0x160, 5, __NA_, 0, NO_PAD_CTRL) | ||
345 | #define MX51_PAD_NANDF_D11__FEC_RX_DV IOMUX_PAD(0x54c, 0x164, 2, 0x96c, 0, NO_PAD_CTRL) | ||
346 | #define MX51_PAD_NANDF_D11__GPIO3_29 IOMUX_PAD(0x54c, 0x164, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
347 | #define MX51_PAD_NANDF_D11__NANDF_D11 IOMUX_PAD(0x54c, 0x164, 0, __NA_, 0, NO_PAD_CTRL) | ||
348 | #define MX51_PAD_NANDF_D11__PATA_DATA11 IOMUX_PAD(0x54c, 0x164, 1, __NA_, 0, NO_PAD_CTRL) | ||
349 | #define MX51_PAD_NANDF_D11__SD3_DATA3 IOMUX_PAD(0x54c, 0x164, 5, 0x948, 1, NO_PAD_CTRL) | ||
350 | #define MX51_PAD_NANDF_D10__GPIO3_30 IOMUX_PAD(0x550, 0x168, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
351 | #define MX51_PAD_NANDF_D10__NANDF_D10 IOMUX_PAD(0x550, 0x168, 0, __NA_, 0, NO_PAD_CTRL) | ||
352 | #define MX51_PAD_NANDF_D10__PATA_DATA10 IOMUX_PAD(0x550, 0x168, 1, __NA_, 0, NO_PAD_CTRL) | ||
353 | #define MX51_PAD_NANDF_D10__SD3_DATA2 IOMUX_PAD(0x550, 0x168, 5, 0x944, 1, NO_PAD_CTRL) | ||
354 | #define MX51_PAD_NANDF_D9__FEC_RDATA0 IOMUX_PAD(0x554, 0x16c, 0x12, 0x958, 0, MX51_PAD_CTRL_4) | ||
355 | #define MX51_PAD_NANDF_D9__GPIO3_31 IOMUX_PAD(0x554, 0x16c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
356 | #define MX51_PAD_NANDF_D9__NANDF_D9 IOMUX_PAD(0x554, 0x16c, 0, __NA_, 0, NO_PAD_CTRL) | ||
357 | #define MX51_PAD_NANDF_D9__PATA_DATA9 IOMUX_PAD(0x554, 0x16c, 1, __NA_, 0, NO_PAD_CTRL) | ||
358 | #define MX51_PAD_NANDF_D9__SD3_DATA1 IOMUX_PAD(0x554, 0x16c, 5, 0x940, 1, NO_PAD_CTRL) | ||
359 | #define MX51_PAD_NANDF_D8__FEC_TDATA0 IOMUX_PAD(0x558, 0x170, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
360 | #define MX51_PAD_NANDF_D8__GPIO4_0 IOMUX_PAD(0x558, 0x170, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
361 | #define MX51_PAD_NANDF_D8__NANDF_D8 IOMUX_PAD(0x558, 0x170, 0, __NA_, 0, NO_PAD_CTRL) | ||
362 | #define MX51_PAD_NANDF_D8__PATA_DATA8 IOMUX_PAD(0x558, 0x170, 1, __NA_, 0, NO_PAD_CTRL) | ||
363 | #define MX51_PAD_NANDF_D8__SD3_DATA0 IOMUX_PAD(0x558, 0x170, 5, 0x93c, 1, NO_PAD_CTRL) | ||
364 | #define MX51_PAD_NANDF_D7__GPIO4_1 IOMUX_PAD(0x55c, 0x174, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
365 | #define MX51_PAD_NANDF_D7__NANDF_D7 IOMUX_PAD(0x55c, 0x174, 0, __NA_, 0, NO_PAD_CTRL) | ||
366 | #define MX51_PAD_NANDF_D7__PATA_DATA7 IOMUX_PAD(0x55c, 0x174, 1, __NA_, 0, NO_PAD_CTRL) | ||
367 | #define MX51_PAD_NANDF_D7__USBH3_DATA0 IOMUX_PAD(0x55c, 0x174, 5, 0x9fc, 0, NO_PAD_CTRL) | ||
368 | #define MX51_PAD_NANDF_D6__GPIO4_2 IOMUX_PAD(0x560, 0x178, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
369 | #define MX51_PAD_NANDF_D6__NANDF_D6 IOMUX_PAD(0x560, 0x178, 0, __NA_, 0, NO_PAD_CTRL) | ||
370 | #define MX51_PAD_NANDF_D6__PATA_DATA6 IOMUX_PAD(0x560, 0x178, 1, __NA_, 0, NO_PAD_CTRL) | ||
371 | #define MX51_PAD_NANDF_D6__SD4_LCTL IOMUX_PAD(0x560, 0x178, 2, __NA_, 0, NO_PAD_CTRL) | ||
372 | #define MX51_PAD_NANDF_D6__USBH3_DATA1 IOMUX_PAD(0x560, 0x178, 5, 0xa00, 0, NO_PAD_CTRL) | ||
373 | #define MX51_PAD_NANDF_D5__GPIO4_3 IOMUX_PAD(0x564, 0x17c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
374 | #define MX51_PAD_NANDF_D5__NANDF_D5 IOMUX_PAD(0x564, 0x17c, 0, __NA_, 0, NO_PAD_CTRL) | ||
375 | #define MX51_PAD_NANDF_D5__PATA_DATA5 IOMUX_PAD(0x564, 0x17c, 1, __NA_, 0, NO_PAD_CTRL) | ||
376 | #define MX51_PAD_NANDF_D5__SD4_WP IOMUX_PAD(0x564, 0x17c, 2, __NA_, 0, NO_PAD_CTRL) | ||
377 | #define MX51_PAD_NANDF_D5__USBH3_DATA2 IOMUX_PAD(0x564, 0x17c, 5, 0xa04, 0, NO_PAD_CTRL) | ||
378 | #define MX51_PAD_NANDF_D4__GPIO4_4 IOMUX_PAD(0x568, 0x180, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
379 | #define MX51_PAD_NANDF_D4__NANDF_D4 IOMUX_PAD(0x568, 0x180, 0, __NA_, 0, NO_PAD_CTRL) | ||
380 | #define MX51_PAD_NANDF_D4__PATA_DATA4 IOMUX_PAD(0x568, 0x180, 1, __NA_, 0, NO_PAD_CTRL) | ||
381 | #define MX51_PAD_NANDF_D4__SD4_CD IOMUX_PAD(0x568, 0x180, 2, __NA_, 0, NO_PAD_CTRL) | ||
382 | #define MX51_PAD_NANDF_D4__USBH3_DATA3 IOMUX_PAD(0x568, 0x180, 5, 0xa08, 0, NO_PAD_CTRL) | ||
383 | #define MX51_PAD_NANDF_D3__GPIO4_5 IOMUX_PAD(0x56c, 0x184, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
384 | #define MX51_PAD_NANDF_D3__NANDF_D3 IOMUX_PAD(0x56c, 0x184, 0, __NA_, 0, NO_PAD_CTRL) | ||
385 | #define MX51_PAD_NANDF_D3__PATA_DATA3 IOMUX_PAD(0x56c, 0x184, 1, __NA_, 0, NO_PAD_CTRL) | ||
386 | #define MX51_PAD_NANDF_D3__SD4_DAT4 IOMUX_PAD(0x56c, 0x184, 2, __NA_, 0, NO_PAD_CTRL) | ||
387 | #define MX51_PAD_NANDF_D3__USBH3_DATA4 IOMUX_PAD(0x56c, 0x184, 5, 0xa0c, 0, NO_PAD_CTRL) | ||
388 | #define MX51_PAD_NANDF_D2__GPIO4_6 IOMUX_PAD(0x570, 0x188, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
389 | #define MX51_PAD_NANDF_D2__NANDF_D2 IOMUX_PAD(0x570, 0x188, 0, __NA_, 0, NO_PAD_CTRL) | ||
390 | #define MX51_PAD_NANDF_D2__PATA_DATA2 IOMUX_PAD(0x570, 0x188, 1, __NA_, 0, NO_PAD_CTRL) | ||
391 | #define MX51_PAD_NANDF_D2__SD4_DAT5 IOMUX_PAD(0x570, 0x188, 2, __NA_, 0, NO_PAD_CTRL) | ||
392 | #define MX51_PAD_NANDF_D2__USBH3_DATA5 IOMUX_PAD(0x570, 0x188, 5, 0xa10, 0, NO_PAD_CTRL) | ||
393 | #define MX51_PAD_NANDF_D1__GPIO4_7 IOMUX_PAD(0x574, 0x18c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
394 | #define MX51_PAD_NANDF_D1__NANDF_D1 IOMUX_PAD(0x574, 0x18c, 0, __NA_, 0, NO_PAD_CTRL) | ||
395 | #define MX51_PAD_NANDF_D1__PATA_DATA1 IOMUX_PAD(0x574, 0x18c, 1, __NA_, 0, NO_PAD_CTRL) | ||
396 | #define MX51_PAD_NANDF_D1__SD4_DAT6 IOMUX_PAD(0x574, 0x18c, 2, __NA_, 0, NO_PAD_CTRL) | ||
397 | #define MX51_PAD_NANDF_D1__USBH3_DATA6 IOMUX_PAD(0x574, 0x18c, 5, 0xa14, 0, NO_PAD_CTRL) | ||
398 | #define MX51_PAD_NANDF_D0__GPIO4_8 IOMUX_PAD(0x578, 0x190, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
399 | #define MX51_PAD_NANDF_D0__NANDF_D0 IOMUX_PAD(0x578, 0x190, 0, __NA_, 0, NO_PAD_CTRL) | ||
400 | #define MX51_PAD_NANDF_D0__PATA_DATA0 IOMUX_PAD(0x578, 0x190, 1, __NA_, 0, NO_PAD_CTRL) | ||
401 | #define MX51_PAD_NANDF_D0__SD4_DAT7 IOMUX_PAD(0x578, 0x190, 2, __NA_, 0, NO_PAD_CTRL) | ||
402 | #define MX51_PAD_NANDF_D0__USBH3_DATA7 IOMUX_PAD(0x578, 0x190, 5, 0xa18, 0, NO_PAD_CTRL) | ||
403 | #define MX51_PAD_CSI1_D8__CSI1_D8 IOMUX_PAD(0x57c, 0x194, 0, __NA_, 0, NO_PAD_CTRL) | ||
404 | #define MX51_PAD_CSI1_D8__GPIO3_12 IOMUX_PAD(0x57c, 0x194, 3, 0x998, 1, MX51_GPIO_PAD_CTRL) | ||
405 | #define MX51_PAD_CSI1_D9__CSI1_D9 IOMUX_PAD(0x580, 0x198, 0, __NA_, 0, NO_PAD_CTRL) | ||
406 | #define MX51_PAD_CSI1_D9__GPIO3_13 IOMUX_PAD(0x580, 0x198, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
407 | #define MX51_PAD_CSI1_D10__CSI1_D10 IOMUX_PAD(0x584, 0x19c, 0, __NA_, 0, NO_PAD_CTRL) | ||
408 | #define MX51_PAD_CSI1_D11__CSI1_D11 IOMUX_PAD(0x588, 0x1a0, 0, __NA_, 0, NO_PAD_CTRL) | ||
409 | #define MX51_PAD_CSI1_D12__CSI1_D12 IOMUX_PAD(0x58c, 0x1a4, 0, __NA_, 0, NO_PAD_CTRL) | ||
410 | #define MX51_PAD_CSI1_D13__CSI1_D13 IOMUX_PAD(0x590, 0x1a8, 0, __NA_, 0, NO_PAD_CTRL) | ||
411 | #define MX51_PAD_CSI1_D14__CSI1_D14 IOMUX_PAD(0x594, 0x1ac, 0, __NA_, 0, NO_PAD_CTRL) | ||
412 | #define MX51_PAD_CSI1_D15__CSI1_D15 IOMUX_PAD(0x598, 0x1b0, 0, __NA_, 0, NO_PAD_CTRL) | ||
413 | #define MX51_PAD_CSI1_D16__CSI1_D16 IOMUX_PAD(0x59c, 0x1b4, 0, __NA_, 0, NO_PAD_CTRL) | ||
414 | #define MX51_PAD_CSI1_D17__CSI1_D17 IOMUX_PAD(0x5a0, 0x1b8, 0, __NA_, 0, NO_PAD_CTRL) | ||
415 | #define MX51_PAD_CSI1_D18__CSI1_D18 IOMUX_PAD(0x5a4, 0x1bc, 0, __NA_, 0, NO_PAD_CTRL) | ||
416 | #define MX51_PAD_CSI1_D19__CSI1_D19 IOMUX_PAD(0x5a8, 0x1c0, 0, __NA_, 0, NO_PAD_CTRL) | ||
417 | #define MX51_PAD_CSI1_VSYNC__CSI1_VSYNC IOMUX_PAD(0x5ac, 0x1c4, 0, __NA_, 0, NO_PAD_CTRL) | ||
418 | #define MX51_PAD_CSI1_VSYNC__GPIO3_14 IOMUX_PAD(0x5ac, 0x1c4, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
419 | #define MX51_PAD_CSI1_HSYNC__CSI1_HSYNC IOMUX_PAD(0x5b0, 0x1c8, 0, __NA_, 0, NO_PAD_CTRL) | ||
420 | #define MX51_PAD_CSI1_HSYNC__GPIO3_15 IOMUX_PAD(0x5b0, 0x1c8, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
421 | #define MX51_PAD_CSI1_PIXCLK__CSI1_PIXCLK IOMUX_PAD(0x5b4, __NA_, 0, 0x000, 0, NO_PAD_CTRL) | ||
422 | #define MX51_PAD_CSI1_MCLK__CSI1_MCLK IOMUX_PAD(0x5b8, __NA_, 0, 0x000, 0, NO_PAD_CTRL) | ||
423 | #define MX51_PAD_CSI2_D12__CSI2_D12 IOMUX_PAD(0x5bc, 0x1cc, 0, __NA_, 0, NO_PAD_CTRL) | ||
424 | #define MX51_PAD_CSI2_D12__GPIO4_9 IOMUX_PAD(0x5bc, 0x1cc, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
425 | #define MX51_PAD_CSI2_D13__CSI2_D13 IOMUX_PAD(0x5c0, 0x1d0, 0, __NA_, 0, NO_PAD_CTRL) | ||
426 | #define MX51_PAD_CSI2_D13__GPIO4_10 IOMUX_PAD(0x5c0, 0x1d0, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
427 | #define MX51_PAD_CSI2_D14__CSI2_D14 IOMUX_PAD(0x5c4, 0x1d4, 0, __NA_, 0, NO_PAD_CTRL) | ||
428 | #define MX51_PAD_CSI2_D15__CSI2_D15 IOMUX_PAD(0x5c8, 0x1d8, 0, __NA_, 0, NO_PAD_CTRL) | ||
429 | #define MX51_PAD_CSI2_D16__CSI2_D16 IOMUX_PAD(0x5cc, 0x1dc, 0, __NA_, 0, NO_PAD_CTRL) | ||
430 | #define MX51_PAD_CSI2_D17__CSI2_D17 IOMUX_PAD(0x5d0, 0x1e0, 0, __NA_, 0, NO_PAD_CTRL) | ||
431 | #define MX51_PAD_CSI2_D18__CSI2_D18 IOMUX_PAD(0x5d4, 0x1e4, 0, __NA_, 0, NO_PAD_CTRL) | ||
432 | #define MX51_PAD_CSI2_D18__GPIO4_11 IOMUX_PAD(0x5d4, 0x1e4, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
433 | #define MX51_PAD_CSI2_D19__CSI2_D19 IOMUX_PAD(0x5d8, 0x1e8, 0, __NA_, 0, NO_PAD_CTRL) | ||
434 | #define MX51_PAD_CSI2_D19__GPIO4_12 IOMUX_PAD(0x5d8, 0x1e8, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
435 | #define MX51_PAD_CSI2_VSYNC__CSI2_VSYNC IOMUX_PAD(0x5dc, 0x1ec, 0, __NA_, 0, NO_PAD_CTRL) | ||
436 | #define MX51_PAD_CSI2_VSYNC__GPIO4_13 IOMUX_PAD(0x5dc, 0x1ec, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
437 | #define MX51_PAD_CSI2_HSYNC__CSI2_HSYNC IOMUX_PAD(0x5e0, 0x1f0, 0, __NA_, 0, NO_PAD_CTRL) | ||
438 | #define MX51_PAD_CSI2_HSYNC__GPIO4_14 IOMUX_PAD(0x5e0, 0x1f0, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
439 | #define MX51_PAD_CSI2_PIXCLK__CSI2_PIXCLK IOMUX_PAD(0x5e4, 0x1f4, 0, __NA_, 0, NO_PAD_CTRL) | ||
440 | #define MX51_PAD_CSI2_PIXCLK__GPIO4_15 IOMUX_PAD(0x5e4, 0x1f4, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
441 | #define MX51_PAD_I2C1_CLK__GPIO4_16 IOMUX_PAD(0x5e8, 0x1f8, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
442 | #define MX51_PAD_I2C1_CLK__I2C1_CLK IOMUX_PAD(0x5e8, 0x1f8, 0x10, __NA_, 0, MX51_I2C_PAD_CTRL) | ||
443 | #define MX51_PAD_I2C1_DAT__GPIO4_17 IOMUX_PAD(0x5ec, 0x1fc, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
444 | #define MX51_PAD_I2C1_DAT__I2C1_DAT IOMUX_PAD(0x5ec, 0x1fc, 0x10, __NA_, 0, MX51_I2C_PAD_CTRL) | ||
445 | #define MX51_PAD_AUD3_BB_TXD__AUD3_TXD IOMUX_PAD(0x5f0, 0x200, 0, __NA_, 0, NO_PAD_CTRL) | ||
446 | #define MX51_PAD_AUD3_BB_TXD__GPIO4_18 IOMUX_PAD(0x5f0, 0x200, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
447 | #define MX51_PAD_AUD3_BB_RXD__AUD3_RXD IOMUX_PAD(0x5f4, 0x204, 0, __NA_, 0, NO_PAD_CTRL) | ||
448 | #define MX51_PAD_AUD3_BB_RXD__GPIO4_19 IOMUX_PAD(0x5f4, 0x204, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
449 | #define MX51_PAD_AUD3_BB_RXD__UART3_RXD IOMUX_PAD(0x5f4, 0x204, 1, 0x9f4, 2, MX51_UART_PAD_CTRL) | ||
450 | #define MX51_PAD_AUD3_BB_CK__AUD3_TXC IOMUX_PAD(0x5f8, 0x208, 0, __NA_, 0, NO_PAD_CTRL) | ||
451 | #define MX51_PAD_AUD3_BB_CK__GPIO4_20 IOMUX_PAD(0x5f8, 0x208, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
452 | #define MX51_PAD_AUD3_BB_FS__AUD3_TXFS IOMUX_PAD(0x5fc, 0x20c, 0, __NA_, 0, NO_PAD_CTRL) | ||
453 | #define MX51_PAD_AUD3_BB_FS__GPIO4_21 IOMUX_PAD(0x5fc, 0x20c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
454 | #define MX51_PAD_AUD3_BB_FS__UART3_TXD IOMUX_PAD(0x5fc, 0x20c, 1, __NA_, 0, MX51_UART_PAD_CTRL) | ||
455 | #define MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI IOMUX_PAD(0x600, 0x210, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
456 | #define MX51_PAD_CSPI1_MOSI__GPIO4_22 IOMUX_PAD(0x600, 0x210, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
457 | #define MX51_PAD_CSPI1_MOSI__I2C1_SDA IOMUX_PAD(0x600, 0x210, 0x11, 0x9b4, 1, MX51_I2C_PAD_CTRL) | ||
458 | #define MX51_PAD_CSPI1_MISO__AUD4_RXD IOMUX_PAD(0x604, 0x214, 1, 0x8c4, 1, NO_PAD_CTRL) | ||
459 | #define MX51_PAD_CSPI1_MISO__ECSPI1_MISO IOMUX_PAD(0x604, 0x214, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
460 | #define MX51_PAD_CSPI1_MISO__GPIO4_23 IOMUX_PAD(0x604, 0x214, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
461 | #define MX51_PAD_CSPI1_SS0__AUD4_TXC IOMUX_PAD(0x608, 0x218, 1, 0x8cc, 1, NO_PAD_CTRL) | ||
462 | #define MX51_PAD_CSPI1_SS0__ECSPI1_SS0 IOMUX_PAD(0x608, 0x218, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
463 | #define MX51_PAD_CSPI1_SS0__GPIO4_24 IOMUX_PAD(0x608, 0x218, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
464 | #define MX51_PAD_CSPI1_SS1__AUD4_TXD IOMUX_PAD(0x60c, 0x21c, 1, 0x8c8, 1, NO_PAD_CTRL) | ||
465 | #define MX51_PAD_CSPI1_SS1__ECSPI1_SS1 IOMUX_PAD(0x60c, 0x21c, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
466 | #define MX51_PAD_CSPI1_SS1__GPIO4_25 IOMUX_PAD(0x60c, 0x21c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
467 | #define MX51_PAD_CSPI1_RDY__AUD4_TXFS IOMUX_PAD(0x610, 0x220, 1, 0x8d0, 1, NO_PAD_CTRL) | ||
468 | #define MX51_PAD_CSPI1_RDY__ECSPI1_RDY IOMUX_PAD(0x610, 0x220, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
469 | #define MX51_PAD_CSPI1_RDY__GPIO4_26 IOMUX_PAD(0x610, 0x220, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
470 | #define MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK IOMUX_PAD(0x614, 0x224, 0, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
471 | #define MX51_PAD_CSPI1_SCLK__GPIO4_27 IOMUX_PAD(0x614, 0x224, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
472 | #define MX51_PAD_CSPI1_SCLK__I2C1_SCL IOMUX_PAD(0x614, 0x224, 0x11, 0x9b0, 1, MX51_I2C_PAD_CTRL) | ||
473 | #define MX51_PAD_UART1_RXD__GPIO4_28 IOMUX_PAD(0x618, 0x228, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
474 | #define MX51_PAD_UART1_RXD__UART1_RXD IOMUX_PAD(0x618, 0x228, 0, 0x9e4, 0, MX51_UART_PAD_CTRL) | ||
475 | #define MX51_PAD_UART1_TXD__GPIO4_29 IOMUX_PAD(0x61c, 0x22c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
476 | #define MX51_PAD_UART1_TXD__PWM2_PWMO IOMUX_PAD(0x61c, 0x22c, 1, __NA_, 0, NO_PAD_CTRL) | ||
477 | #define MX51_PAD_UART1_TXD__UART1_TXD IOMUX_PAD(0x61c, 0x22c, 0, __NA_, 0, MX51_UART_PAD_CTRL) | ||
478 | #define MX51_PAD_UART1_RTS__GPIO4_30 IOMUX_PAD(0x620, 0x230, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
479 | #define MX51_PAD_UART1_RTS__UART1_RTS IOMUX_PAD(0x620, 0x230, 0, 0x9e0, 0, MX51_UART_PAD_CTRL) | ||
480 | #define MX51_PAD_UART1_CTS__GPIO4_31 IOMUX_PAD(0x624, 0x234, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
481 | #define MX51_PAD_UART1_CTS__UART1_CTS IOMUX_PAD(0x624, 0x234, 0, __NA_, 0, MX51_UART_PAD_CTRL) | ||
482 | #define MX51_PAD_UART2_RXD__FIRI_TXD IOMUX_PAD(0x628, 0x238, 1, __NA_, 0, NO_PAD_CTRL) | ||
483 | #define MX51_PAD_UART2_RXD__GPIO1_20 IOMUX_PAD(0x628, 0x238, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
484 | #define MX51_PAD_UART2_RXD__UART2_RXD IOMUX_PAD(0x628, 0x238, 0, 0x9ec, 2, MX51_UART_PAD_CTRL) | ||
485 | #define MX51_PAD_UART2_TXD__FIRI_RXD IOMUX_PAD(0x62c, 0x23c, 1, __NA_, 0, NO_PAD_CTRL) | ||
486 | #define MX51_PAD_UART2_TXD__GPIO1_21 IOMUX_PAD(0x62c, 0x23c, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
487 | #define MX51_PAD_UART2_TXD__UART2_TXD IOMUX_PAD(0x62c, 0x23c, 0, __NA_, 0, MX51_UART_PAD_CTRL) | ||
488 | #define MX51_PAD_UART3_RXD__CSI1_D0 IOMUX_PAD(0x630, 0x240, 2, __NA_, 0, NO_PAD_CTRL) | ||
489 | #define MX51_PAD_UART3_RXD__GPIO1_22 IOMUX_PAD(0x630, 0x240, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
490 | #define MX51_PAD_UART3_RXD__UART1_DTR IOMUX_PAD(0x630, 0x240, 0, __NA_, 0, NO_PAD_CTRL) | ||
491 | #define MX51_PAD_UART3_RXD__UART3_RXD IOMUX_PAD(0x630, 0x240, 1, 0x9f4, 4, MX51_UART_PAD_CTRL) | ||
492 | #define MX51_PAD_UART3_TXD__CSI1_D1 IOMUX_PAD(0x634, 0x244, 2, __NA_, 0, NO_PAD_CTRL) | ||
493 | #define MX51_PAD_UART3_TXD__GPIO1_23 IOMUX_PAD(0x634, 0x244, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
494 | #define MX51_PAD_UART3_TXD__UART1_DSR IOMUX_PAD(0x634, 0x244, 0, __NA_, 0, MX51_UART_PAD_CTRL) | ||
495 | #define MX51_PAD_UART3_TXD__UART3_TXD IOMUX_PAD(0x634, 0x244, 1, __NA_, 0, MX51_UART_PAD_CTRL) | ||
496 | #define MX51_PAD_OWIRE_LINE__GPIO1_24 IOMUX_PAD(0x638, 0x248, 3, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
497 | #define MX51_PAD_OWIRE_LINE__OWIRE_LINE IOMUX_PAD(0x638, 0x248, 0, __NA_, 0, NO_PAD_CTRL) | ||
498 | #define MX51_PAD_OWIRE_LINE__SPDIF_OUT IOMUX_PAD(0x638, 0x248, 6, __NA_, 0, NO_PAD_CTRL) | ||
499 | #define MX51_PAD_KEY_ROW0__KEY_ROW0 IOMUX_PAD(0x63c, 0x24c, 0, __NA_, 0, NO_PAD_CTRL) | ||
500 | #define MX51_PAD_KEY_ROW1__KEY_ROW1 IOMUX_PAD(0x640, 0x250, 0, __NA_, 0, NO_PAD_CTRL) | ||
501 | #define MX51_PAD_KEY_ROW2__KEY_ROW2 IOMUX_PAD(0x644, 0x254, 0, __NA_, 0, NO_PAD_CTRL) | ||
502 | #define MX51_PAD_KEY_ROW3__KEY_ROW3 IOMUX_PAD(0x648, 0x258, 0, __NA_, 0, NO_PAD_CTRL) | ||
503 | #define MX51_PAD_KEY_COL0__KEY_COL0 IOMUX_PAD(0x64c, 0x25c, 0, __NA_, 0, NO_PAD_CTRL) | ||
504 | #define MX51_PAD_KEY_COL0__PLL1_BYP IOMUX_PAD(0x64c, 0x25c, 7, 0x90c, 0, NO_PAD_CTRL) | ||
505 | #define MX51_PAD_KEY_COL1__KEY_COL1 IOMUX_PAD(0x650, 0x260, 0, __NA_, 0, NO_PAD_CTRL) | ||
506 | #define MX51_PAD_KEY_COL1__PLL2_BYP IOMUX_PAD(0x650, 0x260, 7, 0x910, 0, NO_PAD_CTRL) | ||
507 | #define MX51_PAD_KEY_COL2__KEY_COL2 IOMUX_PAD(0x654, 0x264, 0, __NA_, 0, NO_PAD_CTRL) | ||
508 | #define MX51_PAD_KEY_COL2__PLL3_BYP IOMUX_PAD(0x654, 0x264, 7, __NA_, 0, NO_PAD_CTRL) | ||
509 | #define MX51_PAD_KEY_COL3__KEY_COL3 IOMUX_PAD(0x658, 0x268, 0, __NA_, 0, NO_PAD_CTRL) | ||
510 | #define MX51_PAD_KEY_COL4__I2C2_SCL IOMUX_PAD(0x65c, 0x26c, 0x13, 0x9b8, 1, MX51_I2C_PAD_CTRL) | ||
511 | #define MX51_PAD_KEY_COL4__KEY_COL4 IOMUX_PAD(0x65c, 0x26c, 0, __NA_, 0, NO_PAD_CTRL) | ||
512 | #define MX51_PAD_KEY_COL4__SPDIF_OUT1 IOMUX_PAD(0x65c, 0x26c, 6, __NA_, 0, NO_PAD_CTRL) | ||
513 | #define MX51_PAD_KEY_COL4__UART1_RI IOMUX_PAD(0x65c, 0x26c, 1, __NA_, 0, MX51_UART_PAD_CTRL) | ||
514 | #define MX51_PAD_KEY_COL4__UART3_RTS IOMUX_PAD(0x65c, 0x26c, 2, 0x9f0, 4, MX51_UART_PAD_CTRL) | ||
515 | #define MX51_PAD_KEY_COL5__I2C2_SDA IOMUX_PAD(0x660, 0x270, 0x13, 0x9bc, 1, MX51_I2C_PAD_CTRL) | ||
516 | #define MX51_PAD_KEY_COL5__KEY_COL5 IOMUX_PAD(0x660, 0x270, 0, __NA_, 0, NO_PAD_CTRL) | ||
517 | #define MX51_PAD_KEY_COL5__UART1_DCD IOMUX_PAD(0x660, 0x270, 1, __NA_, 0, MX51_UART_PAD_CTRL) | ||
518 | #define MX51_PAD_KEY_COL5__UART3_CTS IOMUX_PAD(0x660, 0x270, 2, __NA_, 0, MX51_UART_PAD_CTRL) | ||
519 | #define MX51_PAD_USBH1_CLK__CSPI_SCLK IOMUX_PAD(0x678, 0x278, 1, 0x914, 1, MX51_ECSPI_PAD_CTRL) | ||
520 | #define MX51_PAD_USBH1_CLK__GPIO1_25 IOMUX_PAD(0x678, 0x278, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
521 | #define MX51_PAD_USBH1_CLK__I2C2_SCL IOMUX_PAD(0x678, 0x278, 0x15, 0x9b8, 2, MX51_I2C_PAD_CTRL) | ||
522 | #define MX51_PAD_USBH1_CLK__USBH1_CLK IOMUX_PAD(0x678, 0x278, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
523 | #define MX51_PAD_USBH1_DIR__CSPI_MOSI IOMUX_PAD(0x67c, 0x27c, 1, 0x91c, 1, MX51_ECSPI_PAD_CTRL) | ||
524 | #define MX51_PAD_USBH1_DIR__GPIO1_26 IOMUX_PAD(0x67c, 0x27c, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
525 | #define MX51_PAD_USBH1_DIR__I2C2_SDA IOMUX_PAD(0x67c, 0x27c, 0x15, 0x9bc, 2, MX51_I2C_PAD_CTRL) | ||
526 | #define MX51_PAD_USBH1_DIR__USBH1_DIR IOMUX_PAD(0x67c, 0x27c, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
527 | #define MX51_PAD_USBH1_STP__CSPI_RDY IOMUX_PAD(0x680, 0x280, 1, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
528 | #define MX51_PAD_USBH1_STP__GPIO1_27 IOMUX_PAD(0x680, 0x280, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
529 | #define MX51_PAD_USBH1_STP__UART3_RXD IOMUX_PAD(0x680, 0x280, 5, 0x9f4, 6, MX51_UART_PAD_CTRL) | ||
530 | #define MX51_PAD_USBH1_STP__USBH1_STP IOMUX_PAD(0x680, 0x280, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
531 | #define MX51_PAD_USBH1_NXT__CSPI_MISO IOMUX_PAD(0x684, 0x284, 1, 0x918, 0, MX51_ECSPI_PAD_CTRL) | ||
532 | #define MX51_PAD_USBH1_NXT__GPIO1_28 IOMUX_PAD(0x684, 0x284, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
533 | #define MX51_PAD_USBH1_NXT__UART3_TXD IOMUX_PAD(0x684, 0x284, 5, __NA_, 0, MX51_UART_PAD_CTRL) | ||
534 | #define MX51_PAD_USBH1_NXT__USBH1_NXT IOMUX_PAD(0x684, 0x284, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
535 | #define MX51_PAD_USBH1_DATA0__GPIO1_11 IOMUX_PAD(0x688, 0x288, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
536 | #define MX51_PAD_USBH1_DATA0__UART2_CTS IOMUX_PAD(0x688, 0x288, 1, __NA_, 0, MX51_UART_PAD_CTRL) | ||
537 | #define MX51_PAD_USBH1_DATA0__USBH1_DATA0 IOMUX_PAD(0x688, 0x288, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
538 | #define MX51_PAD_USBH1_DATA1__GPIO1_12 IOMUX_PAD(0x68c, 0x28c, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
539 | #define MX51_PAD_USBH1_DATA1__UART2_RXD IOMUX_PAD(0x68c, 0x28c, 1, 0x9ec, 4, MX51_UART_PAD_CTRL) | ||
540 | #define MX51_PAD_USBH1_DATA1__USBH1_DATA1 IOMUX_PAD(0x68c, 0x28c, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
541 | #define MX51_PAD_USBH1_DATA2__GPIO1_13 IOMUX_PAD(0x690, 0x290, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
542 | #define MX51_PAD_USBH1_DATA2__UART2_TXD IOMUX_PAD(0x690, 0x290, 1, __NA_, 0, MX51_UART_PAD_CTRL) | ||
543 | #define MX51_PAD_USBH1_DATA2__USBH1_DATA2 IOMUX_PAD(0x690, 0x290, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
544 | #define MX51_PAD_USBH1_DATA3__GPIO1_14 IOMUX_PAD(0x694, 0x294, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
545 | #define MX51_PAD_USBH1_DATA3__UART2_RTS IOMUX_PAD(0x694, 0x294, 1, 0x9e8, 5, MX51_UART_PAD_CTRL) | ||
546 | #define MX51_PAD_USBH1_DATA3__USBH1_DATA3 IOMUX_PAD(0x694, 0x294, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
547 | #define MX51_PAD_USBH1_DATA4__CSPI_SS0 IOMUX_PAD(0x698, 0x298, 1, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
548 | #define MX51_PAD_USBH1_DATA4__GPIO1_15 IOMUX_PAD(0x698, 0x298, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
549 | #define MX51_PAD_USBH1_DATA4__USBH1_DATA4 IOMUX_PAD(0x698, 0x298, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
550 | #define MX51_PAD_USBH1_DATA5__CSPI_SS1 IOMUX_PAD(0x69c, 0x29c, 1, 0x920, 0, MX51_ECSPI_PAD_CTRL) | ||
551 | #define MX51_PAD_USBH1_DATA5__GPIO1_16 IOMUX_PAD(0x69c, 0x29c, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
552 | #define MX51_PAD_USBH1_DATA5__USBH1_DATA5 IOMUX_PAD(0x69c, 0x29c, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
553 | #define MX51_PAD_USBH1_DATA6__CSPI_SS3 IOMUX_PAD(0x6a0, 0x2a0, 1, 0x928, 1, MX51_ECSPI_PAD_CTRL) | ||
554 | #define MX51_PAD_USBH1_DATA6__GPIO1_17 IOMUX_PAD(0x6a0, 0x2a0, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
555 | #define MX51_PAD_USBH1_DATA6__USBH1_DATA6 IOMUX_PAD(0x6a0, 0x2a0, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
556 | #define MX51_PAD_USBH1_DATA7__ECSPI1_SS3 IOMUX_PAD(0x6a4, 0x2a4, 1, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
557 | #define MX51_PAD_USBH1_DATA7__ECSPI2_SS3 IOMUX_PAD(0x6a4, 0x2a4, 5, 0x934, 1, MX51_ECSPI_PAD_CTRL) | ||
558 | #define MX51_PAD_USBH1_DATA7__GPIO1_18 IOMUX_PAD(0x6a4, 0x2a4, 2, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
559 | #define MX51_PAD_USBH1_DATA7__USBH1_DATA7 IOMUX_PAD(0x6a4, 0x2a4, 0, __NA_, 0, MX51_USBH1_PAD_CTRL) | ||
560 | #define MX51_PAD_DI1_PIN11__DI1_PIN11 IOMUX_PAD(0x6a8, 0x2a8, 0, __NA_, 0, NO_PAD_CTRL) | ||
561 | #define MX51_PAD_DI1_PIN11__ECSPI1_SS2 IOMUX_PAD(0x6a8, 0x2a8, 7, __NA_, 0, MX51_ECSPI_PAD_CTRL) | ||
562 | #define MX51_PAD_DI1_PIN11__GPIO3_0 IOMUX_PAD(0x6a8, 0x2a8, 4, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
563 | #define MX51_PAD_DI1_PIN12__DI1_PIN12 IOMUX_PAD(0x6ac, 0x2ac, 0, __NA_, 0, NO_PAD_CTRL) | ||
564 | #define MX51_PAD_DI1_PIN12__GPIO3_1 IOMUX_PAD(0x6ac, 0x2ac, 4, 0x978, 1, MX51_GPIO_PAD_CTRL) | ||
565 | #define MX51_PAD_DI1_PIN13__DI1_PIN13 IOMUX_PAD(0x6b0, 0x2b0, 0, __NA_, 0, NO_PAD_CTRL) | ||
566 | #define MX51_PAD_DI1_PIN13__GPIO3_2 IOMUX_PAD(0x6b0, 0x2b0, 4, 0x97c, 1, MX51_GPIO_PAD_CTRL) | ||
567 | #define MX51_PAD_DI1_D0_CS__DI1_D0_CS IOMUX_PAD(0x6b4, 0x2b4, 0, __NA_, 0, NO_PAD_CTRL) | ||
568 | #define MX51_PAD_DI1_D0_CS__GPIO3_3 IOMUX_PAD(0x6b4, 0x2b4, 4, 0x980, 1, MX51_GPIO_PAD_CTRL) | ||
569 | #define MX51_PAD_DI1_D1_CS__DI1_D1_CS IOMUX_PAD(0x6b8, 0x2b8, 0, __NA_, 0, NO_PAD_CTRL) | ||
570 | #define MX51_PAD_DI1_D1_CS__DISP1_PIN14 IOMUX_PAD(0x6b8, 0x2b8, 2, __NA_, 0, NO_PAD_CTRL) | ||
571 | #define MX51_PAD_DI1_D1_CS__DISP1_PIN5 IOMUX_PAD(0x6b8, 0x2b8, 3, __NA_, 0, NO_PAD_CTRL) | ||
572 | #define MX51_PAD_DI1_D1_CS__GPIO3_4 IOMUX_PAD(0x6b8, 0x2b8, 4, 0x984, 1, MX51_GPIO_PAD_CTRL) | ||
573 | #define MX51_PAD_DISPB2_SER_DIN__DISP1_PIN1 IOMUX_PAD(0x6bc, 0x2bc, 2, 0x9a4, 1, NO_PAD_CTRL) | ||
574 | #define MX51_PAD_DISPB2_SER_DIN__DISPB2_SER_DIN IOMUX_PAD(0x6bc, 0x2bc, 0, 0x9c4, 0, NO_PAD_CTRL) | ||
575 | #define MX51_PAD_DISPB2_SER_DIN__GPIO3_5 IOMUX_PAD(0x6bc, 0x2bc, 4, 0x988, 1, MX51_GPIO_PAD_CTRL) | ||
576 | #define MX51_PAD_DISPB2_SER_DIO__DISP1_PIN6 IOMUX_PAD(0x6c0, 0x2c0, 3, __NA_, 0, NO_PAD_CTRL) | ||
577 | #define MX51_PAD_DISPB2_SER_DIO__DISPB2_SER_DIO IOMUX_PAD(0x6c0, 0x2c0, 0, 0x9c4, 1, NO_PAD_CTRL) | ||
578 | #define MX51_PAD_DISPB2_SER_DIO__GPIO3_6 IOMUX_PAD(0x6c0, 0x2c0, 4, 0x98c, 1, MX51_GPIO_PAD_CTRL) | ||
579 | #define MX51_PAD_DISPB2_SER_CLK__DISP1_PIN17 IOMUX_PAD(0x6c4, 0x2c4, 2, __NA_, 0, NO_PAD_CTRL) | ||
580 | #define MX51_PAD_DISPB2_SER_CLK__DISP1_PIN7 IOMUX_PAD(0x6c4, 0x2c4, 3, __NA_, 0, NO_PAD_CTRL) | ||
581 | #define MX51_PAD_DISPB2_SER_CLK__DISPB2_SER_CLK IOMUX_PAD(0x6c4, 0x2c4, 0, __NA_, 0, NO_PAD_CTRL) | ||
582 | #define MX51_PAD_DISPB2_SER_CLK__GPIO3_7 IOMUX_PAD(0x6c4, 0x2c4, 4, 0x990, 1, MX51_GPIO_PAD_CTRL) | ||
583 | #define MX51_PAD_DISPB2_SER_RS__DISP1_EXT_CLK IOMUX_PAD(0x6c8, 0x2c8, 2, __NA_, 0, NO_PAD_CTRL) | ||
584 | #define MX51_PAD_DISPB2_SER_RS__DISP1_PIN16 IOMUX_PAD(0x6c8, 0x2c8, 2, __NA_, 0, NO_PAD_CTRL) | ||
585 | #define MX51_PAD_DISPB2_SER_RS__DISP1_PIN8 IOMUX_PAD(0x6c8, 0x2c8, 3, __NA_, 0, NO_PAD_CTRL) | ||
586 | #define MX51_PAD_DISPB2_SER_RS__DISPB2_SER_RS IOMUX_PAD(0x6c8, 0x2c8, 0, __NA_, 0, NO_PAD_CTRL) | ||
587 | #define MX51_PAD_DISPB2_SER_RS__DISPB2_SER_RS IOMUX_PAD(0x6c8, 0x2c8, 0, __NA_, 0, NO_PAD_CTRL) | ||
588 | #define MX51_PAD_DISPB2_SER_RS__GPIO3_8 IOMUX_PAD(0x6c8, 0x2c8, 4, 0x994, 1, MX51_GPIO_PAD_CTRL) | ||
589 | #define MX51_PAD_DISP1_DAT0__DISP1_DAT0 IOMUX_PAD(0x6cc, 0x2cc, 0, __NA_, 0, NO_PAD_CTRL) | ||
590 | #define MX51_PAD_DISP1_DAT1__DISP1_DAT1 IOMUX_PAD(0x6d0, 0x2d0, 0, __NA_, 0, NO_PAD_CTRL) | ||
591 | #define MX51_PAD_DISP1_DAT2__DISP1_DAT2 IOMUX_PAD(0x6d4, 0x2d4, 0, __NA_, 0, NO_PAD_CTRL) | ||
592 | #define MX51_PAD_DISP1_DAT3__DISP1_DAT3 IOMUX_PAD(0x6d8, 0x2d8, 0, __NA_, 0, NO_PAD_CTRL) | ||
593 | #define MX51_PAD_DISP1_DAT4__DISP1_DAT4 IOMUX_PAD(0x6dc, 0x2dc, 0, __NA_, 0, NO_PAD_CTRL) | ||
594 | #define MX51_PAD_DISP1_DAT5__DISP1_DAT5 IOMUX_PAD(0x6e0, 0x2e0, 0, __NA_, 0, NO_PAD_CTRL) | ||
595 | #define MX51_PAD_DISP1_DAT6__BOOT_USB_SRC IOMUX_PAD(0x6e4, 0x2e4, 7, __NA_, 0, NO_PAD_CTRL) | ||
596 | #define MX51_PAD_DISP1_DAT6__DISP1_DAT6 IOMUX_PAD(0x6e4, 0x2e4, 0, __NA_, 0, NO_PAD_CTRL) | ||
597 | #define MX51_PAD_DISP1_DAT7__BOOT_EEPROM_CFG IOMUX_PAD(0x6e8, 0x2e8, 7, __NA_, 0, NO_PAD_CTRL) | ||
598 | #define MX51_PAD_DISP1_DAT7__DISP1_DAT7 IOMUX_PAD(0x6e8, 0x2e8, 0, __NA_, 0, NO_PAD_CTRL) | ||
599 | #define MX51_PAD_DISP1_DAT8__BOOT_SRC0 IOMUX_PAD(0x6ec, 0x2ec, 7, __NA_, 0, NO_PAD_CTRL) | ||
600 | #define MX51_PAD_DISP1_DAT8__DISP1_DAT8 IOMUX_PAD(0x6ec, 0x2ec, 0, __NA_, 0, NO_PAD_CTRL) | ||
601 | #define MX51_PAD_DISP1_DAT9__BOOT_SRC1 IOMUX_PAD(0x6f0, 0x2f0, 7, __NA_, 0, NO_PAD_CTRL) | ||
602 | #define MX51_PAD_DISP1_DAT9__DISP1_DAT9 IOMUX_PAD(0x6f0, 0x2f0, 0, __NA_, 0, NO_PAD_CTRL) | ||
603 | #define MX51_PAD_DISP1_DAT10__BOOT_SPARE_SIZE IOMUX_PAD(0x6f4, 0x2f4, 7, __NA_, 0, NO_PAD_CTRL) | ||
604 | #define MX51_PAD_DISP1_DAT10__DISP1_DAT10 IOMUX_PAD(0x6f4, 0x2f4, 0, __NA_, 0, NO_PAD_CTRL) | ||
605 | #define MX51_PAD_DISP1_DAT11__BOOT_LPB_FREQ2 IOMUX_PAD(0x6f8, 0x2f8, 7, __NA_, 0, NO_PAD_CTRL) | ||
606 | #define MX51_PAD_DISP1_DAT11__DISP1_DAT11 IOMUX_PAD(0x6f8, 0x2f8, 0, __NA_, 0, NO_PAD_CTRL) | ||
607 | #define MX51_PAD_DISP1_DAT12__BOOT_MLC_SEL IOMUX_PAD(0x6fc, 0x2fc, 7, __NA_, 0, NO_PAD_CTRL) | ||
608 | #define MX51_PAD_DISP1_DAT12__DISP1_DAT12 IOMUX_PAD(0x6fc, 0x2fc, 0, __NA_, 0, NO_PAD_CTRL) | ||
609 | #define MX51_PAD_DISP1_DAT13__BOOT_MEM_CTL0 IOMUX_PAD(0x700, 0x300, 7, __NA_, 0, NO_PAD_CTRL) | ||
610 | #define MX51_PAD_DISP1_DAT13__DISP1_DAT13 IOMUX_PAD(0x700, 0x300, 0, __NA_, 0, NO_PAD_CTRL) | ||
611 | #define MX51_PAD_DISP1_DAT14__BOOT_MEM_CTL1 IOMUX_PAD(0x704, 0x304, 7, __NA_, 0, NO_PAD_CTRL) | ||
612 | #define MX51_PAD_DISP1_DAT14__DISP1_DAT14 IOMUX_PAD(0x704, 0x304, 0, __NA_, 0, NO_PAD_CTRL) | ||
613 | #define MX51_PAD_DISP1_DAT15__BOOT_BUS_WIDTH IOMUX_PAD(0x708, 0x308, 7, __NA_, 0, NO_PAD_CTRL) | ||
614 | #define MX51_PAD_DISP1_DAT15__DISP1_DAT15 IOMUX_PAD(0x708, 0x308, 0, __NA_, 0, NO_PAD_CTRL) | ||
615 | #define MX51_PAD_DISP1_DAT16__BOOT_PAGE_SIZE0 IOMUX_PAD(0x70c, 0x30c, 7, __NA_, 0, NO_PAD_CTRL) | ||
616 | #define MX51_PAD_DISP1_DAT16__DISP1_DAT16 IOMUX_PAD(0x70c, 0x30c, 0, __NA_, 0, NO_PAD_CTRL) | ||
617 | #define MX51_PAD_DISP1_DAT17__BOOT_PAGE_SIZE1 IOMUX_PAD(0x710, 0x310, 7, __NA_, 0, NO_PAD_CTRL) | ||
618 | #define MX51_PAD_DISP1_DAT17__DISP1_DAT17 IOMUX_PAD(0x710, 0x310, 0, __NA_, 0, NO_PAD_CTRL) | ||
619 | #define MX51_PAD_DISP1_DAT18__BOOT_WEIM_MUXED0 IOMUX_PAD(0x714, 0x314, 7, __NA_, 0, NO_PAD_CTRL) | ||
620 | #define MX51_PAD_DISP1_DAT18__DISP1_DAT18 IOMUX_PAD(0x714, 0x314, 0, __NA_, 0, NO_PAD_CTRL) | ||
621 | #define MX51_PAD_DISP1_DAT18__DISP2_PIN11 IOMUX_PAD(0x714, 0x314, 5, __NA_, 0, NO_PAD_CTRL) | ||
622 | #define MX51_PAD_DISP1_DAT18__DISP2_PIN5 IOMUX_PAD(0x714, 0x314, 4, __NA_, 0, NO_PAD_CTRL) | ||
623 | #define MX51_PAD_DISP1_DAT19__BOOT_WEIM_MUXED1 IOMUX_PAD(0x718, 0x318, 7, __NA_, 0, NO_PAD_CTRL) | ||
624 | #define MX51_PAD_DISP1_DAT19__DISP1_DAT19 IOMUX_PAD(0x718, 0x318, 0, __NA_, 0, NO_PAD_CTRL) | ||
625 | #define MX51_PAD_DISP1_DAT19__DISP2_PIN12 IOMUX_PAD(0x718, 0x318, 5, __NA_, 0, NO_PAD_CTRL) | ||
626 | #define MX51_PAD_DISP1_DAT19__DISP2_PIN6 IOMUX_PAD(0x718, 0x318, 4, __NA_, 0, NO_PAD_CTRL) | ||
627 | #define MX51_PAD_DISP1_DAT20__BOOT_MEM_TYPE0 IOMUX_PAD(0x71c, 0x31c, 7, __NA_, 0, NO_PAD_CTRL) | ||
628 | #define MX51_PAD_DISP1_DAT20__DISP1_DAT20 IOMUX_PAD(0x71c, 0x31c, 0, __NA_, 0, NO_PAD_CTRL) | ||
629 | #define MX51_PAD_DISP1_DAT20__DISP2_PIN13 IOMUX_PAD(0x71c, 0x31c, 5, __NA_, 0, NO_PAD_CTRL) | ||
630 | #define MX51_PAD_DISP1_DAT20__DISP2_PIN7 IOMUX_PAD(0x71c, 0x31c, 4, __NA_, 0, NO_PAD_CTRL) | ||
631 | #define MX51_PAD_DISP1_DAT21__BOOT_MEM_TYPE1 IOMUX_PAD(0x720, 0x320, 7, __NA_, 0, NO_PAD_CTRL) | ||
632 | #define MX51_PAD_DISP1_DAT21__DISP1_DAT21 IOMUX_PAD(0x720, 0x320, 0, __NA_, 0, NO_PAD_CTRL) | ||
633 | #define MX51_PAD_DISP1_DAT21__DISP2_PIN14 IOMUX_PAD(0x720, 0x320, 5, __NA_, 0, NO_PAD_CTRL) | ||
634 | #define MX51_PAD_DISP1_DAT21__DISP2_PIN8 IOMUX_PAD(0x720, 0x320, 4, __NA_, 0, NO_PAD_CTRL) | ||
635 | #define MX51_PAD_DISP1_DAT22__BOOT_LPB_FREQ0 IOMUX_PAD(0x724, 0x324, 7, __NA_, 0, NO_PAD_CTRL) | ||
636 | #define MX51_PAD_DISP1_DAT22__DISP1_DAT22 IOMUX_PAD(0x724, 0x324, 0, __NA_, 0, NO_PAD_CTRL) | ||
637 | #define MX51_PAD_DISP1_DAT22__DISP2_D0_CS IOMUX_PAD(0x724, 0x324, 6, __NA_, 0, NO_PAD_CTRL) | ||
638 | #define MX51_PAD_DISP1_DAT22__DISP2_DAT16 IOMUX_PAD(0x724, 0x324, 5, __NA_, 0, NO_PAD_CTRL) | ||
639 | #define MX51_PAD_DISP1_DAT23__BOOT_LPB_FREQ1 IOMUX_PAD(0x728, 0x328, 7, __NA_, 0, NO_PAD_CTRL) | ||
640 | #define MX51_PAD_DISP1_DAT23__DISP1_DAT23 IOMUX_PAD(0x728, 0x328, 0, __NA_, 0, NO_PAD_CTRL) | ||
641 | #define MX51_PAD_DISP1_DAT23__DISP2_D1_CS IOMUX_PAD(0x728, 0x328, 6, __NA_, 0, NO_PAD_CTRL) | ||
642 | #define MX51_PAD_DISP1_DAT23__DISP2_DAT17 IOMUX_PAD(0x728, 0x328, 5, __NA_, 0, NO_PAD_CTRL) | ||
643 | #define MX51_PAD_DISP1_DAT23__DISP2_SER_CS IOMUX_PAD(0x728, 0x328, 4, __NA_, 0, NO_PAD_CTRL) | ||
644 | #define MX51_PAD_DI1_PIN3__DI1_PIN3 IOMUX_PAD(0x72c, 0x32c, 0, __NA_, 0, NO_PAD_CTRL) | ||
645 | #define MX51_PAD_DI1_DISP_CLK__DI1_DISP_CLK IOMUX_PAD(0x730, __NA_, 0, __NA_, 0, NO_PAD_CTRL) | ||
646 | #define MX51_PAD_DI1_PIN2__DI1_PIN2 IOMUX_PAD(0x734, 0x330, 0, __NA_, 0, NO_PAD_CTRL) | ||
647 | #define MX51_PAD_DI1_PIN15__DI1_PIN15 IOMUX_PAD(0x738, __NA_, 0, __NA_, 0, NO_PAD_CTRL) | ||
648 | #define MX51_PAD_DI_GP2__DISP1_SER_CLK IOMUX_PAD(0x740, 0x338, 0, __NA_, 0, NO_PAD_CTRL) | ||
649 | #define MX51_PAD_DI_GP2__DISP2_WAIT IOMUX_PAD(0x740, 0x338, 2, 0x9a8, 1, NO_PAD_CTRL) | ||
650 | #define MX51_PAD_DI_GP3__CSI1_DATA_EN IOMUX_PAD(0x744, 0x33c, 3, 0x9a0, 1, NO_PAD_CTRL) | ||
651 | #define MX51_PAD_DI_GP3__DISP1_SER_DIO IOMUX_PAD(0x744, 0x33c, 0, 0x9c0, 0, NO_PAD_CTRL) | ||
652 | #define MX51_PAD_DI_GP3__FEC_TX_ER IOMUX_PAD(0x744, 0x33c, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
653 | #define MX51_PAD_DI2_PIN4__CSI2_DATA_EN IOMUX_PAD(0x748, 0x340, 3, 0x99c, 1, NO_PAD_CTRL) | ||
654 | #define MX51_PAD_DI2_PIN4__DI2_PIN4 IOMUX_PAD(0x748, 0x340, 0, __NA_, 0, NO_PAD_CTRL) | ||
655 | #define MX51_PAD_DI2_PIN4__FEC_CRS IOMUX_PAD(0x748, 0x340, 2, 0x950, 1, NO_PAD_CTRL) | ||
656 | #define MX51_PAD_DI2_PIN2__DI2_PIN2 IOMUX_PAD(0x74c, 0x344, 0, __NA_, 0, NO_PAD_CTRL) | ||
657 | #define MX51_PAD_DI2_PIN2__FEC_MDC IOMUX_PAD(0x74c, 0x344, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
658 | #define MX51_PAD_DI2_PIN3__DI2_PIN3 IOMUX_PAD(0x750, 0x348, 0, __NA_, 0, NO_PAD_CTRL) | ||
659 | #define MX51_PAD_DI2_PIN3__FEC_MDIO IOMUX_PAD(0x750, 0x348, 2, 0x954, 1, NO_PAD_CTRL) | ||
660 | #define MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK IOMUX_PAD(0x754, 0x34c, 0, __NA_, 0, NO_PAD_CTRL) | ||
661 | #define MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 IOMUX_PAD(0x754, 0x34c, 2, 0x95c, 1, NO_PAD_CTRL) | ||
662 | #define MX51_PAD_DI_GP4__DI2_PIN15 IOMUX_PAD(0x758, 0x350, 4, __NA_, 0, NO_PAD_CTRL) | ||
663 | #define MX51_PAD_DI_GP4__DISP1_SER_DIN IOMUX_PAD(0x758, 0x350, 0, 0x9c0, 1, NO_PAD_CTRL) | ||
664 | #define MX51_PAD_DI_GP4__DISP2_PIN1 IOMUX_PAD(0x758, 0x350, 3, __NA_, 0, NO_PAD_CTRL) | ||
665 | #define MX51_PAD_DI_GP4__FEC_RDATA2 IOMUX_PAD(0x758, 0x350, 2, 0x960, 1, NO_PAD_CTRL) | ||
666 | #define MX51_PAD_DISP2_DAT0__DISP2_DAT0 IOMUX_PAD(0x75c, 0x354, 0, __NA_, 0, NO_PAD_CTRL) | ||
667 | #define MX51_PAD_DISP2_DAT0__FEC_RDATA3 IOMUX_PAD(0x75c, 0x354, 2, 0x964, 1, NO_PAD_CTRL) | ||
668 | #define MX51_PAD_DISP2_DAT0__KEY_COL6 IOMUX_PAD(0x75c, 0x354, 4, 0x9c8, 1, NO_PAD_CTRL) | ||
669 | #define MX51_PAD_DISP2_DAT0__UART3_RXD IOMUX_PAD(0x75c, 0x354, 5, 0x9f4, 8, MX51_UART_PAD_CTRL) | ||
670 | #define MX51_PAD_DISP2_DAT0__USBH3_CLK IOMUX_PAD(0x75c, 0x354, 3, 0x9f8, 1, MX51_UART_PAD_CTRL) | ||
671 | #define MX51_PAD_DISP2_DAT1__DISP2_DAT1 IOMUX_PAD(0x760, 0x358, 0, __NA_, 0, NO_PAD_CTRL) | ||
672 | #define MX51_PAD_DISP2_DAT1__FEC_RX_ER IOMUX_PAD(0x760, 0x358, 2, 0x970, 1, NO_PAD_CTRL) | ||
673 | #define MX51_PAD_DISP2_DAT1__KEY_COL7 IOMUX_PAD(0x760, 0x358, 4, 0x9cc, 1, NO_PAD_CTRL) | ||
674 | #define MX51_PAD_DISP2_DAT1__UART3_TXD IOMUX_PAD(0x760, 0x358, 5, __NA_, 0, MX51_UART_PAD_CTRL) | ||
675 | #define MX51_PAD_DISP2_DAT1__USBH3_DIR IOMUX_PAD(0x760, 0x358, 3, 0xa1c, 1, NO_PAD_CTRL) | ||
676 | #define MX51_PAD_DISP2_DAT2__DISP2_DAT2 IOMUX_PAD(0x764, 0x35c, 0, __NA_, 0, NO_PAD_CTRL) | ||
677 | #define MX51_PAD_DISP2_DAT3__DISP2_DAT3 IOMUX_PAD(0x768, 0x360, 0, __NA_, 0, NO_PAD_CTRL) | ||
678 | #define MX51_PAD_DISP2_DAT4__DISP2_DAT4 IOMUX_PAD(0x76c, 0x364, 0, __NA_, 0, NO_PAD_CTRL) | ||
679 | #define MX51_PAD_DISP2_DAT5__DISP2_DAT5 IOMUX_PAD(0x770, 0x368, 0, __NA_, 0, NO_PAD_CTRL) | ||
680 | #define MX51_PAD_DISP2_DAT6__DISP2_DAT6 IOMUX_PAD(0x774, 0x36c, 0, __NA_, 0, NO_PAD_CTRL) | ||
681 | #define MX51_PAD_DISP2_DAT6__FEC_TDATA1 IOMUX_PAD(0x774, 0x36c, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
682 | #define MX51_PAD_DISP2_DAT6__GPIO1_19 IOMUX_PAD(0x774, 0x36c, 5, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
683 | #define MX51_PAD_DISP2_DAT6__KEY_ROW4 IOMUX_PAD(0x774, 0x36c, 4, 0x9d0, 1, NO_PAD_CTRL) | ||
684 | #define MX51_PAD_DISP2_DAT6__USBH3_STP IOMUX_PAD(0x774, 0x36c, 3, 0xa24, 1, NO_PAD_CTRL) | ||
685 | #define MX51_PAD_DISP2_DAT7__DISP2_DAT7 IOMUX_PAD(0x778, 0x370, 0, __NA_, 0, NO_PAD_CTRL) | ||
686 | #define MX51_PAD_DISP2_DAT7__FEC_TDATA2 IOMUX_PAD(0x778, 0x370, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
687 | #define MX51_PAD_DISP2_DAT7__GPIO1_29 IOMUX_PAD(0x778, 0x370, 5, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
688 | #define MX51_PAD_DISP2_DAT7__KEY_ROW5 IOMUX_PAD(0x778, 0x370, 4, 0x9d4, 1, NO_PAD_CTRL) | ||
689 | #define MX51_PAD_DISP2_DAT7__USBH3_NXT IOMUX_PAD(0x778, 0x370, 3, 0xa20, 1, NO_PAD_CTRL) | ||
690 | #define MX51_PAD_DISP2_DAT8__DISP2_DAT8 IOMUX_PAD(0x77c, 0x374, 0, __NA_, 0, NO_PAD_CTRL) | ||
691 | #define MX51_PAD_DISP2_DAT8__FEC_TDATA3 IOMUX_PAD(0x77c, 0x374, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
692 | #define MX51_PAD_DISP2_DAT8__GPIO1_30 IOMUX_PAD(0x77c, 0x374, 5, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
693 | #define MX51_PAD_DISP2_DAT8__KEY_ROW6 IOMUX_PAD(0x77c, 0x374, 4, 0x9d8, 1, NO_PAD_CTRL) | ||
694 | #define MX51_PAD_DISP2_DAT8__USBH3_DATA0 IOMUX_PAD(0x77c, 0x374, 3, 0x9fc, 1, NO_PAD_CTRL) | ||
695 | #define MX51_PAD_DISP2_DAT9__AUD6_RXC IOMUX_PAD(0x780, 0x378, 4, 0x8f4, 1, NO_PAD_CTRL) | ||
696 | #define MX51_PAD_DISP2_DAT9__DISP2_DAT9 IOMUX_PAD(0x780, 0x378, 0, __NA_, 0, NO_PAD_CTRL) | ||
697 | #define MX51_PAD_DISP2_DAT9__FEC_TX_EN IOMUX_PAD(0x780, 0x378, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
698 | #define MX51_PAD_DISP2_DAT9__GPIO1_31 IOMUX_PAD(0x780, 0x378, 5, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
699 | #define MX51_PAD_DISP2_DAT9__USBH3_DATA1 IOMUX_PAD(0x780, 0x378, 3, 0xa00, 1, NO_PAD_CTRL) | ||
700 | #define MX51_PAD_DISP2_DAT10__DISP2_DAT10 IOMUX_PAD(0x784, 0x37c, 0, __NA_, 0, NO_PAD_CTRL) | ||
701 | #define MX51_PAD_DISP2_DAT10__DISP2_SER_CS IOMUX_PAD(0x784, 0x37c, 5, __NA_, 0, NO_PAD_CTRL) | ||
702 | #define MX51_PAD_DISP2_DAT10__FEC_COL IOMUX_PAD(0x784, 0x37c, 2, 0x94c, 1, NO_PAD_CTRL) | ||
703 | #define MX51_PAD_DISP2_DAT10__KEY_ROW7 IOMUX_PAD(0x784, 0x37c, 4, 0x9dc, 1, NO_PAD_CTRL) | ||
704 | #define MX51_PAD_DISP2_DAT10__USBH3_DATA2 IOMUX_PAD(0x784, 0x37c, 3, 0xa04, 1, NO_PAD_CTRL) | ||
705 | #define MX51_PAD_DISP2_DAT11__AUD6_TXD IOMUX_PAD(0x788, 0x380, 4, 0x8f0, 1, NO_PAD_CTRL) | ||
706 | #define MX51_PAD_DISP2_DAT11__DISP2_DAT11 IOMUX_PAD(0x788, 0x380, 0, __NA_, 0, NO_PAD_CTRL) | ||
707 | #define MX51_PAD_DISP2_DAT11__FEC_RX_CLK IOMUX_PAD(0x788, 0x380, 2, 0x968, 1, NO_PAD_CTRL) | ||
708 | #define MX51_PAD_DISP2_DAT11__GPIO1_10 IOMUX_PAD(0x788, 0x380, 7, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
709 | #define MX51_PAD_DISP2_DAT11__USBH3_DATA3 IOMUX_PAD(0x788, 0x380, 3, 0xa08, 1, NO_PAD_CTRL) | ||
710 | #define MX51_PAD_DISP2_DAT12__AUD6_RXD IOMUX_PAD(0x78c, 0x384, 4, 0x8ec, 1, NO_PAD_CTRL) | ||
711 | #define MX51_PAD_DISP2_DAT12__DISP2_DAT12 IOMUX_PAD(0x78c, 0x384, 0, __NA_, 0, NO_PAD_CTRL) | ||
712 | #define MX51_PAD_DISP2_DAT12__FEC_RX_DV IOMUX_PAD(0x78c, 0x384, 2, 0x96c, 1, NO_PAD_CTRL) | ||
713 | #define MX51_PAD_DISP2_DAT12__USBH3_DATA4 IOMUX_PAD(0x78c, 0x384, 3, 0xa0c, 1, NO_PAD_CTRL) | ||
714 | #define MX51_PAD_DISP2_DAT13__AUD6_TXC IOMUX_PAD(0x790, 0x388, 4, 0x8fc, 1, NO_PAD_CTRL) | ||
715 | #define MX51_PAD_DISP2_DAT13__DISP2_DAT13 IOMUX_PAD(0x790, 0x388, 0, __NA_, 0, NO_PAD_CTRL) | ||
716 | #define MX51_PAD_DISP2_DAT13__FEC_TX_CLK IOMUX_PAD(0x790, 0x388, 2, 0x974, 1, MX51_PAD_CTRL_4) | ||
717 | #define MX51_PAD_DISP2_DAT13__USBH3_DATA5 IOMUX_PAD(0x790, 0x388, 3, 0xa10, 1, NO_PAD_CTRL) | ||
718 | #define MX51_PAD_DISP2_DAT14__AUD6_TXFS IOMUX_PAD(0x794, 0x38c, 4, 0x900, 1, NO_PAD_CTRL) | ||
719 | #define MX51_PAD_DISP2_DAT14__DISP2_DAT14 IOMUX_PAD(0x794, 0x38c, 0, __NA_, 0, NO_PAD_CTRL) | ||
720 | #define MX51_PAD_DISP2_DAT14__FEC_RDATA0 IOMUX_PAD(0x794, 0x38c, 2, 0x958, 1, MX51_PAD_CTRL_4) | ||
721 | #define MX51_PAD_DISP2_DAT14__USBH3_DATA6 IOMUX_PAD(0x794, 0x38c, 3, 0xa14, 1, NO_PAD_CTRL) | ||
722 | #define MX51_PAD_DISP2_DAT15__AUD6_RXFS IOMUX_PAD(0x798, 0x390, 4, 0x8f8, 1, NO_PAD_CTRL) | ||
723 | #define MX51_PAD_DISP2_DAT15__DISP1_SER_CS IOMUX_PAD(0x798, 0x390, 5, __NA_, 0, NO_PAD_CTRL) | ||
724 | #define MX51_PAD_DISP2_DAT15__DISP2_DAT15 IOMUX_PAD(0x798, 0x390, 0, __NA_, 0, NO_PAD_CTRL) | ||
725 | #define MX51_PAD_DISP2_DAT15__FEC_TDATA0 IOMUX_PAD(0x798, 0x390, 2, __NA_, 0, MX51_PAD_CTRL_5) | ||
726 | #define MX51_PAD_DISP2_DAT15__USBH3_DATA7 IOMUX_PAD(0x798, 0x390, 3, 0xa18, 1, NO_PAD_CTRL) | ||
727 | #define MX51_PAD_SD1_CMD__AUD5_RXFS IOMUX_PAD(0x79c, 0x394, 1, 0x8e0, 1, NO_PAD_CTRL) | ||
728 | #define MX51_PAD_SD1_CMD__CSPI_MOSI IOMUX_PAD(0x79c, 0x394, 2, 0x91c, 2, NO_PAD_CTRL) | ||
729 | #define MX51_PAD_SD1_CMD__SD1_CMD IOMUX_PAD(0x79c, 0x394, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
730 | #define MX51_PAD_SD1_CLK__AUD5_RXC IOMUX_PAD(0x7a0, 0x398, 1, 0x8dc, 1, NO_PAD_CTRL) | ||
731 | #define MX51_PAD_SD1_CLK__CSPI_SCLK IOMUX_PAD(0x7a0, 0x398, 2, 0x914, 2, NO_PAD_CTRL) | ||
732 | #define MX51_PAD_SD1_CLK__SD1_CLK IOMUX_PAD(0x7a0, 0x398, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS) | ||
733 | #define MX51_PAD_SD1_DATA0__AUD5_TXD IOMUX_PAD(0x7a4, 0x39c, 1, 0x8d8, 2, NO_PAD_CTRL) | ||
734 | #define MX51_PAD_SD1_DATA0__CSPI_MISO IOMUX_PAD(0x7a4, 0x39c, 2, 0x918, 1, MX51_ECSPI_PAD_CTRL) | ||
735 | #define MX51_PAD_SD1_DATA0__SD1_DATA0 IOMUX_PAD(0x7a4, 0x39c, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
736 | #define MX51_PAD_EIM_DA0__EIM_DA0 IOMUX_PAD(__NA_, 0x01c, 0, 0x000, 0, NO_PAD_CTRL) | ||
737 | #define MX51_PAD_EIM_DA1__EIM_DA1 IOMUX_PAD(__NA_, 0x020, 0, 0x000, 0, NO_PAD_CTRL) | ||
738 | #define MX51_PAD_EIM_DA2__EIM_DA2 IOMUX_PAD(__NA_, 0x024, 0, 0x000, 0, NO_PAD_CTRL) | ||
739 | #define MX51_PAD_EIM_DA3__EIM_DA3 IOMUX_PAD(__NA_, 0x028, 0, 0x000, 0, NO_PAD_CTRL) | ||
740 | #define MX51_PAD_SD1_DATA1__AUD5_RXD IOMUX_PAD(0x7a8, 0x3a0, 1, 0x8d4, 2, NO_PAD_CTRL) | ||
741 | #define MX51_PAD_SD1_DATA1__SD1_DATA1 IOMUX_PAD(0x7a8, 0x3a0, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
742 | #define MX51_PAD_EIM_DA4__EIM_DA4 IOMUX_PAD(__NA_, 0x02c, 0, 0x000, 0, NO_PAD_CTRL) | ||
743 | #define MX51_PAD_EIM_DA5__EIM_DA5 IOMUX_PAD(__NA_, 0x030, 0, 0x000, 0, NO_PAD_CTRL) | ||
744 | #define MX51_PAD_EIM_DA6__EIM_DA6 IOMUX_PAD(__NA_, 0x034, 0, 0x000, 0, NO_PAD_CTRL) | ||
745 | #define MX51_PAD_EIM_DA7__EIM_DA7 IOMUX_PAD(__NA_, 0x038, 0, 0x000, 0, NO_PAD_CTRL) | ||
746 | #define MX51_PAD_SD1_DATA2__AUD5_TXC IOMUX_PAD(0x7ac, 0x3a4, 1, 0x8e4, 2, NO_PAD_CTRL) | ||
747 | #define MX51_PAD_SD1_DATA2__SD1_DATA2 IOMUX_PAD(0x7ac, 0x3a4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
748 | #define MX51_PAD_EIM_DA10__EIM_DA10 IOMUX_PAD(__NA_, 0x044, 0, 0x000, 0, NO_PAD_CTRL) | ||
749 | #define MX51_PAD_EIM_DA11__EIM_DA11 IOMUX_PAD(__NA_, 0x048, 0, 0x000, 0, NO_PAD_CTRL) | ||
750 | #define MX51_PAD_EIM_DA8__EIM_DA8 IOMUX_PAD(__NA_, 0x03c, 0, 0x000, 0, NO_PAD_CTRL) | ||
751 | #define MX51_PAD_EIM_DA9__EIM_DA9 IOMUX_PAD(__NA_, 0x040, 0, 0x000, 0, NO_PAD_CTRL) | ||
752 | #define MX51_PAD_SD1_DATA3__AUD5_TXFS IOMUX_PAD(0x7b0, 0x3a8, 1, 0x8e8, 2, NO_PAD_CTRL) | ||
753 | #define MX51_PAD_SD1_DATA3__CSPI_SS1 IOMUX_PAD(0x7b0, 0x3a8, 2, 0x920, 1, MX51_ECSPI_PAD_CTRL) | ||
754 | #define MX51_PAD_SD1_DATA3__SD1_DATA3 IOMUX_PAD(0x7b0, 0x3a8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
755 | #define MX51_PAD_GPIO1_0__CSPI_SS2 IOMUX_PAD(0x7b4, 0x3ac, 2, 0x924, 0, MX51_ECSPI_PAD_CTRL) | ||
756 | #define MX51_PAD_GPIO1_0__GPIO1_0 IOMUX_PAD(0x7b4, 0x3ac, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
757 | #define MX51_PAD_GPIO1_0__SD1_CD IOMUX_PAD(0x7b4, 0x3ac, 0, __NA_, 0, MX51_ESDHC_PAD_CTRL) | ||
758 | #define MX51_PAD_GPIO1_1__CSPI_MISO IOMUX_PAD(0x7b8, 0x3b0, 2, 0x918, 2, MX51_ECSPI_PAD_CTRL) | ||
759 | #define MX51_PAD_GPIO1_1__GPIO1_1 IOMUX_PAD(0x7b8, 0x3b0, 1, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
760 | #define MX51_PAD_GPIO1_1__SD1_WP IOMUX_PAD(0x7b8, 0x3b0, 0, __NA_, 0, MX51_ESDHC_PAD_CTRL) | ||
761 | #define MX51_PAD_EIM_DA12__EIM_DA12 IOMUX_PAD(__NA_, 0x04c, 0, 0x000, 0, NO_PAD_CTRL) | ||
762 | #define MX51_PAD_EIM_DA13__EIM_DA13 IOMUX_PAD(__NA_, 0x050, 0, 0x000, 0, NO_PAD_CTRL) | ||
763 | #define MX51_PAD_EIM_DA14__EIM_DA14 IOMUX_PAD(__NA_, 0x054, 0, 0x000, 0, NO_PAD_CTRL) | ||
764 | #define MX51_PAD_EIM_DA15__EIM_DA15 IOMUX_PAD(__NA_, 0x058, 0, 0x000, 0, NO_PAD_CTRL) | ||
765 | #define MX51_PAD_SD2_CMD__CSPI_MOSI IOMUX_PAD(0x7bc, 0x3b4, 2, 0x91c, 3, MX51_ECSPI_PAD_CTRL) | ||
766 | #define MX51_PAD_SD2_CMD__I2C1_SCL IOMUX_PAD(0x7bc, 0x3b4, 0x11, 0x9b0, 2, MX51_I2C_PAD_CTRL) | ||
767 | #define MX51_PAD_SD2_CMD__SD2_CMD IOMUX_PAD(0x7bc, 0x3b4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
768 | #define MX51_PAD_SD2_CLK__CSPI_SCLK IOMUX_PAD(0x7c0, 0x3b8, 2, 0x914, 3, MX51_ECSPI_PAD_CTRL) | ||
769 | #define MX51_PAD_SD2_CLK__I2C1_SDA IOMUX_PAD(0x7c0, 0x3b8, 0x11, 0x9b4, 2, MX51_I2C_PAD_CTRL) | ||
770 | #define MX51_PAD_SD2_CLK__SD2_CLK IOMUX_PAD(0x7c0, 0x3b8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS) | ||
771 | #define MX51_PAD_SD2_DATA0__CSPI_MISO IOMUX_PAD(0x7c4, 0x3bc, 2, 0x918, 3, MX51_ECSPI_PAD_CTRL) | ||
772 | #define MX51_PAD_SD2_DATA0__SD1_DAT4 IOMUX_PAD(0x7c4, 0x3bc, 1, __NA_, 0, NO_PAD_CTRL) | ||
773 | #define MX51_PAD_SD2_DATA0__SD2_DATA0 IOMUX_PAD(0x7c4, 0x3bc, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
774 | #define MX51_PAD_SD2_DATA1__SD1_DAT5 IOMUX_PAD(0x7c8, 0x3c0, 1, __NA_, 0, NO_PAD_CTRL) | ||
775 | #define MX51_PAD_SD2_DATA1__SD2_DATA1 IOMUX_PAD(0x7c8, 0x3c0, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
776 | #define MX51_PAD_SD2_DATA1__USBH3_H2_DP IOMUX_PAD(0x7c8, 0x3c0, 0x12, __NA_, 0, NO_PAD_CTRL) | ||
777 | #define MX51_PAD_SD2_DATA2__SD1_DAT6 IOMUX_PAD(0x7cc, 0x3c4, 1, __NA_, 0, NO_PAD_CTRL) | ||
778 | #define MX51_PAD_SD2_DATA2__SD2_DATA2 IOMUX_PAD(0x7cc, 0x3c4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
779 | #define MX51_PAD_SD2_DATA2__USBH3_H2_DM IOMUX_PAD(0x7cc, 0x3c4, 0x12, __NA_, 0, NO_PAD_CTRL) | ||
780 | #define MX51_PAD_SD2_DATA3__CSPI_SS2 IOMUX_PAD(0x7d0, 0x3c8, 2, 0x924, 1, MX51_ECSPI_PAD_CTRL) | ||
781 | #define MX51_PAD_SD2_DATA3__SD1_DAT7 IOMUX_PAD(0x7d0, 0x3c8, 1, __NA_, 0, NO_PAD_CTRL) | ||
782 | #define MX51_PAD_SD2_DATA3__SD2_DATA3 IOMUX_PAD(0x7d0, 0x3c8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL) | ||
783 | #define MX51_PAD_GPIO1_2__CCM_OUT_2 IOMUX_PAD(0x7d4, 0x3cc, 5, __NA_, 0, NO_PAD_CTRL) | ||
784 | #define MX51_PAD_GPIO1_2__GPIO1_2 IOMUX_PAD(0x7d4, 0x3cc, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
785 | #define MX51_PAD_GPIO1_2__I2C2_SCL IOMUX_PAD(0x7d4, 0x3cc, 0x12, 0x9b8, 3, MX51_I2C_PAD_CTRL) | ||
786 | #define MX51_PAD_GPIO1_2__PLL1_BYP IOMUX_PAD(0x7d4, 0x3cc, 7, 0x90c, 1, NO_PAD_CTRL) | ||
787 | #define MX51_PAD_GPIO1_2__PWM1_PWMO IOMUX_PAD(0x7d4, 0x3cc, 1, __NA_, 0, NO_PAD_CTRL) | ||
788 | #define MX51_PAD_GPIO1_3__GPIO1_3 IOMUX_PAD(0x7d8, 0x3d0, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
789 | #define MX51_PAD_GPIO1_3__I2C2_SDA IOMUX_PAD(0x7d8, 0x3d0, 0x12, 0x9bc, 3, MX51_I2C_PAD_CTRL) | ||
790 | #define MX51_PAD_GPIO1_3__CCM_CLKO2 IOMUX_PAD(0x7d8, 0x3d0, 5, __NA_, 0, NO_PAD_CTRL) | ||
791 | #define MX51_PAD_GPIO1_3__GPT_CLKIN IOMUX_PAD(0x7d8, 0x3d0, 6, __NA_, 0, NO_PAD_CTRL) | ||
792 | #define MX51_PAD_GPIO1_3__PLL2_BYP IOMUX_PAD(0x7d8, 0x3d0, 7, 0x910, 1, NO_PAD_CTRL) | ||
793 | #define MX51_PAD_GPIO1_3__PWM2_PWMO IOMUX_PAD(0x7d8, 0x3d0, 1, __NA_, 0, NO_PAD_CTRL) | ||
794 | #define MX51_PAD_PMIC_INT_REQ__PMIC_INT_REQ IOMUX_PAD(0x7fc, 0x3d4, 0, __NA_, 0, NO_PAD_CTRL) | ||
795 | #define MX51_PAD_PMIC_INT_REQ__PMIC_PMU_IRQ_B IOMUX_PAD(0x7fc, 0x3d4, 1, __NA_, 0, NO_PAD_CTRL) | ||
796 | #define MX51_PAD_GPIO1_4__DISP2_EXT_CLK IOMUX_PAD(0x804, 0x3d8, 4, 0x908, 1, NO_PAD_CTRL) | ||
797 | #define MX51_PAD_GPIO1_4__EIM_RDY IOMUX_PAD(0x804, 0x3d8, 3, 0x938, 1, NO_PAD_CTRL) | ||
798 | #define MX51_PAD_GPIO1_4__GPIO1_4 IOMUX_PAD(0x804, 0x3d8, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
799 | #define MX51_PAD_GPIO1_4__WDOG1_WDOG_B IOMUX_PAD(0x804, 0x3d8, 2, __NA_, 0, NO_PAD_CTRL) | ||
800 | #define MX51_PAD_GPIO1_4__GPT_CAPIN1 IOMUX_PAD(0x804, 0x3d8, 6, __NA_, 0, NO_PAD_CTRL) | ||
801 | #define MX51_PAD_GPIO1_5__CSI2_MCLK IOMUX_PAD(0x808, 0x3dc, 6, __NA_, 0, NO_PAD_CTRL) | ||
802 | #define MX51_PAD_GPIO1_5__DISP2_PIN16 IOMUX_PAD(0x808, 0x3dc, 3, __NA_, 0, NO_PAD_CTRL) | ||
803 | #define MX51_PAD_GPIO1_5__GPIO1_5 IOMUX_PAD(0x808, 0x3dc, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
804 | #define MX51_PAD_GPIO1_5__WDOG2_WDOG_B IOMUX_PAD(0x808, 0x3dc, 2, __NA_, 0, NO_PAD_CTRL) | ||
805 | #define MX51_PAD_GPIO1_5__CCM_CLKO IOMUX_PAD(0x808, 0x3dc, 5, __NA_, 0, NO_PAD_CTRL) | ||
806 | #define MX51_PAD_GPIO1_6__DISP2_PIN17 IOMUX_PAD(0x80c, 0x3e0, 4, __NA_, 0, NO_PAD_CTRL) | ||
807 | #define MX51_PAD_GPIO1_6__GPIO1_6 IOMUX_PAD(0x80c, 0x3e0, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
808 | #define MX51_PAD_GPIO1_6__REF_EN_B IOMUX_PAD(0x80c, 0x3e0, 3, __NA_, 0, NO_PAD_CTRL) | ||
809 | #define MX51_PAD_GPIO1_6__GPT_CAPIN2 IOMUX_PAD(0x80c, 0x3e0, 6, __NA_, 0, NO_PAD_CTRL) | ||
810 | #define MX51_PAD_GPIO1_7__CCM_OUT_0 IOMUX_PAD(0x810, 0x3e4, 3, __NA_, 0, NO_PAD_CTRL) | ||
811 | #define MX51_PAD_GPIO1_7__GPIO1_7 IOMUX_PAD(0x810, 0x3e4, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
812 | #define MX51_PAD_GPIO1_7__SD2_WP IOMUX_PAD(0x810, 0x3e4, 6, __NA_, 0, MX51_ESDHC_PAD_CTRL) | ||
813 | #define MX51_PAD_GPIO1_7__SPDIF_OUT1 IOMUX_PAD(0x810, 0x3e4, 2, __NA_, 0, NO_PAD_CTRL) | ||
814 | #define MX51_PAD_GPIO1_8__CSI2_DATA_EN IOMUX_PAD(0x814, 0x3e8, 2, 0x99c, 2, NO_PAD_CTRL) | ||
815 | #define MX51_PAD_GPIO1_8__GPIO1_8 IOMUX_PAD(0x814, 0x3e8, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
816 | #define MX51_PAD_GPIO1_8__SD2_CD IOMUX_PAD(0x814, 0x3e8, 6, __NA_, 0, MX51_ESDHC_PAD_CTRL) | ||
817 | #define MX51_PAD_GPIO1_8__USBH3_PWR IOMUX_PAD(0x814, 0x3e8, 1, __NA_, 0, NO_PAD_CTRL) | ||
818 | #define MX51_PAD_GPIO1_8__CCM_CLKO2 IOMUX_PAD(0x814, 0x3e8, 4, __NA_, 0, NO_PAD_CTRL) | ||
819 | #define MX51_PAD_GPIO1_9__CCM_OUT_1 IOMUX_PAD(0x818, 0x3ec, 3, __NA_, 0, NO_PAD_CTRL) | ||
820 | #define MX51_PAD_GPIO1_9__DISP2_D1_CS IOMUX_PAD(0x818, 0x3ec, 2, __NA_, 0, NO_PAD_CTRL) | ||
821 | #define MX51_PAD_GPIO1_9__DISP2_SER_CS IOMUX_PAD(0x818, 0x3ec, 7, __NA_, 0, NO_PAD_CTRL) | ||
822 | #define MX51_PAD_GPIO1_9__GPIO1_9 IOMUX_PAD(0x818, 0x3ec, 0, __NA_, 0, MX51_GPIO_PAD_CTRL) | ||
823 | #define MX51_PAD_GPIO1_9__SD2_LCTL IOMUX_PAD(0x818, 0x3ec, 6, __NA_, 0, NO_PAD_CTRL) | ||
824 | #define MX51_PAD_GPIO1_9__USBH3_OC IOMUX_PAD(0x818, 0x3ec, 1, __NA_, 0, NO_PAD_CTRL) | ||
825 | #define MX51_PAD_GPIO1_9__CCM_CLKO IOMUX_PAD(0x818, 0x3ec, 4, __NA_, 0, NO_PAD_CTRL) | ||
826 | |||
827 | #endif /* __MACH_IOMUX_MX51_H__ */ | ||
diff --git a/arch/arm/mach-imx/mach-armadillo5x0.c b/arch/arm/mach-imx/mach-armadillo5x0.c index 39406b7e3228..a7e9bd26a552 100644 --- a/arch/arm/mach-imx/mach-armadillo5x0.c +++ b/arch/arm/mach-imx/mach-armadillo5x0.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include "common.h" | 50 | #include "common.h" |
51 | #include "devices-imx31.h" | 51 | #include "devices-imx31.h" |
52 | #include "crmregs-imx3.h" | 52 | #include "crmregs-imx3.h" |
53 | #include "ehci.h" | ||
53 | #include "hardware.h" | 54 | #include "hardware.h" |
54 | #include "iomux-mx3.h" | 55 | #include "iomux-mx3.h" |
55 | #include "ulpi.h" | 56 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-cpuimx27.c b/arch/arm/mach-imx/mach-cpuimx27.c index 75b7b6aa2720..e6d4b9929571 100644 --- a/arch/arm/mach-imx/mach-cpuimx27.c +++ b/arch/arm/mach-imx/mach-cpuimx27.c | |||
@@ -36,6 +36,7 @@ | |||
36 | 36 | ||
37 | #include "common.h" | 37 | #include "common.h" |
38 | #include "devices-imx27.h" | 38 | #include "devices-imx27.h" |
39 | #include "ehci.h" | ||
39 | #include "eukrea-baseboards.h" | 40 | #include "eukrea-baseboards.h" |
40 | #include "hardware.h" | 41 | #include "hardware.h" |
41 | #include "iomux-mx27.h" | 42 | #include "iomux-mx27.h" |
diff --git a/arch/arm/mach-imx/mach-cpuimx35.c b/arch/arm/mach-imx/mach-cpuimx35.c index 1ffa27169045..62a6e02f4763 100644 --- a/arch/arm/mach-imx/mach-cpuimx35.c +++ b/arch/arm/mach-imx/mach-cpuimx35.c | |||
@@ -39,6 +39,7 @@ | |||
39 | 39 | ||
40 | #include "common.h" | 40 | #include "common.h" |
41 | #include "devices-imx35.h" | 41 | #include "devices-imx35.h" |
42 | #include "ehci.h" | ||
42 | #include "eukrea-baseboards.h" | 43 | #include "eukrea-baseboards.h" |
43 | #include "hardware.h" | 44 | #include "hardware.h" |
44 | #include "iomux-mx35.h" | 45 | #include "iomux-mx35.h" |
diff --git a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c b/arch/arm/mach-imx/mach-eukrea_cpuimx25.c index e978dda1434c..b2ee6e009fe4 100644 --- a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c +++ b/arch/arm/mach-imx/mach-eukrea_cpuimx25.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include "common.h" | 36 | #include "common.h" |
37 | #include "devices-imx25.h" | 37 | #include "devices-imx25.h" |
38 | #include "ehci.h" | ||
38 | #include "eukrea-baseboards.h" | 39 | #include "eukrea-baseboards.h" |
39 | #include "hardware.h" | 40 | #include "hardware.h" |
40 | #include "iomux-mx25.h" | 41 | #include "iomux-mx25.h" |
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index b61bd8ed5568..ede2bdbb5dd5 100644 --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c | |||
@@ -43,6 +43,7 @@ | |||
43 | 43 | ||
44 | #include "common.h" | 44 | #include "common.h" |
45 | #include "devices-imx27.h" | 45 | #include "devices-imx27.h" |
46 | #include "ehci.h" | ||
46 | #include "hardware.h" | 47 | #include "hardware.h" |
47 | #include "iomux-mx27.h" | 48 | #include "iomux-mx27.h" |
48 | 49 | ||
diff --git a/arch/arm/mach-imx/mach-imx27ipcam.c b/arch/arm/mach-imx/mach-imx27ipcam.c deleted file mode 100644 index bb3ca0429680..000000000000 --- a/arch/arm/mach-imx/mach-imx27ipcam.c +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * Author: Fabio Estevam <fabio.estevam@freescale.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | */ | ||
16 | |||
17 | #include <asm/mach-types.h> | ||
18 | #include <asm/mach/arch.h> | ||
19 | #include <asm/mach/time.h> | ||
20 | |||
21 | #include "hardware.h" | ||
22 | #include "common.h" | ||
23 | #include "devices-imx27.h" | ||
24 | #include "iomux-mx27.h" | ||
25 | |||
26 | static const int mx27ipcam_pins[] __initconst = { | ||
27 | /* UART1 */ | ||
28 | PE12_PF_UART1_TXD, | ||
29 | PE13_PF_UART1_RXD, | ||
30 | /* FEC */ | ||
31 | PD0_AIN_FEC_TXD0, | ||
32 | PD1_AIN_FEC_TXD1, | ||
33 | PD2_AIN_FEC_TXD2, | ||
34 | PD3_AIN_FEC_TXD3, | ||
35 | PD4_AOUT_FEC_RX_ER, | ||
36 | PD5_AOUT_FEC_RXD1, | ||
37 | PD6_AOUT_FEC_RXD2, | ||
38 | PD7_AOUT_FEC_RXD3, | ||
39 | PD8_AF_FEC_MDIO, | ||
40 | PD9_AIN_FEC_MDC, | ||
41 | PD10_AOUT_FEC_CRS, | ||
42 | PD11_AOUT_FEC_TX_CLK, | ||
43 | PD12_AOUT_FEC_RXD0, | ||
44 | PD13_AOUT_FEC_RX_DV, | ||
45 | PD14_AOUT_FEC_RX_CLK, | ||
46 | PD15_AOUT_FEC_COL, | ||
47 | PD16_AIN_FEC_TX_ER, | ||
48 | PF23_AIN_FEC_TX_EN, | ||
49 | }; | ||
50 | |||
51 | static void __init mx27ipcam_init(void) | ||
52 | { | ||
53 | imx27_soc_init(); | ||
54 | |||
55 | mxc_gpio_setup_multiple_pins(mx27ipcam_pins, ARRAY_SIZE(mx27ipcam_pins), | ||
56 | "mx27ipcam"); | ||
57 | |||
58 | imx27_add_imx_uart0(NULL); | ||
59 | imx27_add_fec(NULL); | ||
60 | imx27_add_imx2_wdt(); | ||
61 | } | ||
62 | |||
63 | static void __init mx27ipcam_timer_init(void) | ||
64 | { | ||
65 | mx27_clocks_init(25000000); | ||
66 | } | ||
67 | |||
68 | MACHINE_START(IMX27IPCAM, "Freescale IMX27IPCAM") | ||
69 | /* maintainer: Freescale Semiconductor, Inc. */ | ||
70 | .atag_offset = 0x100, | ||
71 | .map_io = mx27_map_io, | ||
72 | .init_early = imx27_init_early, | ||
73 | .init_irq = mx27_init_irq, | ||
74 | .init_time = mx27ipcam_timer_init, | ||
75 | .init_machine = mx27ipcam_init, | ||
76 | .restart = mxc_restart, | ||
77 | MACHINE_END | ||
diff --git a/arch/arm/mach-imx/mach-imx27lite.c b/arch/arm/mach-imx/mach-imx27lite.c deleted file mode 100644 index 9992089d3ad1..000000000000 --- a/arch/arm/mach-imx/mach-imx27lite.c +++ /dev/null | |||
@@ -1,83 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2007 Robert Schwebel <r.schwebel@pengutronix.de>, Pengutronix | ||
3 | * Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de) | ||
4 | * Copyright 2009 Daniel Schaeffer (daniel.schaeffer@timesys.com) | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | */ | ||
16 | |||
17 | #include <linux/platform_device.h> | ||
18 | #include <linux/gpio.h> | ||
19 | #include <asm/mach-types.h> | ||
20 | #include <asm/mach/arch.h> | ||
21 | #include <asm/mach/time.h> | ||
22 | #include <asm/mach/map.h> | ||
23 | |||
24 | #include "common.h" | ||
25 | #include "devices-imx27.h" | ||
26 | #include "hardware.h" | ||
27 | #include "iomux-mx27.h" | ||
28 | |||
29 | static const int mx27lite_pins[] __initconst = { | ||
30 | /* UART1 */ | ||
31 | PE12_PF_UART1_TXD, | ||
32 | PE13_PF_UART1_RXD, | ||
33 | PE14_PF_UART1_CTS, | ||
34 | PE15_PF_UART1_RTS, | ||
35 | /* FEC */ | ||
36 | PD0_AIN_FEC_TXD0, | ||
37 | PD1_AIN_FEC_TXD1, | ||
38 | PD2_AIN_FEC_TXD2, | ||
39 | PD3_AIN_FEC_TXD3, | ||
40 | PD4_AOUT_FEC_RX_ER, | ||
41 | PD5_AOUT_FEC_RXD1, | ||
42 | PD6_AOUT_FEC_RXD2, | ||
43 | PD7_AOUT_FEC_RXD3, | ||
44 | PD8_AF_FEC_MDIO, | ||
45 | PD9_AIN_FEC_MDC, | ||
46 | PD10_AOUT_FEC_CRS, | ||
47 | PD11_AOUT_FEC_TX_CLK, | ||
48 | PD12_AOUT_FEC_RXD0, | ||
49 | PD13_AOUT_FEC_RX_DV, | ||
50 | PD14_AOUT_FEC_RX_CLK, | ||
51 | PD15_AOUT_FEC_COL, | ||
52 | PD16_AIN_FEC_TX_ER, | ||
53 | PF23_AIN_FEC_TX_EN, | ||
54 | }; | ||
55 | |||
56 | static const struct imxuart_platform_data uart_pdata __initconst = { | ||
57 | .flags = IMXUART_HAVE_RTSCTS, | ||
58 | }; | ||
59 | |||
60 | static void __init mx27lite_init(void) | ||
61 | { | ||
62 | imx27_soc_init(); | ||
63 | |||
64 | mxc_gpio_setup_multiple_pins(mx27lite_pins, ARRAY_SIZE(mx27lite_pins), | ||
65 | "imx27lite"); | ||
66 | imx27_add_imx_uart0(&uart_pdata); | ||
67 | imx27_add_fec(NULL); | ||
68 | } | ||
69 | |||
70 | static void __init mx27lite_timer_init(void) | ||
71 | { | ||
72 | mx27_clocks_init(26000000); | ||
73 | } | ||
74 | |||
75 | MACHINE_START(IMX27LITE, "LogicPD i.MX27LITE") | ||
76 | .atag_offset = 0x100, | ||
77 | .map_io = mx27_map_io, | ||
78 | .init_early = imx27_init_early, | ||
79 | .init_irq = mx27_init_irq, | ||
80 | .init_time = mx27lite_timer_init, | ||
81 | .init_machine = mx27lite_init, | ||
82 | .restart = mxc_restart, | ||
83 | MACHINE_END | ||
diff --git a/arch/arm/mach-imx/mach-imx50.c b/arch/arm/mach-imx/mach-imx50.c index b899c0b59afd..b1e56a94a382 100644 --- a/arch/arm/mach-imx/mach-imx50.c +++ b/arch/arm/mach-imx/mach-imx50.c | |||
@@ -23,14 +23,13 @@ static void __init imx50_dt_init(void) | |||
23 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 23 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
24 | } | 24 | } |
25 | 25 | ||
26 | static const char *imx50_dt_board_compat[] __initconst = { | 26 | static const char * const imx50_dt_board_compat[] __initconst = { |
27 | "fsl,imx50", | 27 | "fsl,imx50", |
28 | NULL | 28 | NULL |
29 | }; | 29 | }; |
30 | 30 | ||
31 | DT_MACHINE_START(IMX50_DT, "Freescale i.MX50 (Device Tree Support)") | 31 | DT_MACHINE_START(IMX50_DT, "Freescale i.MX50 (Device Tree Support)") |
32 | .map_io = mx53_map_io, | 32 | .init_irq = tzic_init_irq, |
33 | .init_irq = mx53_init_irq, | ||
34 | .init_machine = imx50_dt_init, | 33 | .init_machine = imx50_dt_init, |
35 | .dt_compat = imx50_dt_board_compat, | 34 | .dt_compat = imx50_dt_board_compat, |
36 | .restart = mxc_restart, | 35 | .restart = mxc_restart, |
diff --git a/arch/arm/mach-imx/imx51-dt.c b/arch/arm/mach-imx/mach-imx51.c index b8cd968faa52..c77deb3f0893 100644 --- a/arch/arm/mach-imx/imx51-dt.c +++ b/arch/arm/mach-imx/mach-imx51.c | |||
@@ -10,6 +10,7 @@ | |||
10 | * http://www.gnu.org/copyleft/gpl.html | 10 | * http://www.gnu.org/copyleft/gpl.html |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/io.h> | ||
13 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
14 | #include <linux/of_irq.h> | 15 | #include <linux/of_irq.h> |
15 | #include <linux/of_platform.h> | 16 | #include <linux/of_platform.h> |
@@ -17,27 +18,63 @@ | |||
17 | #include <asm/mach/time.h> | 18 | #include <asm/mach/time.h> |
18 | 19 | ||
19 | #include "common.h" | 20 | #include "common.h" |
20 | #include "mx51.h" | 21 | #include "hardware.h" |
22 | |||
23 | static void __init imx51_init_early(void) | ||
24 | { | ||
25 | mxc_set_cpu_type(MXC_CPU_MX51); | ||
26 | } | ||
27 | |||
28 | /* | ||
29 | * The MIPI HSC unit has been removed from the i.MX51 Reference Manual by | ||
30 | * the Freescale marketing division. However this did not remove the | ||
31 | * hardware from the chip which still needs to be configured for proper | ||
32 | * IPU support. | ||
33 | */ | ||
34 | #define MX51_MIPI_HSC_BASE 0x83fdc000 | ||
35 | static void __init imx51_ipu_mipi_setup(void) | ||
36 | { | ||
37 | void __iomem *hsc_addr; | ||
38 | |||
39 | hsc_addr = ioremap(MX51_MIPI_HSC_BASE, SZ_16K); | ||
40 | WARN_ON(!hsc_addr); | ||
41 | |||
42 | /* setup MIPI module to legacy mode */ | ||
43 | __raw_writel(0xf00, hsc_addr); | ||
44 | |||
45 | /* CSI mode: reserved; DI control mode: legacy (from Freescale BSP) */ | ||
46 | __raw_writel(__raw_readl(hsc_addr + 0x800) | 0x30ff, | ||
47 | hsc_addr + 0x800); | ||
48 | |||
49 | iounmap(hsc_addr); | ||
50 | } | ||
21 | 51 | ||
22 | static void __init imx51_dt_init(void) | 52 | static void __init imx51_dt_init(void) |
23 | { | 53 | { |
24 | struct platform_device_info devinfo = { .name = "cpufreq-cpu0", }; | 54 | struct platform_device_info devinfo = { .name = "cpufreq-cpu0", }; |
25 | 55 | ||
26 | mxc_arch_reset_init_dt(); | 56 | mxc_arch_reset_init_dt(); |
57 | imx51_ipu_mipi_setup(); | ||
58 | imx_src_init(); | ||
27 | 59 | ||
28 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 60 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
29 | platform_device_register_full(&devinfo); | 61 | platform_device_register_full(&devinfo); |
30 | } | 62 | } |
31 | 63 | ||
32 | static const char *imx51_dt_board_compat[] __initconst = { | 64 | static void __init imx51_init_late(void) |
65 | { | ||
66 | mx51_neon_fixup(); | ||
67 | imx51_pm_init(); | ||
68 | } | ||
69 | |||
70 | static const char * const imx51_dt_board_compat[] __initconst = { | ||
33 | "fsl,imx51", | 71 | "fsl,imx51", |
34 | NULL | 72 | NULL |
35 | }; | 73 | }; |
36 | 74 | ||
37 | DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)") | 75 | DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)") |
38 | .map_io = mx51_map_io, | ||
39 | .init_early = imx51_init_early, | 76 | .init_early = imx51_init_early, |
40 | .init_irq = mx51_init_irq, | 77 | .init_irq = tzic_init_irq, |
41 | .init_machine = imx51_dt_init, | 78 | .init_machine = imx51_dt_init, |
42 | .init_late = imx51_init_late, | 79 | .init_late = imx51_init_late, |
43 | .dt_compat = imx51_dt_board_compat, | 80 | .dt_compat = imx51_dt_board_compat, |
diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c index 2bad387956c0..03dd6ea13acc 100644 --- a/arch/arm/mach-imx/mach-imx53.c +++ b/arch/arm/mach-imx/mach-imx53.c | |||
@@ -22,24 +22,35 @@ | |||
22 | 22 | ||
23 | #include "common.h" | 23 | #include "common.h" |
24 | #include "hardware.h" | 24 | #include "hardware.h" |
25 | #include "mx53.h" | 25 | |
26 | static void __init imx53_init_early(void) | ||
27 | { | ||
28 | mxc_set_cpu_type(MXC_CPU_MX53); | ||
29 | } | ||
26 | 30 | ||
27 | static void __init imx53_dt_init(void) | 31 | static void __init imx53_dt_init(void) |
28 | { | 32 | { |
29 | mxc_arch_reset_init_dt(); | 33 | mxc_arch_reset_init_dt(); |
34 | imx_src_init(); | ||
30 | 35 | ||
31 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 36 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
37 | |||
38 | imx_aips_allow_unprivileged_access("fsl,imx53-aipstz"); | ||
39 | } | ||
40 | |||
41 | static void __init imx53_init_late(void) | ||
42 | { | ||
43 | imx53_pm_init(); | ||
32 | } | 44 | } |
33 | 45 | ||
34 | static const char *imx53_dt_board_compat[] __initconst = { | 46 | static const char * const imx53_dt_board_compat[] __initconst = { |
35 | "fsl,imx53", | 47 | "fsl,imx53", |
36 | NULL | 48 | NULL |
37 | }; | 49 | }; |
38 | 50 | ||
39 | DT_MACHINE_START(IMX53_DT, "Freescale i.MX53 (Device Tree Support)") | 51 | DT_MACHINE_START(IMX53_DT, "Freescale i.MX53 (Device Tree Support)") |
40 | .map_io = mx53_map_io, | ||
41 | .init_early = imx53_init_early, | 52 | .init_early = imx53_init_early, |
42 | .init_irq = mx53_init_irq, | 53 | .init_irq = tzic_init_irq, |
43 | .init_machine = imx53_dt_init, | 54 | .init_machine = imx53_dt_init, |
44 | .init_late = imx53_init_late, | 55 | .init_late = imx53_init_late, |
45 | .dt_compat = imx53_dt_board_compat, | 56 | .dt_compat = imx53_dt_board_compat, |
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index e60456d85c9d..d51c6e99a2e9 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c | |||
@@ -320,7 +320,7 @@ static void __init imx6q_opp_check_speed_grading(struct device *cpu_dev) | |||
320 | val >>= OCOTP_CFG3_SPEED_SHIFT; | 320 | val >>= OCOTP_CFG3_SPEED_SHIFT; |
321 | val &= 0x3; | 321 | val &= 0x3; |
322 | 322 | ||
323 | if (val != OCOTP_CFG3_SPEED_1P2GHZ) | 323 | if ((val != OCOTP_CFG3_SPEED_1P2GHZ) && cpu_is_imx6q()) |
324 | if (dev_pm_opp_disable(cpu_dev, 1200000000)) | 324 | if (dev_pm_opp_disable(cpu_dev, 1200000000)) |
325 | pr_warn("failed to disable 1.2 GHz OPP\n"); | 325 | pr_warn("failed to disable 1.2 GHz OPP\n"); |
326 | if (val < OCOTP_CFG3_SPEED_996MHZ) | 326 | if (val < OCOTP_CFG3_SPEED_996MHZ) |
@@ -396,7 +396,7 @@ static void __init imx6q_init_irq(void) | |||
396 | irqchip_init(); | 396 | irqchip_init(); |
397 | } | 397 | } |
398 | 398 | ||
399 | static const char *imx6q_dt_compat[] __initconst = { | 399 | static const char * const imx6q_dt_compat[] __initconst = { |
400 | "fsl,imx6dl", | 400 | "fsl,imx6dl", |
401 | "fsl,imx6q", | 401 | "fsl,imx6q", |
402 | NULL, | 402 | NULL, |
diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c index ad323385115c..ed263a21d928 100644 --- a/arch/arm/mach-imx/mach-imx6sl.c +++ b/arch/arm/mach-imx/mach-imx6sl.c | |||
@@ -70,7 +70,7 @@ static void __init imx6sl_init_irq(void) | |||
70 | irqchip_init(); | 70 | irqchip_init(); |
71 | } | 71 | } |
72 | 72 | ||
73 | static const char *imx6sl_dt_compat[] __initconst = { | 73 | static const char * const imx6sl_dt_compat[] __initconst = { |
74 | "fsl,imx6sl", | 74 | "fsl,imx6sl", |
75 | NULL, | 75 | NULL, |
76 | }; | 76 | }; |
diff --git a/arch/arm/mach-imx/mach-imx6sx.c b/arch/arm/mach-imx/mach-imx6sx.c index 02fccf6033ac..673a734165ba 100644 --- a/arch/arm/mach-imx/mach-imx6sx.c +++ b/arch/arm/mach-imx/mach-imx6sx.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <asm/mach/map.h> | 12 | #include <asm/mach/map.h> |
13 | 13 | ||
14 | #include "common.h" | 14 | #include "common.h" |
15 | #include "cpuidle.h" | ||
15 | 16 | ||
16 | static void __init imx6sx_init_machine(void) | 17 | static void __init imx6sx_init_machine(void) |
17 | { | 18 | { |
@@ -26,6 +27,7 @@ static void __init imx6sx_init_machine(void) | |||
26 | of_platform_populate(NULL, of_default_bus_match_table, NULL, parent); | 27 | of_platform_populate(NULL, of_default_bus_match_table, NULL, parent); |
27 | 28 | ||
28 | imx_anatop_init(); | 29 | imx_anatop_init(); |
30 | imx6sx_pm_init(); | ||
29 | } | 31 | } |
30 | 32 | ||
31 | static void __init imx6sx_init_irq(void) | 33 | static void __init imx6sx_init_irq(void) |
@@ -37,7 +39,12 @@ static void __init imx6sx_init_irq(void) | |||
37 | irqchip_init(); | 39 | irqchip_init(); |
38 | } | 40 | } |
39 | 41 | ||
40 | static const char *imx6sx_dt_compat[] __initconst = { | 42 | static void __init imx6sx_init_late(void) |
43 | { | ||
44 | imx6q_cpuidle_init(); | ||
45 | } | ||
46 | |||
47 | static const char * const imx6sx_dt_compat[] __initconst = { | ||
41 | "fsl,imx6sx", | 48 | "fsl,imx6sx", |
42 | NULL, | 49 | NULL, |
43 | }; | 50 | }; |
@@ -47,5 +54,6 @@ DT_MACHINE_START(IMX6SX, "Freescale i.MX6 SoloX (Device Tree)") | |||
47 | .init_irq = imx6sx_init_irq, | 54 | .init_irq = imx6sx_init_irq, |
48 | .init_machine = imx6sx_init_machine, | 55 | .init_machine = imx6sx_init_machine, |
49 | .dt_compat = imx6sx_dt_compat, | 56 | .dt_compat = imx6sx_dt_compat, |
57 | .init_late = imx6sx_init_late, | ||
50 | .restart = mxc_restart, | 58 | .restart = mxc_restart, |
51 | MACHINE_END | 59 | MACHINE_END |
diff --git a/arch/arm/mach-imx/mach-mx25_3ds.c b/arch/arm/mach-imx/mach-mx25_3ds.c index ea1fa199c148..0d01e367b062 100644 --- a/arch/arm/mach-imx/mach-mx25_3ds.c +++ b/arch/arm/mach-imx/mach-mx25_3ds.c | |||
@@ -39,6 +39,7 @@ | |||
39 | 39 | ||
40 | #include "common.h" | 40 | #include "common.h" |
41 | #include "devices-imx25.h" | 41 | #include "devices-imx25.h" |
42 | #include "ehci.h" | ||
42 | #include "hardware.h" | 43 | #include "hardware.h" |
43 | #include "iomux-mx25.h" | 44 | #include "iomux-mx25.h" |
44 | #include "mx25.h" | 45 | #include "mx25.h" |
diff --git a/arch/arm/mach-imx/mach-mx27_3ds.c b/arch/arm/mach-imx/mach-mx27_3ds.c index 435a5428a678..9ef4640f3660 100644 --- a/arch/arm/mach-imx/mach-mx27_3ds.c +++ b/arch/arm/mach-imx/mach-mx27_3ds.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include "3ds_debugboard.h" | 40 | #include "3ds_debugboard.h" |
41 | #include "common.h" | 41 | #include "common.h" |
42 | #include "devices-imx27.h" | 42 | #include "devices-imx27.h" |
43 | #include "ehci.h" | ||
43 | #include "hardware.h" | 44 | #include "hardware.h" |
44 | #include "iomux-mx27.h" | 45 | #include "iomux-mx27.h" |
45 | #include "ulpi.h" | 46 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c index 4217871a9653..453f41a2c5a9 100644 --- a/arch/arm/mach-imx/mach-mx31_3ds.c +++ b/arch/arm/mach-imx/mach-mx31_3ds.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include "3ds_debugboard.h" | 40 | #include "3ds_debugboard.h" |
41 | #include "common.h" | 41 | #include "common.h" |
42 | #include "devices-imx31.h" | 42 | #include "devices-imx31.h" |
43 | #include "ehci.h" | ||
43 | #include "hardware.h" | 44 | #include "hardware.h" |
44 | #include "iomux-mx3.h" | 45 | #include "iomux-mx3.h" |
45 | #include "ulpi.h" | 46 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-mx31lilly.c b/arch/arm/mach-imx/mach-mx31lilly.c index eee042fa2768..e9549a3c0223 100644 --- a/arch/arm/mach-imx/mach-mx31lilly.c +++ b/arch/arm/mach-imx/mach-mx31lilly.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include "board-mx31lilly.h" | 45 | #include "board-mx31lilly.h" |
46 | #include "common.h" | 46 | #include "common.h" |
47 | #include "devices-imx31.h" | 47 | #include "devices-imx31.h" |
48 | #include "ehci.h" | ||
48 | #include "hardware.h" | 49 | #include "hardware.h" |
49 | #include "iomux-mx3.h" | 50 | #include "iomux-mx3.h" |
50 | #include "ulpi.h" | 51 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-mx31lite.c b/arch/arm/mach-imx/mach-mx31lite.c index fa15d0b6118d..57eac6f45fab 100644 --- a/arch/arm/mach-imx/mach-mx31lite.c +++ b/arch/arm/mach-imx/mach-mx31lite.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include "board-mx31lite.h" | 42 | #include "board-mx31lite.h" |
43 | #include "common.h" | 43 | #include "common.h" |
44 | #include "devices-imx31.h" | 44 | #include "devices-imx31.h" |
45 | #include "ehci.h" | ||
45 | #include "hardware.h" | 46 | #include "hardware.h" |
46 | #include "iomux-mx3.h" | 47 | #include "iomux-mx3.h" |
47 | #include "ulpi.h" | 48 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c index 08730f238449..bb6f8a52a6b8 100644 --- a/arch/arm/mach-imx/mach-mx31moboard.c +++ b/arch/arm/mach-imx/mach-mx31moboard.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include "board-mx31moboard.h" | 47 | #include "board-mx31moboard.h" |
48 | #include "common.h" | 48 | #include "common.h" |
49 | #include "devices-imx31.h" | 49 | #include "devices-imx31.h" |
50 | #include "ehci.h" | ||
50 | #include "hardware.h" | 51 | #include "hardware.h" |
51 | #include "iomux-mx3.h" | 52 | #include "iomux-mx3.h" |
52 | #include "ulpi.h" | 53 | #include "ulpi.h" |
@@ -434,10 +435,8 @@ static int __init moboard_usbh2_init(void) | |||
434 | return -ENODEV; | 435 | return -ENODEV; |
435 | 436 | ||
436 | pdev = imx31_add_mxc_ehci_hs(2, &usbh2_pdata); | 437 | pdev = imx31_add_mxc_ehci_hs(2, &usbh2_pdata); |
437 | if (IS_ERR(pdev)) | ||
438 | return PTR_ERR(pdev); | ||
439 | 438 | ||
440 | return 0; | 439 | return PTR_ERR_OR_ZERO(pdev); |
441 | } | 440 | } |
442 | 441 | ||
443 | static const struct gpio_led mx31moboard_leds[] __initconst = { | 442 | static const struct gpio_led mx31moboard_leds[] __initconst = { |
diff --git a/arch/arm/mach-imx/mach-mx35_3ds.c b/arch/arm/mach-imx/mach-mx35_3ds.c index 4e8b184d773b..72cd77d21f63 100644 --- a/arch/arm/mach-imx/mach-mx35_3ds.c +++ b/arch/arm/mach-imx/mach-mx35_3ds.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include "3ds_debugboard.h" | 50 | #include "3ds_debugboard.h" |
51 | #include "common.h" | 51 | #include "common.h" |
52 | #include "devices-imx35.h" | 52 | #include "devices-imx35.h" |
53 | #include "ehci.h" | ||
53 | #include "hardware.h" | 54 | #include "hardware.h" |
54 | #include "iomux-mx35.h" | 55 | #include "iomux-mx35.h" |
55 | 56 | ||
diff --git a/arch/arm/mach-imx/mach-pca100.c b/arch/arm/mach-imx/mach-pca100.c index 12212378c672..2d1c50bd8bdf 100644 --- a/arch/arm/mach-imx/mach-pca100.c +++ b/arch/arm/mach-imx/mach-pca100.c | |||
@@ -36,6 +36,7 @@ | |||
36 | 36 | ||
37 | #include "common.h" | 37 | #include "common.h" |
38 | #include "devices-imx27.h" | 38 | #include "devices-imx27.h" |
39 | #include "ehci.h" | ||
39 | #include "hardware.h" | 40 | #include "hardware.h" |
40 | #include "iomux-mx27.h" | 41 | #include "iomux-mx27.h" |
41 | #include "ulpi.h" | 42 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-pcm037.c b/arch/arm/mach-imx/mach-pcm037.c index 81b8affb9448..8eb1570f7851 100644 --- a/arch/arm/mach-imx/mach-pcm037.c +++ b/arch/arm/mach-imx/mach-pcm037.c | |||
@@ -45,6 +45,7 @@ | |||
45 | 45 | ||
46 | #include "common.h" | 46 | #include "common.h" |
47 | #include "devices-imx31.h" | 47 | #include "devices-imx31.h" |
48 | #include "ehci.h" | ||
48 | #include "hardware.h" | 49 | #include "hardware.h" |
49 | #include "iomux-mx3.h" | 50 | #include "iomux-mx3.h" |
50 | #include "pcm037.h" | 51 | #include "pcm037.h" |
diff --git a/arch/arm/mach-imx/mach-pcm038.c b/arch/arm/mach-imx/mach-pcm038.c index 6c56fb5553c7..ee862ad6b6fc 100644 --- a/arch/arm/mach-imx/mach-pcm038.c +++ b/arch/arm/mach-imx/mach-pcm038.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include "board-pcm038.h" | 36 | #include "board-pcm038.h" |
37 | #include "common.h" | 37 | #include "common.h" |
38 | #include "devices-imx27.h" | 38 | #include "devices-imx27.h" |
39 | #include "ehci.h" | ||
39 | #include "hardware.h" | 40 | #include "hardware.h" |
40 | #include "iomux-mx27.h" | 41 | #include "iomux-mx27.h" |
41 | #include "ulpi.h" | 42 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-pcm043.c b/arch/arm/mach-imx/mach-pcm043.c index c62b5d261345..b623bcaca76c 100644 --- a/arch/arm/mach-imx/mach-pcm043.c +++ b/arch/arm/mach-imx/mach-pcm043.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include "common.h" | 36 | #include "common.h" |
37 | #include "devices-imx35.h" | 37 | #include "devices-imx35.h" |
38 | #include "ehci.h" | ||
38 | #include "hardware.h" | 39 | #include "hardware.h" |
39 | #include "iomux-mx35.h" | 40 | #include "iomux-mx35.h" |
40 | #include "ulpi.h" | 41 | #include "ulpi.h" |
diff --git a/arch/arm/mach-imx/mach-vf610.c b/arch/arm/mach-imx/mach-vf610.c index c44602758120..ee7e57b752a7 100644 --- a/arch/arm/mach-imx/mach-vf610.c +++ b/arch/arm/mach-imx/mach-vf610.c | |||
@@ -20,7 +20,7 @@ static void __init vf610_init_machine(void) | |||
20 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 20 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
21 | } | 21 | } |
22 | 22 | ||
23 | static const char *vf610_dt_compat[] __initconst = { | 23 | static const char * const vf610_dt_compat[] __initconst = { |
24 | "fsl,vf610", | 24 | "fsl,vf610", |
25 | NULL, | 25 | NULL, |
26 | }; | 26 | }; |
diff --git a/arch/arm/mach-imx/mach-vpr200.c b/arch/arm/mach-imx/mach-vpr200.c index 872b3c6ba408..97836e94451c 100644 --- a/arch/arm/mach-imx/mach-vpr200.c +++ b/arch/arm/mach-imx/mach-vpr200.c | |||
@@ -34,6 +34,7 @@ | |||
34 | 34 | ||
35 | #include "common.h" | 35 | #include "common.h" |
36 | #include "devices-imx35.h" | 36 | #include "devices-imx35.h" |
37 | #include "ehci.h" | ||
37 | #include "hardware.h" | 38 | #include "hardware.h" |
38 | #include "iomux-mx35.h" | 39 | #include "iomux-mx35.h" |
39 | 40 | ||
diff --git a/arch/arm/mach-imx/mm-imx5.c b/arch/arm/mach-imx/mm-imx5.c deleted file mode 100644 index 4c112021aa4e..000000000000 --- a/arch/arm/mach-imx/mm-imx5.c +++ /dev/null | |||
@@ -1,155 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | * | ||
11 | * Create static mapping between physical to virtual memory. | ||
12 | */ | ||
13 | |||
14 | #include <linux/mm.h> | ||
15 | #include <linux/init.h> | ||
16 | #include <linux/clk.h> | ||
17 | #include <linux/pinctrl/machine.h> | ||
18 | #include <linux/of_address.h> | ||
19 | |||
20 | #include <asm/mach/map.h> | ||
21 | |||
22 | #include "common.h" | ||
23 | #include "devices/devices-common.h" | ||
24 | #include "hardware.h" | ||
25 | #include "iomux-v3.h" | ||
26 | |||
27 | /* | ||
28 | * Define the MX51 memory map. | ||
29 | */ | ||
30 | static struct map_desc mx51_io_desc[] __initdata = { | ||
31 | imx_map_entry(MX51, TZIC, MT_DEVICE), | ||
32 | imx_map_entry(MX51, IRAM, MT_DEVICE), | ||
33 | imx_map_entry(MX51, AIPS1, MT_DEVICE), | ||
34 | imx_map_entry(MX51, SPBA0, MT_DEVICE), | ||
35 | imx_map_entry(MX51, AIPS2, MT_DEVICE), | ||
36 | }; | ||
37 | |||
38 | /* | ||
39 | * Define the MX53 memory map. | ||
40 | */ | ||
41 | static struct map_desc mx53_io_desc[] __initdata = { | ||
42 | imx_map_entry(MX53, TZIC, MT_DEVICE), | ||
43 | imx_map_entry(MX53, AIPS1, MT_DEVICE), | ||
44 | imx_map_entry(MX53, SPBA0, MT_DEVICE), | ||
45 | imx_map_entry(MX53, AIPS2, MT_DEVICE), | ||
46 | }; | ||
47 | |||
48 | /* | ||
49 | * This function initializes the memory map. It is called during the | ||
50 | * system startup to create static physical to virtual memory mappings | ||
51 | * for the IO modules. | ||
52 | */ | ||
53 | void __init mx51_map_io(void) | ||
54 | { | ||
55 | iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc)); | ||
56 | } | ||
57 | |||
58 | void __init mx53_map_io(void) | ||
59 | { | ||
60 | iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc)); | ||
61 | } | ||
62 | |||
63 | /* | ||
64 | * The MIPI HSC unit has been removed from the i.MX51 Reference Manual by | ||
65 | * the Freescale marketing division. However this did not remove the | ||
66 | * hardware from the chip which still needs to be configured for proper | ||
67 | * IPU support. | ||
68 | */ | ||
69 | static void __init imx51_ipu_mipi_setup(void) | ||
70 | { | ||
71 | void __iomem *hsc_addr; | ||
72 | hsc_addr = MX51_IO_ADDRESS(MX51_MIPI_HSC_BASE_ADDR); | ||
73 | |||
74 | /* setup MIPI module to legacy mode */ | ||
75 | __raw_writel(0xf00, hsc_addr); | ||
76 | |||
77 | /* CSI mode: reserved; DI control mode: legacy (from Freescale BSP) */ | ||
78 | __raw_writel(__raw_readl(hsc_addr + 0x800) | 0x30ff, | ||
79 | hsc_addr + 0x800); | ||
80 | } | ||
81 | |||
82 | void __init imx51_init_early(void) | ||
83 | { | ||
84 | imx51_ipu_mipi_setup(); | ||
85 | mxc_set_cpu_type(MXC_CPU_MX51); | ||
86 | mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR)); | ||
87 | imx_src_init(); | ||
88 | } | ||
89 | |||
90 | void __init imx53_init_early(void) | ||
91 | { | ||
92 | mxc_set_cpu_type(MXC_CPU_MX53); | ||
93 | imx_src_init(); | ||
94 | } | ||
95 | |||
96 | void __init mx51_init_irq(void) | ||
97 | { | ||
98 | tzic_init_irq(MX51_IO_ADDRESS(MX51_TZIC_BASE_ADDR)); | ||
99 | } | ||
100 | |||
101 | void __init mx53_init_irq(void) | ||
102 | { | ||
103 | struct device_node *np; | ||
104 | void __iomem *base; | ||
105 | |||
106 | np = of_find_compatible_node(NULL, NULL, "fsl,imx53-tzic"); | ||
107 | base = of_iomap(np, 0); | ||
108 | WARN_ON(!base); | ||
109 | |||
110 | tzic_init_irq(base); | ||
111 | } | ||
112 | |||
113 | static struct sdma_platform_data imx51_sdma_pdata __initdata = { | ||
114 | .fw_name = "sdma-imx51.bin", | ||
115 | }; | ||
116 | |||
117 | static const struct resource imx51_audmux_res[] __initconst = { | ||
118 | DEFINE_RES_MEM(MX51_AUDMUX_BASE_ADDR, SZ_16K), | ||
119 | }; | ||
120 | |||
121 | void __init imx51_soc_init(void) | ||
122 | { | ||
123 | mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR)); | ||
124 | mxc_device_init(); | ||
125 | |||
126 | /* i.mx51 has the i.mx35 type gpio */ | ||
127 | mxc_register_gpio("imx35-gpio", 0, MX51_GPIO1_BASE_ADDR, SZ_16K, MX51_INT_GPIO1_LOW, MX51_INT_GPIO1_HIGH); | ||
128 | mxc_register_gpio("imx35-gpio", 1, MX51_GPIO2_BASE_ADDR, SZ_16K, MX51_INT_GPIO2_LOW, MX51_INT_GPIO2_HIGH); | ||
129 | mxc_register_gpio("imx35-gpio", 2, MX51_GPIO3_BASE_ADDR, SZ_16K, MX51_INT_GPIO3_LOW, MX51_INT_GPIO3_HIGH); | ||
130 | mxc_register_gpio("imx35-gpio", 3, MX51_GPIO4_BASE_ADDR, SZ_16K, MX51_INT_GPIO4_LOW, MX51_INT_GPIO4_HIGH); | ||
131 | |||
132 | pinctrl_provide_dummies(); | ||
133 | |||
134 | /* i.mx51 has the i.mx35 type sdma */ | ||
135 | imx_add_imx_sdma("imx35-sdma", MX51_SDMA_BASE_ADDR, MX51_INT_SDMA, &imx51_sdma_pdata); | ||
136 | |||
137 | /* Setup AIPS registers */ | ||
138 | imx_set_aips(MX51_IO_ADDRESS(MX51_AIPS1_BASE_ADDR)); | ||
139 | imx_set_aips(MX51_IO_ADDRESS(MX51_AIPS2_BASE_ADDR)); | ||
140 | |||
141 | /* i.mx51 has the i.mx31 type audmux */ | ||
142 | platform_device_register_simple("imx31-audmux", 0, imx51_audmux_res, | ||
143 | ARRAY_SIZE(imx51_audmux_res)); | ||
144 | } | ||
145 | |||
146 | void __init imx51_init_late(void) | ||
147 | { | ||
148 | mx51_neon_fixup(); | ||
149 | imx5_pm_init(); | ||
150 | } | ||
151 | |||
152 | void __init imx53_init_late(void) | ||
153 | { | ||
154 | imx5_pm_init(); | ||
155 | } | ||
diff --git a/arch/arm/mach-imx/mx1-camera-fiq-ksym.c b/arch/arm/mach-imx/mx1-camera-fiq-ksym.c deleted file mode 100644 index fb38436ca67f..000000000000 --- a/arch/arm/mach-imx/mx1-camera-fiq-ksym.c +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | /* | ||
2 | * Exported ksyms of ARCH_MX1 | ||
3 | * | ||
4 | * Copyright (C) 2008, Darius Augulis <augulis.darius@gmail.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/platform_device.h> | ||
12 | #include <linux/module.h> | ||
13 | |||
14 | #include <linux/platform_data/camera-mx1.h> | ||
15 | |||
16 | /* IMX camera FIQ handler */ | ||
17 | EXPORT_SYMBOL(mx1_camera_sof_fiq_start); | ||
18 | EXPORT_SYMBOL(mx1_camera_sof_fiq_end); | ||
diff --git a/arch/arm/mach-imx/mx1-camera-fiq.S b/arch/arm/mach-imx/mx1-camera-fiq.S deleted file mode 100644 index 9c69aa65bf17..000000000000 --- a/arch/arm/mach-imx/mx1-camera-fiq.S +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2008 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | ||
3 | * | ||
4 | * Based on linux/arch/arm/lib/floppydma.S | ||
5 | * Copyright (C) 1995, 1996 Russell King | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | #include <linux/linkage.h> | ||
12 | #include <asm/assembler.h> | ||
13 | |||
14 | .text | ||
15 | .global mx1_camera_sof_fiq_end | ||
16 | .global mx1_camera_sof_fiq_start | ||
17 | mx1_camera_sof_fiq_start: | ||
18 | @ enable dma | ||
19 | ldr r12, [r9] | ||
20 | orr r12, r12, #0x00000001 | ||
21 | str r12, [r9] | ||
22 | @ unmask DMA interrupt | ||
23 | ldr r12, [r8] | ||
24 | bic r12, r12, r13 | ||
25 | str r12, [r8] | ||
26 | @ disable SOF interrupt | ||
27 | ldr r12, [r10] | ||
28 | bic r12, r12, #0x00010000 | ||
29 | str r12, [r10] | ||
30 | @ clear SOF flag | ||
31 | mov r12, #0x00010000 | ||
32 | str r12, [r11] | ||
33 | @ return from FIQ | ||
34 | subs pc, lr, #4 | ||
35 | mx1_camera_sof_fiq_end: | ||
diff --git a/arch/arm/mach-imx/mx31moboard-devboard.c b/arch/arm/mach-imx/mx31moboard-devboard.c index 52d5b1574721..1e91a0918e83 100644 --- a/arch/arm/mach-imx/mx31moboard-devboard.c +++ b/arch/arm/mach-imx/mx31moboard-devboard.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include "common.h" | 25 | #include "common.h" |
26 | #include "devices-imx31.h" | 26 | #include "devices-imx31.h" |
27 | #include "ehci.h" | ||
27 | #include "hardware.h" | 28 | #include "hardware.h" |
28 | #include "iomux-mx3.h" | 29 | #include "iomux-mx3.h" |
29 | #include "ulpi.h" | 30 | #include "ulpi.h" |
@@ -213,10 +214,8 @@ static int __init devboard_usbh1_init(void) | |||
213 | usbh1_pdata.otg = phy; | 214 | usbh1_pdata.otg = phy; |
214 | 215 | ||
215 | pdev = imx31_add_mxc_ehci_hs(1, &usbh1_pdata); | 216 | pdev = imx31_add_mxc_ehci_hs(1, &usbh1_pdata); |
216 | if (IS_ERR(pdev)) | ||
217 | return PTR_ERR(pdev); | ||
218 | 217 | ||
219 | return 0; | 218 | return PTR_ERR_OR_ZERO(pdev); |
220 | } | 219 | } |
221 | 220 | ||
222 | 221 | ||
diff --git a/arch/arm/mach-imx/mx31moboard-marxbot.c b/arch/arm/mach-imx/mx31moboard-marxbot.c index a4f43e90f3c1..2e895a82a6eb 100644 --- a/arch/arm/mach-imx/mx31moboard-marxbot.c +++ b/arch/arm/mach-imx/mx31moboard-marxbot.c | |||
@@ -28,6 +28,7 @@ | |||
28 | 28 | ||
29 | #include "common.h" | 29 | #include "common.h" |
30 | #include "devices-imx31.h" | 30 | #include "devices-imx31.h" |
31 | #include "ehci.h" | ||
31 | #include "hardware.h" | 32 | #include "hardware.h" |
32 | #include "iomux-mx3.h" | 33 | #include "iomux-mx3.h" |
33 | #include "ulpi.h" | 34 | #include "ulpi.h" |
@@ -327,10 +328,8 @@ static int __init marxbot_usbh1_init(void) | |||
327 | usbh1_pdata.otg = phy; | 328 | usbh1_pdata.otg = phy; |
328 | 329 | ||
329 | pdev = imx31_add_mxc_ehci_hs(1, &usbh1_pdata); | 330 | pdev = imx31_add_mxc_ehci_hs(1, &usbh1_pdata); |
330 | if (IS_ERR(pdev)) | ||
331 | return PTR_ERR(pdev); | ||
332 | 331 | ||
333 | return 0; | 332 | return PTR_ERR_OR_ZERO(pdev); |
334 | } | 333 | } |
335 | 334 | ||
336 | static const struct fsl_usb2_platform_data usb_pdata __initconst = { | 335 | static const struct fsl_usb2_platform_data usb_pdata __initconst = { |
diff --git a/arch/arm/mach-imx/mx31moboard-smartbot.c b/arch/arm/mach-imx/mx31moboard-smartbot.c index 04ae45dbfaa7..89fc35a64448 100644 --- a/arch/arm/mach-imx/mx31moboard-smartbot.c +++ b/arch/arm/mach-imx/mx31moboard-smartbot.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include "board-mx31moboard.h" | 28 | #include "board-mx31moboard.h" |
29 | #include "common.h" | 29 | #include "common.h" |
30 | #include "devices-imx31.h" | 30 | #include "devices-imx31.h" |
31 | #include "ehci.h" | ||
31 | #include "hardware.h" | 32 | #include "hardware.h" |
32 | #include "iomux-mx3.h" | 33 | #include "iomux-mx3.h" |
33 | #include "ulpi.h" | 34 | #include "ulpi.h" |
@@ -141,10 +142,8 @@ static int __init smartbot_otg_host_init(void) | |||
141 | return -ENODEV; | 142 | return -ENODEV; |
142 | 143 | ||
143 | pdev = imx31_add_mxc_ehci_otg(&otg_host_pdata); | 144 | pdev = imx31_add_mxc_ehci_otg(&otg_host_pdata); |
144 | if (IS_ERR(pdev)) | ||
145 | return PTR_ERR(pdev); | ||
146 | 145 | ||
147 | return 0; | 146 | return PTR_ERR_OR_ZERO(pdev); |
148 | } | 147 | } |
149 | #else | 148 | #else |
150 | static inline int smartbot_otg_host_init(void) { return 0; } | 149 | static inline int smartbot_otg_host_init(void) { return 0; } |
diff --git a/arch/arm/mach-imx/mx51.h b/arch/arm/mach-imx/mx51.h deleted file mode 100644 index af844f76261a..000000000000 --- a/arch/arm/mach-imx/mx51.h +++ /dev/null | |||
@@ -1,346 +0,0 @@ | |||
1 | #ifndef __MACH_MX51_H__ | ||
2 | #define __MACH_MX51_H__ | ||
3 | |||
4 | /* | ||
5 | * IROM | ||
6 | */ | ||
7 | #define MX51_IROM_BASE_ADDR 0x0 | ||
8 | #define MX51_IROM_SIZE SZ_64K | ||
9 | |||
10 | /* | ||
11 | * IRAM | ||
12 | */ | ||
13 | #define MX51_IRAM_BASE_ADDR 0x1ffe0000 /* internal ram */ | ||
14 | #define MX51_IRAM_PARTITIONS 16 | ||
15 | #define MX51_IRAM_SIZE (MX51_IRAM_PARTITIONS * SZ_8K) /* 128KB */ | ||
16 | |||
17 | #define MX51_GPU_BASE_ADDR 0x20000000 | ||
18 | #define MX51_GPU_CTRL_BASE_ADDR 0x30000000 | ||
19 | #define MX51_IPU_CTRL_BASE_ADDR 0x40000000 | ||
20 | |||
21 | /* | ||
22 | * SPBA global module enabled #0 | ||
23 | */ | ||
24 | #define MX51_SPBA0_BASE_ADDR 0x70000000 | ||
25 | #define MX51_SPBA0_SIZE SZ_1M | ||
26 | |||
27 | #define MX51_ESDHC1_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x04000) | ||
28 | #define MX51_ESDHC2_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x08000) | ||
29 | #define MX51_UART3_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x0c000) | ||
30 | #define MX51_ECSPI1_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x10000) | ||
31 | #define MX51_SSI2_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x14000) | ||
32 | #define MX51_ESDHC3_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x20000) | ||
33 | #define MX51_ESDHC4_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x24000) | ||
34 | #define MX51_SPDIF_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x28000) | ||
35 | #define MX51_ATA_DMA_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x30000) | ||
36 | #define MX51_SLIM_DMA_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x34000) | ||
37 | #define MX51_HSI2C_DMA_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x38000) | ||
38 | #define MX51_SPBA_CTRL_BASE_ADDR (MX51_SPBA0_BASE_ADDR + 0x3c000) | ||
39 | |||
40 | /* | ||
41 | * AIPS 1 | ||
42 | */ | ||
43 | #define MX51_AIPS1_BASE_ADDR 0x73f00000 | ||
44 | #define MX51_AIPS1_SIZE SZ_1M | ||
45 | |||
46 | #define MX51_USB_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x80000) | ||
47 | #define MX51_USB_OTG_BASE_ADDR (MX51_USB_BASE_ADDR + 0x0000) | ||
48 | #define MX51_USB_HS1_BASE_ADDR (MX51_USB_BASE_ADDR + 0x0200) | ||
49 | #define MX51_USB_HS2_BASE_ADDR (MX51_USB_BASE_ADDR + 0x0400) | ||
50 | #define MX51_GPIO1_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x84000) | ||
51 | #define MX51_GPIO2_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x88000) | ||
52 | #define MX51_GPIO3_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x8c000) | ||
53 | #define MX51_GPIO4_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x90000) | ||
54 | #define MX51_KPP_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x94000) | ||
55 | #define MX51_WDOG1_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x98000) | ||
56 | #define MX51_WDOG2_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0x9c000) | ||
57 | #define MX51_GPT1_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xa0000) | ||
58 | #define MX51_SRTC_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xa4000) | ||
59 | #define MX51_IOMUXC_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xa8000) | ||
60 | #define MX51_EPIT1_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xac000) | ||
61 | #define MX51_EPIT2_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xb0000) | ||
62 | #define MX51_PWM1_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xb4000) | ||
63 | #define MX51_PWM2_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xb8000) | ||
64 | #define MX51_UART1_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xbc000) | ||
65 | #define MX51_UART2_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xc0000) | ||
66 | #define MX51_SRC_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xd0000) | ||
67 | #define MX51_CCM_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xd4000) | ||
68 | #define MX51_GPC_BASE_ADDR (MX51_AIPS1_BASE_ADDR + 0xd8000) | ||
69 | |||
70 | /* | ||
71 | * AIPS 2 | ||
72 | */ | ||
73 | #define MX51_AIPS2_BASE_ADDR 0x83f00000 | ||
74 | #define MX51_AIPS2_SIZE SZ_1M | ||
75 | |||
76 | #define MX51_PLL1_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0x80000) | ||
77 | #define MX51_PLL2_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0x84000) | ||
78 | #define MX51_PLL3_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0x88000) | ||
79 | #define MX51_AHBMAX_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0x94000) | ||
80 | #define MX51_IIM_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0x98000) | ||
81 | #define MX51_CSU_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0x9c000) | ||
82 | #define MX51_ARM_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xa0000) | ||
83 | #define MX51_OWIRE_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xa4000) | ||
84 | #define MX51_FIRI_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xa8000) | ||
85 | #define MX51_ECSPI2_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xac000) | ||
86 | #define MX51_SDMA_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xb0000) | ||
87 | #define MX51_SCC_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xb4000) | ||
88 | #define MX51_ROMCP_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xb8000) | ||
89 | #define MX51_RTIC_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xbc000) | ||
90 | #define MX51_CSPI_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xc0000) | ||
91 | #define MX51_I2C2_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xc4000) | ||
92 | #define MX51_I2C1_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xc8000) | ||
93 | #define MX51_SSI1_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xcc000) | ||
94 | #define MX51_AUDMUX_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xd0000) | ||
95 | #define MX51_M4IF_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xd8000) | ||
96 | #define MX51_ESDCTL_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xd9000) | ||
97 | #define MX51_WEIM_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xda000) | ||
98 | #define MX51_NFC_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xdb000) | ||
99 | #define MX51_EMI_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xdbf00) | ||
100 | #define MX51_MIPI_HSC_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xdc000) | ||
101 | #define MX51_ATA_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xe0000) | ||
102 | #define MX51_SIM_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xe4000) | ||
103 | #define MX51_SSI3_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xe8000) | ||
104 | #define MX51_FEC_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xec000) | ||
105 | #define MX51_TVE_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xf0000) | ||
106 | #define MX51_VPU_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xf4000) | ||
107 | #define MX51_SAHARA_BASE_ADDR (MX51_AIPS2_BASE_ADDR + 0xf8000) | ||
108 | |||
109 | #define MX51_CSD0_BASE_ADDR 0x90000000 | ||
110 | #define MX51_CSD1_BASE_ADDR 0xa0000000 | ||
111 | #define MX51_CS0_BASE_ADDR 0xb0000000 | ||
112 | #define MX51_CS1_BASE_ADDR 0xb8000000 | ||
113 | #define MX51_CS2_BASE_ADDR 0xc0000000 | ||
114 | #define MX51_CS3_BASE_ADDR 0xc8000000 | ||
115 | #define MX51_CS4_BASE_ADDR 0xcc000000 | ||
116 | #define MX51_CS5_BASE_ADDR 0xce000000 | ||
117 | |||
118 | /* | ||
119 | * NFC | ||
120 | */ | ||
121 | #define MX51_NFC_AXI_BASE_ADDR 0xcfff0000 /* NAND flash AXI */ | ||
122 | #define MX51_NFC_AXI_SIZE SZ_64K | ||
123 | |||
124 | #define MX51_GPU2D_BASE_ADDR 0xd0000000 | ||
125 | #define MX51_TZIC_BASE_ADDR 0xe0000000 | ||
126 | #define MX51_TZIC_SIZE SZ_16K | ||
127 | |||
128 | #define MX51_IO_P2V(x) IMX_IO_P2V(x) | ||
129 | #define MX51_IO_ADDRESS(x) IOMEM(MX51_IO_P2V(x)) | ||
130 | |||
131 | /* | ||
132 | * defines for SPBA modules | ||
133 | */ | ||
134 | #define MX51_SPBA_SDHC1 0x04 | ||
135 | #define MX51_SPBA_SDHC2 0x08 | ||
136 | #define MX51_SPBA_UART3 0x0c | ||
137 | #define MX51_SPBA_CSPI1 0x10 | ||
138 | #define MX51_SPBA_SSI2 0x14 | ||
139 | #define MX51_SPBA_SDHC3 0x20 | ||
140 | #define MX51_SPBA_SDHC4 0x24 | ||
141 | #define MX51_SPBA_SPDIF 0x28 | ||
142 | #define MX51_SPBA_ATA 0x30 | ||
143 | #define MX51_SPBA_SLIM 0x34 | ||
144 | #define MX51_SPBA_HSI2C 0x38 | ||
145 | #define MX51_SPBA_CTRL 0x3c | ||
146 | |||
147 | /* | ||
148 | * Defines for modules using static and dynamic DMA channels | ||
149 | */ | ||
150 | #define MX51_MXC_DMA_CHANNEL_IRAM 30 | ||
151 | #define MX51_MXC_DMA_CHANNEL_SPDIF_TX MXC_DMA_DYNAMIC_CHANNEL | ||
152 | #define MX51_MXC_DMA_CHANNEL_UART1_RX MXC_DMA_DYNAMIC_CHANNEL | ||
153 | #define MX51_MXC_DMA_CHANNEL_UART1_TX MXC_DMA_DYNAMIC_CHANNEL | ||
154 | #define MX51_MXC_DMA_CHANNEL_UART2_RX MXC_DMA_DYNAMIC_CHANNEL | ||
155 | #define MX51_MXC_DMA_CHANNEL_UART2_TX MXC_DMA_DYNAMIC_CHANNEL | ||
156 | #define MX51_MXC_DMA_CHANNEL_UART3_RX MXC_DMA_DYNAMIC_CHANNEL | ||
157 | #define MX51_MXC_DMA_CHANNEL_UART3_TX MXC_DMA_DYNAMIC_CHANNEL | ||
158 | #define MX51_MXC_DMA_CHANNEL_MMC1 MXC_DMA_DYNAMIC_CHANNEL | ||
159 | #define MX51_MXC_DMA_CHANNEL_MMC2 MXC_DMA_DYNAMIC_CHANNEL | ||
160 | #define MX51_MXC_DMA_CHANNEL_SSI1_RX MXC_DMA_DYNAMIC_CHANNEL | ||
161 | #define MX51_MXC_DMA_CHANNEL_SSI1_TX MXC_DMA_DYNAMIC_CHANNEL | ||
162 | #define MX51_MXC_DMA_CHANNEL_SSI2_RX MXC_DMA_DYNAMIC_CHANNEL | ||
163 | #ifdef CONFIG_SDMA_IRAM | ||
164 | #define MX51_MXC_DMA_CHANNEL_SSI2_TX (MX51_MXC_DMA_CHANNEL_IRAM + 1) | ||
165 | #else /*CONFIG_SDMA_IRAM */ | ||
166 | #define MX51_MXC_DMA_CHANNEL_SSI2_TX MXC_DMA_DYNAMIC_CHANNEL | ||
167 | #endif /*CONFIG_SDMA_IRAM */ | ||
168 | #define MX51_MXC_DMA_CHANNEL_CSPI1_RX MXC_DMA_DYNAMIC_CHANNEL | ||
169 | #define MX51_MXC_DMA_CHANNEL_CSPI1_TX MXC_DMA_DYNAMIC_CHANNEL | ||
170 | #define MX51_MXC_DMA_CHANNEL_CSPI2_RX MXC_DMA_DYNAMIC_CHANNEL | ||
171 | #define MX51_MXC_DMA_CHANNEL_CSPI2_TX MXC_DMA_DYNAMIC_CHANNEL | ||
172 | #define MX51_MXC_DMA_CHANNEL_CSPI3_RX MXC_DMA_DYNAMIC_CHANNEL | ||
173 | #define MX51_MXC_DMA_CHANNEL_CSPI3_TX MXC_DMA_DYNAMIC_CHANNEL | ||
174 | #define MX51_MXC_DMA_CHANNEL_ATA_RX MXC_DMA_DYNAMIC_CHANNEL | ||
175 | #define MX51_MXC_DMA_CHANNEL_ATA_TX MXC_DMA_DYNAMIC_CHANNEL | ||
176 | #define MX51_MXC_DMA_CHANNEL_MEMORY MXC_DMA_DYNAMIC_CHANNEL | ||
177 | |||
178 | #define MX51_IS_MEM_DEVICE_NONSHARED(x) 0 | ||
179 | |||
180 | /* | ||
181 | * DMA request assignments | ||
182 | */ | ||
183 | #define MX51_DMA_REQ_VPU 0 | ||
184 | #define MX51_DMA_REQ_GPC 1 | ||
185 | #define MX51_DMA_REQ_ATA_RX 2 | ||
186 | #define MX51_DMA_REQ_ATA_TX 3 | ||
187 | #define MX51_DMA_REQ_ATA_TX_END 4 | ||
188 | #define MX51_DMA_REQ_SLIM_B 5 | ||
189 | #define MX51_DMA_REQ_CSPI1_RX 6 | ||
190 | #define MX51_DMA_REQ_CSPI1_TX 7 | ||
191 | #define MX51_DMA_REQ_CSPI2_RX 8 | ||
192 | #define MX51_DMA_REQ_CSPI2_TX 9 | ||
193 | #define MX51_DMA_REQ_HS_I2C_TX 10 | ||
194 | #define MX51_DMA_REQ_HS_I2C_RX 11 | ||
195 | #define MX51_DMA_REQ_FIRI_RX 12 | ||
196 | #define MX51_DMA_REQ_FIRI_TX 13 | ||
197 | #define MX51_DMA_REQ_EXTREQ1 14 | ||
198 | #define MX51_DMA_REQ_GPU 15 | ||
199 | #define MX51_DMA_REQ_UART2_RX 16 | ||
200 | #define MX51_DMA_REQ_UART2_TX 17 | ||
201 | #define MX51_DMA_REQ_UART1_RX 18 | ||
202 | #define MX51_DMA_REQ_UART1_TX 19 | ||
203 | #define MX51_DMA_REQ_SDHC1 20 | ||
204 | #define MX51_DMA_REQ_SDHC2 21 | ||
205 | #define MX51_DMA_REQ_SSI2_RX1 22 | ||
206 | #define MX51_DMA_REQ_SSI2_TX1 23 | ||
207 | #define MX51_DMA_REQ_SSI2_RX0 24 | ||
208 | #define MX51_DMA_REQ_SSI2_TX0 25 | ||
209 | #define MX51_DMA_REQ_SSI1_RX1 26 | ||
210 | #define MX51_DMA_REQ_SSI1_TX1 27 | ||
211 | #define MX51_DMA_REQ_SSI1_RX0 28 | ||
212 | #define MX51_DMA_REQ_SSI1_TX0 29 | ||
213 | #define MX51_DMA_REQ_EMI_RD 30 | ||
214 | #define MX51_DMA_REQ_CTI2_0 31 | ||
215 | #define MX51_DMA_REQ_EMI_WR 32 | ||
216 | #define MX51_DMA_REQ_CTI2_1 33 | ||
217 | #define MX51_DMA_REQ_EPIT2 34 | ||
218 | #define MX51_DMA_REQ_SSI3_RX1 35 | ||
219 | #define MX51_DMA_REQ_IPU 36 | ||
220 | #define MX51_DMA_REQ_SSI3_TX1 37 | ||
221 | #define MX51_DMA_REQ_CSPI_RX 38 | ||
222 | #define MX51_DMA_REQ_CSPI_TX 39 | ||
223 | #define MX51_DMA_REQ_SDHC3 40 | ||
224 | #define MX51_DMA_REQ_SDHC4 41 | ||
225 | #define MX51_DMA_REQ_SLIM_B_TX 42 | ||
226 | #define MX51_DMA_REQ_UART3_RX 43 | ||
227 | #define MX51_DMA_REQ_UART3_TX 44 | ||
228 | #define MX51_DMA_REQ_SPDIF 45 | ||
229 | #define MX51_DMA_REQ_SSI3_RX0 46 | ||
230 | #define MX51_DMA_REQ_SSI3_TX0 47 | ||
231 | |||
232 | /* | ||
233 | * Interrupt numbers | ||
234 | */ | ||
235 | #include <asm/irq.h> | ||
236 | #define MX51_INT_BASE (NR_IRQS_LEGACY + 0) | ||
237 | #define MX51_INT_RESV0 (NR_IRQS_LEGACY + 0) | ||
238 | #define MX51_INT_ESDHC1 (NR_IRQS_LEGACY + 1) | ||
239 | #define MX51_INT_ESDHC2 (NR_IRQS_LEGACY + 2) | ||
240 | #define MX51_INT_ESDHC3 (NR_IRQS_LEGACY + 3) | ||
241 | #define MX51_INT_ESDHC4 (NR_IRQS_LEGACY + 4) | ||
242 | #define MX51_INT_RESV5 (NR_IRQS_LEGACY + 5) | ||
243 | #define MX51_INT_SDMA (NR_IRQS_LEGACY + 6) | ||
244 | #define MX51_INT_IOMUX (NR_IRQS_LEGACY + 7) | ||
245 | #define MX51_INT_NFC (NR_IRQS_LEGACY + 8) | ||
246 | #define MX51_INT_VPU (NR_IRQS_LEGACY + 9) | ||
247 | #define MX51_INT_IPU_ERR (NR_IRQS_LEGACY + 10) | ||
248 | #define MX51_INT_IPU_SYN (NR_IRQS_LEGACY + 11) | ||
249 | #define MX51_INT_GPU (NR_IRQS_LEGACY + 12) | ||
250 | #define MX51_INT_RESV13 (NR_IRQS_LEGACY + 13) | ||
251 | #define MX51_INT_USB_HS1 (NR_IRQS_LEGACY + 14) | ||
252 | #define MX51_INT_EMI (NR_IRQS_LEGACY + 15) | ||
253 | #define MX51_INT_USB_HS2 (NR_IRQS_LEGACY + 16) | ||
254 | #define MX51_INT_USB_HS3 (NR_IRQS_LEGACY + 17) | ||
255 | #define MX51_INT_USB_OTG (NR_IRQS_LEGACY + 18) | ||
256 | #define MX51_INT_SAHARA_H0 (NR_IRQS_LEGACY + 19) | ||
257 | #define MX51_INT_SAHARA_H1 (NR_IRQS_LEGACY + 20) | ||
258 | #define MX51_INT_SCC_SMN (NR_IRQS_LEGACY + 21) | ||
259 | #define MX51_INT_SCC_STZ (NR_IRQS_LEGACY + 22) | ||
260 | #define MX51_INT_SCC_SCM (NR_IRQS_LEGACY + 23) | ||
261 | #define MX51_INT_SRTC_NTZ (NR_IRQS_LEGACY + 24) | ||
262 | #define MX51_INT_SRTC_TZ (NR_IRQS_LEGACY + 25) | ||
263 | #define MX51_INT_RTIC (NR_IRQS_LEGACY + 26) | ||
264 | #define MX51_INT_CSU (NR_IRQS_LEGACY + 27) | ||
265 | #define MX51_INT_SLIM_B (NR_IRQS_LEGACY + 28) | ||
266 | #define MX51_INT_SSI1 (NR_IRQS_LEGACY + 29) | ||
267 | #define MX51_INT_SSI2 (NR_IRQS_LEGACY + 30) | ||
268 | #define MX51_INT_UART1 (NR_IRQS_LEGACY + 31) | ||
269 | #define MX51_INT_UART2 (NR_IRQS_LEGACY + 32) | ||
270 | #define MX51_INT_UART3 (NR_IRQS_LEGACY + 33) | ||
271 | #define MX51_INT_RESV34 (NR_IRQS_LEGACY + 34) | ||
272 | #define MX51_INT_RESV35 (NR_IRQS_LEGACY + 35) | ||
273 | #define MX51_INT_ECSPI1 (NR_IRQS_LEGACY + 36) | ||
274 | #define MX51_INT_ECSPI2 (NR_IRQS_LEGACY + 37) | ||
275 | #define MX51_INT_CSPI (NR_IRQS_LEGACY + 38) | ||
276 | #define MX51_INT_GPT (NR_IRQS_LEGACY + 39) | ||
277 | #define MX51_INT_EPIT1 (NR_IRQS_LEGACY + 40) | ||
278 | #define MX51_INT_EPIT2 (NR_IRQS_LEGACY + 41) | ||
279 | #define MX51_INT_GPIO1_INT7 (NR_IRQS_LEGACY + 42) | ||
280 | #define MX51_INT_GPIO1_INT6 (NR_IRQS_LEGACY + 43) | ||
281 | #define MX51_INT_GPIO1_INT5 (NR_IRQS_LEGACY + 44) | ||
282 | #define MX51_INT_GPIO1_INT4 (NR_IRQS_LEGACY + 45) | ||
283 | #define MX51_INT_GPIO1_INT3 (NR_IRQS_LEGACY + 46) | ||
284 | #define MX51_INT_GPIO1_INT2 (NR_IRQS_LEGACY + 47) | ||
285 | #define MX51_INT_GPIO1_INT1 (NR_IRQS_LEGACY + 48) | ||
286 | #define MX51_INT_GPIO1_INT0 (NR_IRQS_LEGACY + 49) | ||
287 | #define MX51_INT_GPIO1_LOW (NR_IRQS_LEGACY + 50) | ||
288 | #define MX51_INT_GPIO1_HIGH (NR_IRQS_LEGACY + 51) | ||
289 | #define MX51_INT_GPIO2_LOW (NR_IRQS_LEGACY + 52) | ||
290 | #define MX51_INT_GPIO2_HIGH (NR_IRQS_LEGACY + 53) | ||
291 | #define MX51_INT_GPIO3_LOW (NR_IRQS_LEGACY + 54) | ||
292 | #define MX51_INT_GPIO3_HIGH (NR_IRQS_LEGACY + 55) | ||
293 | #define MX51_INT_GPIO4_LOW (NR_IRQS_LEGACY + 56) | ||
294 | #define MX51_INT_GPIO4_HIGH (NR_IRQS_LEGACY + 57) | ||
295 | #define MX51_INT_WDOG1 (NR_IRQS_LEGACY + 58) | ||
296 | #define MX51_INT_WDOG2 (NR_IRQS_LEGACY + 59) | ||
297 | #define MX51_INT_KPP (NR_IRQS_LEGACY + 60) | ||
298 | #define MX51_INT_PWM1 (NR_IRQS_LEGACY + 61) | ||
299 | #define MX51_INT_I2C1 (NR_IRQS_LEGACY + 62) | ||
300 | #define MX51_INT_I2C2 (NR_IRQS_LEGACY + 63) | ||
301 | #define MX51_INT_HS_I2C (NR_IRQS_LEGACY + 64) | ||
302 | #define MX51_INT_RESV65 (NR_IRQS_LEGACY + 65) | ||
303 | #define MX51_INT_RESV66 (NR_IRQS_LEGACY + 66) | ||
304 | #define MX51_INT_SIM_IPB (NR_IRQS_LEGACY + 67) | ||
305 | #define MX51_INT_SIM_DAT (NR_IRQS_LEGACY + 68) | ||
306 | #define MX51_INT_IIM (NR_IRQS_LEGACY + 69) | ||
307 | #define MX51_INT_ATA (NR_IRQS_LEGACY + 70) | ||
308 | #define MX51_INT_CCM1 (NR_IRQS_LEGACY + 71) | ||
309 | #define MX51_INT_CCM2 (NR_IRQS_LEGACY + 72) | ||
310 | #define MX51_INT_GPC1 (NR_IRQS_LEGACY + 73) | ||
311 | #define MX51_INT_GPC2 (NR_IRQS_LEGACY + 74) | ||
312 | #define MX51_INT_SRC (NR_IRQS_LEGACY + 75) | ||
313 | #define MX51_INT_NM (NR_IRQS_LEGACY + 76) | ||
314 | #define MX51_INT_PMU (NR_IRQS_LEGACY + 77) | ||
315 | #define MX51_INT_CTI_IRQ (NR_IRQS_LEGACY + 78) | ||
316 | #define MX51_INT_CTI1_TG0 (NR_IRQS_LEGACY + 79) | ||
317 | #define MX51_INT_CTI1_TG1 (NR_IRQS_LEGACY + 80) | ||
318 | #define MX51_INT_MCG_ERR (NR_IRQS_LEGACY + 81) | ||
319 | #define MX51_INT_MCG_TMR (NR_IRQS_LEGACY + 82) | ||
320 | #define MX51_INT_MCG_FUNC (NR_IRQS_LEGACY + 83) | ||
321 | #define MX51_INT_GPU2_IRQ (NR_IRQS_LEGACY + 84) | ||
322 | #define MX51_INT_GPU2_BUSY (NR_IRQS_LEGACY + 85) | ||
323 | #define MX51_INT_RESV86 (NR_IRQS_LEGACY + 86) | ||
324 | #define MX51_INT_FEC (NR_IRQS_LEGACY + 87) | ||
325 | #define MX51_INT_OWIRE (NR_IRQS_LEGACY + 88) | ||
326 | #define MX51_INT_CTI1_TG2 (NR_IRQS_LEGACY + 89) | ||
327 | #define MX51_INT_SJC (NR_IRQS_LEGACY + 90) | ||
328 | #define MX51_INT_SPDIF (NR_IRQS_LEGACY + 91) | ||
329 | #define MX51_INT_TVE (NR_IRQS_LEGACY + 92) | ||
330 | #define MX51_INT_FIRI (NR_IRQS_LEGACY + 93) | ||
331 | #define MX51_INT_PWM2 (NR_IRQS_LEGACY + 94) | ||
332 | #define MX51_INT_SLIM_EXP (NR_IRQS_LEGACY + 95) | ||
333 | #define MX51_INT_SSI3 (NR_IRQS_LEGACY + 96) | ||
334 | #define MX51_INT_EMI_BOOT (NR_IRQS_LEGACY + 97) | ||
335 | #define MX51_INT_CTI1_TG3 (NR_IRQS_LEGACY + 98) | ||
336 | #define MX51_INT_SMC_RX (NR_IRQS_LEGACY + 99) | ||
337 | #define MX51_INT_VPU_IDLE (NR_IRQS_LEGACY + 100) | ||
338 | #define MX51_INT_EMI_NFC (NR_IRQS_LEGACY + 101) | ||
339 | #define MX51_INT_GPU_IDLE (NR_IRQS_LEGACY + 102) | ||
340 | |||
341 | #if !defined(__ASSEMBLY__) && !defined(__MXC_BOOT_UNCOMPRESS) | ||
342 | extern int mx51_revision(void); | ||
343 | extern void mx51_display_revision(void); | ||
344 | #endif | ||
345 | |||
346 | #endif /* ifndef __MACH_MX51_H__ */ | ||
diff --git a/arch/arm/mach-imx/mx53.h b/arch/arm/mach-imx/mx53.h deleted file mode 100644 index f829d1c22501..000000000000 --- a/arch/arm/mach-imx/mx53.h +++ /dev/null | |||
@@ -1,342 +0,0 @@ | |||
1 | #ifndef __MACH_MX53_H__ | ||
2 | #define __MACH_MX53_H__ | ||
3 | |||
4 | /* | ||
5 | * IROM | ||
6 | */ | ||
7 | #define MX53_IROM_BASE_ADDR 0x0 | ||
8 | #define MX53_IROM_SIZE SZ_64K | ||
9 | |||
10 | /* TZIC */ | ||
11 | #define MX53_TZIC_BASE_ADDR 0x0FFFC000 | ||
12 | #define MX53_TZIC_SIZE SZ_16K | ||
13 | |||
14 | /* | ||
15 | * AHCI SATA | ||
16 | */ | ||
17 | #define MX53_SATA_BASE_ADDR 0x10000000 | ||
18 | |||
19 | /* | ||
20 | * NFC | ||
21 | */ | ||
22 | #define MX53_NFC_AXI_BASE_ADDR 0xF7FF0000 /* NAND flash AXI */ | ||
23 | #define MX53_NFC_AXI_SIZE SZ_64K | ||
24 | |||
25 | /* | ||
26 | * IRAM | ||
27 | */ | ||
28 | #define MX53_IRAM_BASE_ADDR 0xF8000000 /* internal ram */ | ||
29 | #define MX53_IRAM_PARTITIONS 16 | ||
30 | #define MX53_IRAM_SIZE (MX53_IRAM_PARTITIONS * SZ_8K) /* 128KB */ | ||
31 | |||
32 | /* | ||
33 | * Graphics Memory of GPU | ||
34 | */ | ||
35 | #define MX53_IPU_CTRL_BASE_ADDR 0x18000000 | ||
36 | #define MX53_GPU2D_BASE_ADDR 0x20000000 | ||
37 | #define MX53_GPU_BASE_ADDR 0x30000000 | ||
38 | #define MX53_GPU_GMEM_BASE_ADDR 0xF8020000 | ||
39 | |||
40 | #define MX53_DEBUG_BASE_ADDR 0x40000000 | ||
41 | #define MX53_DEBUG_SIZE SZ_1M | ||
42 | #define MX53_ETB_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00001000) | ||
43 | #define MX53_ETM_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00002000) | ||
44 | #define MX53_TPIU_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00003000) | ||
45 | #define MX53_CTI0_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00004000) | ||
46 | #define MX53_CTI1_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00005000) | ||
47 | #define MX53_CTI2_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00006000) | ||
48 | #define MX53_CTI3_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00007000) | ||
49 | #define MX53_CORTEX_DBG_BASE_ADDR (MX53_DEBUG_BASE_ADDR + 0x00008000) | ||
50 | |||
51 | /* | ||
52 | * SPBA global module enabled #0 | ||
53 | */ | ||
54 | #define MX53_SPBA0_BASE_ADDR 0x50000000 | ||
55 | #define MX53_SPBA0_SIZE SZ_1M | ||
56 | |||
57 | #define MX53_ESDHC1_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00004000) | ||
58 | #define MX53_ESDHC2_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00008000) | ||
59 | #define MX53_UART3_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x0000C000) | ||
60 | #define MX53_ECSPI1_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00010000) | ||
61 | #define MX53_SSI2_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00014000) | ||
62 | #define MX53_ESDHC3_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00020000) | ||
63 | #define MX53_ESDHC4_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00024000) | ||
64 | #define MX53_SPDIF_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00028000) | ||
65 | #define MX53_ASRC_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x0002C000) | ||
66 | #define MX53_ATA_DMA_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00030000) | ||
67 | #define MX53_SLIM_DMA_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00034000) | ||
68 | #define MX53_HSI2C_DMA_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00038000) | ||
69 | #define MX53_SPBA_CTRL_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x0003C000) | ||
70 | |||
71 | /* | ||
72 | * AIPS 1 | ||
73 | */ | ||
74 | #define MX53_AIPS1_BASE_ADDR 0x53F00000 | ||
75 | #define MX53_AIPS1_SIZE SZ_1M | ||
76 | |||
77 | #define MX53_OTG_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x00080000) | ||
78 | #define MX53_GPIO1_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x00084000) | ||
79 | #define MX53_GPIO2_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x00088000) | ||
80 | #define MX53_GPIO3_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x0008C000) | ||
81 | #define MX53_GPIO4_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x00090000) | ||
82 | #define MX53_KPP_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x00094000) | ||
83 | #define MX53_WDOG1_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x00098000) | ||
84 | #define MX53_WDOG2_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x0009C000) | ||
85 | #define MX53_GPT1_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000A0000) | ||
86 | #define MX53_SRTC_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000A4000) | ||
87 | #define MX53_IOMUXC_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000A8000) | ||
88 | #define MX53_EPIT1_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000AC000) | ||
89 | #define MX53_EPIT2_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000B0000) | ||
90 | #define MX53_PWM1_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000B4000) | ||
91 | #define MX53_PWM2_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000B8000) | ||
92 | #define MX53_UART1_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000BC000) | ||
93 | #define MX53_UART2_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000C0000) | ||
94 | #define MX53_SRC_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000D0000) | ||
95 | #define MX53_CCM_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000D4000) | ||
96 | #define MX53_GPC_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000D8000) | ||
97 | #define MX53_GPIO5_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000DC000) | ||
98 | #define MX53_GPIO6_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000E0000) | ||
99 | #define MX53_GPIO7_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000E4000) | ||
100 | #define MX53_ATA_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000E8000) | ||
101 | #define MX53_I2C3_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000EC000) | ||
102 | #define MX53_UART4_BASE_ADDR (MX53_AIPS1_BASE_ADDR + 0x000F0000) | ||
103 | |||
104 | /* | ||
105 | * AIPS 2 | ||
106 | */ | ||
107 | #define MX53_AIPS2_BASE_ADDR 0x63F00000 | ||
108 | #define MX53_AIPS2_SIZE SZ_1M | ||
109 | |||
110 | #define MX53_PLL1_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x00080000) | ||
111 | #define MX53_PLL2_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x00084000) | ||
112 | #define MX53_PLL3_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x00088000) | ||
113 | #define MX53_PLL4_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x0008C000) | ||
114 | #define MX53_UART5_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x00090000) | ||
115 | #define MX53_AHBMAX_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x00094000) | ||
116 | #define MX53_IIM_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x00098000) | ||
117 | #define MX53_CSU_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x0009C000) | ||
118 | #define MX53_ARM_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000A0000) | ||
119 | #define MX53_OWIRE_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000A4000) | ||
120 | #define MX53_FIRI_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000A8000) | ||
121 | #define MX53_ECSPI2_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000AC000) | ||
122 | #define MX53_SDMA_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000B0000) | ||
123 | #define MX53_SCC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000B4000) | ||
124 | #define MX53_ROMCP_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000B8000) | ||
125 | #define MX53_RTIC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000BC000) | ||
126 | #define MX53_CSPI_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000C0000) | ||
127 | #define MX53_I2C2_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000C4000) | ||
128 | #define MX53_I2C1_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000C8000) | ||
129 | #define MX53_SSI1_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000CC000) | ||
130 | #define MX53_AUDMUX_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000D0000) | ||
131 | #define MX53_RTC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000D4000) | ||
132 | #define MX53_M4IF_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000D8000) | ||
133 | #define MX53_ESDCTL_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000D9000) | ||
134 | #define MX53_WEIM_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000DA000) | ||
135 | #define MX53_NFC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000DB000) | ||
136 | #define MX53_EMI_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000DBF00) | ||
137 | #define MX53_MIPI_HSC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000DC000) | ||
138 | #define MX53_MLB_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000E4000) | ||
139 | #define MX53_SSI3_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000E8000) | ||
140 | #define MX53_FEC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000EC000) | ||
141 | #define MX53_TVE_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000F0000) | ||
142 | #define MX53_VPU_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000F4000) | ||
143 | #define MX53_SAHARA_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000F8000) | ||
144 | #define MX53_PTP_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000FC000) | ||
145 | |||
146 | /* | ||
147 | * Memory regions and CS | ||
148 | */ | ||
149 | #define MX53_CSD0_BASE_ADDR 0x70000000 | ||
150 | #define MX53_CSD1_BASE_ADDR 0xB0000000 | ||
151 | #define MX53_CS0_BASE_ADDR 0xF0000000 | ||
152 | #define MX53_CS1_32MB_BASE_ADDR 0xF2000000 | ||
153 | #define MX53_CS1_64MB_BASE_ADDR 0xF4000000 | ||
154 | #define MX53_CS2_64MB_BASE_ADDR 0xF4000000 | ||
155 | #define MX53_CS2_96MB_BASE_ADDR 0xF6000000 | ||
156 | #define MX53_CS3_BASE_ADDR 0xF6000000 | ||
157 | |||
158 | #define MX53_IO_P2V(x) IMX_IO_P2V(x) | ||
159 | #define MX53_IO_ADDRESS(x) IOMEM(MX53_IO_P2V(x)) | ||
160 | |||
161 | /* | ||
162 | * defines for SPBA modules | ||
163 | */ | ||
164 | #define MX53_SPBA_SDHC1 0x04 | ||
165 | #define MX53_SPBA_SDHC2 0x08 | ||
166 | #define MX53_SPBA_UART3 0x0C | ||
167 | #define MX53_SPBA_CSPI1 0x10 | ||
168 | #define MX53_SPBA_SSI2 0x14 | ||
169 | #define MX53_SPBA_SDHC3 0x20 | ||
170 | #define MX53_SPBA_SDHC4 0x24 | ||
171 | #define MX53_SPBA_SPDIF 0x28 | ||
172 | #define MX53_SPBA_ATA 0x30 | ||
173 | #define MX53_SPBA_SLIM 0x34 | ||
174 | #define MX53_SPBA_HSI2C 0x38 | ||
175 | #define MX53_SPBA_CTRL 0x3C | ||
176 | |||
177 | /* | ||
178 | * DMA request assignments | ||
179 | */ | ||
180 | #define MX53_DMA_REQ_SSI3_TX0 47 | ||
181 | #define MX53_DMA_REQ_SSI3_RX0 46 | ||
182 | #define MX53_DMA_REQ_SSI3_TX1 45 | ||
183 | #define MX53_DMA_REQ_SSI3_RX1 44 | ||
184 | #define MX53_DMA_REQ_UART3_TX 43 | ||
185 | #define MX53_DMA_REQ_UART3_RX 42 | ||
186 | #define MX53_DMA_REQ_ESAI_TX 41 | ||
187 | #define MX53_DMA_REQ_ESAI_RX 40 | ||
188 | #define MX53_DMA_REQ_CSPI_TX 39 | ||
189 | #define MX53_DMA_REQ_CSPI_RX 38 | ||
190 | #define MX53_DMA_REQ_ASRC_DMA6 37 | ||
191 | #define MX53_DMA_REQ_ASRC_DMA5 36 | ||
192 | #define MX53_DMA_REQ_ASRC_DMA4 35 | ||
193 | #define MX53_DMA_REQ_ASRC_DMA3 34 | ||
194 | #define MX53_DMA_REQ_ASRC_DMA2 33 | ||
195 | #define MX53_DMA_REQ_ASRC_DMA1 32 | ||
196 | #define MX53_DMA_REQ_EMI_WR 31 | ||
197 | #define MX53_DMA_REQ_EMI_RD 30 | ||
198 | #define MX53_DMA_REQ_SSI1_TX0 29 | ||
199 | #define MX53_DMA_REQ_SSI1_RX0 28 | ||
200 | #define MX53_DMA_REQ_SSI1_TX1 27 | ||
201 | #define MX53_DMA_REQ_SSI1_RX1 26 | ||
202 | #define MX53_DMA_REQ_SSI2_TX0 25 | ||
203 | #define MX53_DMA_REQ_SSI2_RX0 24 | ||
204 | #define MX53_DMA_REQ_SSI2_TX1 23 | ||
205 | #define MX53_DMA_REQ_SSI2_RX1 22 | ||
206 | #define MX53_DMA_REQ_I2C2_SDHC2 21 | ||
207 | #define MX53_DMA_REQ_I2C1_SDHC1 20 | ||
208 | #define MX53_DMA_REQ_UART1_TX 19 | ||
209 | #define MX53_DMA_REQ_UART1_RX 18 | ||
210 | #define MX53_DMA_REQ_UART5_TX 17 | ||
211 | #define MX53_DMA_REQ_UART5_RX 16 | ||
212 | #define MX53_DMA_REQ_SPDIF_TX 15 | ||
213 | #define MX53_DMA_REQ_SPDIF_RX 14 | ||
214 | #define MX53_DMA_REQ_UART2_FIRI_TX 13 | ||
215 | #define MX53_DMA_REQ_UART2_FIRI_RX 12 | ||
216 | #define MX53_DMA_REQ_SDHC4 11 | ||
217 | #define MX53_DMA_REQ_I2C3_SDHC3 10 | ||
218 | #define MX53_DMA_REQ_CSPI2_TX 9 | ||
219 | #define MX53_DMA_REQ_CSPI2_RX 8 | ||
220 | #define MX53_DMA_REQ_CSPI1_TX 7 | ||
221 | #define MX53_DMA_REQ_CSPI1_RX 6 | ||
222 | #define MX53_DMA_REQ_IPU 5 | ||
223 | #define MX53_DMA_REQ_ATA_TX_END 4 | ||
224 | #define MX53_DMA_REQ_ATA_UART4_TX 3 | ||
225 | #define MX53_DMA_REQ_ATA_UART4_RX 2 | ||
226 | #define MX53_DMA_REQ_GPC 1 | ||
227 | #define MX53_DMA_REQ_VPU 0 | ||
228 | |||
229 | /* | ||
230 | * Interrupt numbers | ||
231 | */ | ||
232 | #include <asm/irq.h> | ||
233 | #define MX53_INT_RESV0 (NR_IRQS_LEGACY + 0) | ||
234 | #define MX53_INT_ESDHC1 (NR_IRQS_LEGACY + 1) | ||
235 | #define MX53_INT_ESDHC2 (NR_IRQS_LEGACY + 2) | ||
236 | #define MX53_INT_ESDHC3 (NR_IRQS_LEGACY + 3) | ||
237 | #define MX53_INT_ESDHC4 (NR_IRQS_LEGACY + 4) | ||
238 | #define MX53_INT_DAP (NR_IRQS_LEGACY + 5) | ||
239 | #define MX53_INT_SDMA (NR_IRQS_LEGACY + 6) | ||
240 | #define MX53_INT_IOMUX (NR_IRQS_LEGACY + 7) | ||
241 | #define MX53_INT_NFC (NR_IRQS_LEGACY + 8) | ||
242 | #define MX53_INT_VPU (NR_IRQS_LEGACY + 9) | ||
243 | #define MX53_INT_IPU_ERR (NR_IRQS_LEGACY + 10) | ||
244 | #define MX53_INT_IPU_SYN (NR_IRQS_LEGACY + 11) | ||
245 | #define MX53_INT_GPU (NR_IRQS_LEGACY + 12) | ||
246 | #define MX53_INT_UART4 (NR_IRQS_LEGACY + 13) | ||
247 | #define MX53_INT_USB_H1 (NR_IRQS_LEGACY + 14) | ||
248 | #define MX53_INT_EMI (NR_IRQS_LEGACY + 15) | ||
249 | #define MX53_INT_USB_H2 (NR_IRQS_LEGACY + 16) | ||
250 | #define MX53_INT_USB_H3 (NR_IRQS_LEGACY + 17) | ||
251 | #define MX53_INT_USB_OTG (NR_IRQS_LEGACY + 18) | ||
252 | #define MX53_INT_SAHARA_H0 (NR_IRQS_LEGACY + 19) | ||
253 | #define MX53_INT_SAHARA_H1 (NR_IRQS_LEGACY + 20) | ||
254 | #define MX53_INT_SCC_SMN (NR_IRQS_LEGACY + 21) | ||
255 | #define MX53_INT_SCC_STZ (NR_IRQS_LEGACY + 22) | ||
256 | #define MX53_INT_SCC_SCM (NR_IRQS_LEGACY + 23) | ||
257 | #define MX53_INT_SRTC_NTZ (NR_IRQS_LEGACY + 24) | ||
258 | #define MX53_INT_SRTC_TZ (NR_IRQS_LEGACY + 25) | ||
259 | #define MX53_INT_RTIC (NR_IRQS_LEGACY + 26) | ||
260 | #define MX53_INT_CSU (NR_IRQS_LEGACY + 27) | ||
261 | #define MX53_INT_SATA (NR_IRQS_LEGACY + 28) | ||
262 | #define MX53_INT_SSI1 (NR_IRQS_LEGACY + 29) | ||
263 | #define MX53_INT_SSI2 (NR_IRQS_LEGACY + 30) | ||
264 | #define MX53_INT_UART1 (NR_IRQS_LEGACY + 31) | ||
265 | #define MX53_INT_UART2 (NR_IRQS_LEGACY + 32) | ||
266 | #define MX53_INT_UART3 (NR_IRQS_LEGACY + 33) | ||
267 | #define MX53_INT_RTC (NR_IRQS_LEGACY + 34) | ||
268 | #define MX53_INT_PTP (NR_IRQS_LEGACY + 35) | ||
269 | #define MX53_INT_ECSPI1 (NR_IRQS_LEGACY + 36) | ||
270 | #define MX53_INT_ECSPI2 (NR_IRQS_LEGACY + 37) | ||
271 | #define MX53_INT_CSPI (NR_IRQS_LEGACY + 38) | ||
272 | #define MX53_INT_GPT (NR_IRQS_LEGACY + 39) | ||
273 | #define MX53_INT_EPIT1 (NR_IRQS_LEGACY + 40) | ||
274 | #define MX53_INT_EPIT2 (NR_IRQS_LEGACY + 41) | ||
275 | #define MX53_INT_GPIO1_INT7 (NR_IRQS_LEGACY + 42) | ||
276 | #define MX53_INT_GPIO1_INT6 (NR_IRQS_LEGACY + 43) | ||
277 | #define MX53_INT_GPIO1_INT5 (NR_IRQS_LEGACY + 44) | ||
278 | #define MX53_INT_GPIO1_INT4 (NR_IRQS_LEGACY + 45) | ||
279 | #define MX53_INT_GPIO1_INT3 (NR_IRQS_LEGACY + 46) | ||
280 | #define MX53_INT_GPIO1_INT2 (NR_IRQS_LEGACY + 47) | ||
281 | #define MX53_INT_GPIO1_INT1 (NR_IRQS_LEGACY + 48) | ||
282 | #define MX53_INT_GPIO1_INT0 (NR_IRQS_LEGACY + 49) | ||
283 | #define MX53_INT_GPIO1_LOW (NR_IRQS_LEGACY + 50) | ||
284 | #define MX53_INT_GPIO1_HIGH (NR_IRQS_LEGACY + 51) | ||
285 | #define MX53_INT_GPIO2_LOW (NR_IRQS_LEGACY + 52) | ||
286 | #define MX53_INT_GPIO2_HIGH (NR_IRQS_LEGACY + 53) | ||
287 | #define MX53_INT_GPIO3_LOW (NR_IRQS_LEGACY + 54) | ||
288 | #define MX53_INT_GPIO3_HIGH (NR_IRQS_LEGACY + 55) | ||
289 | #define MX53_INT_GPIO4_LOW (NR_IRQS_LEGACY + 56) | ||
290 | #define MX53_INT_GPIO4_HIGH (NR_IRQS_LEGACY + 57) | ||
291 | #define MX53_INT_WDOG1 (NR_IRQS_LEGACY + 58) | ||
292 | #define MX53_INT_WDOG2 (NR_IRQS_LEGACY + 59) | ||
293 | #define MX53_INT_KPP (NR_IRQS_LEGACY + 60) | ||
294 | #define MX53_INT_PWM1 (NR_IRQS_LEGACY + 61) | ||
295 | #define MX53_INT_I2C1 (NR_IRQS_LEGACY + 62) | ||
296 | #define MX53_INT_I2C2 (NR_IRQS_LEGACY + 63) | ||
297 | #define MX53_INT_I2C3 (NR_IRQS_LEGACY + 64) | ||
298 | #define MX53_INT_MLB (NR_IRQS_LEGACY + 65) | ||
299 | #define MX53_INT_ASRC (NR_IRQS_LEGACY + 66) | ||
300 | #define MX53_INT_SPDIF (NR_IRQS_LEGACY + 67) | ||
301 | #define MX53_INT_SIM_DAT (NR_IRQS_LEGACY + 68) | ||
302 | #define MX53_INT_IIM (NR_IRQS_LEGACY + 69) | ||
303 | #define MX53_INT_ATA (NR_IRQS_LEGACY + 70) | ||
304 | #define MX53_INT_CCM1 (NR_IRQS_LEGACY + 71) | ||
305 | #define MX53_INT_CCM2 (NR_IRQS_LEGACY + 72) | ||
306 | #define MX53_INT_GPC1 (NR_IRQS_LEGACY + 73) | ||
307 | #define MX53_INT_GPC2 (NR_IRQS_LEGACY + 74) | ||
308 | #define MX53_INT_SRC (NR_IRQS_LEGACY + 75) | ||
309 | #define MX53_INT_NM (NR_IRQS_LEGACY + 76) | ||
310 | #define MX53_INT_PMU (NR_IRQS_LEGACY + 77) | ||
311 | #define MX53_INT_CTI_IRQ (NR_IRQS_LEGACY + 78) | ||
312 | #define MX53_INT_CTI1_TG0 (NR_IRQS_LEGACY + 79) | ||
313 | #define MX53_INT_CTI1_TG1 (NR_IRQS_LEGACY + 80) | ||
314 | #define MX53_INT_ESAI (NR_IRQS_LEGACY + 81) | ||
315 | #define MX53_INT_CAN1 (NR_IRQS_LEGACY + 82) | ||
316 | #define MX53_INT_CAN2 (NR_IRQS_LEGACY + 83) | ||
317 | #define MX53_INT_GPU2_IRQ (NR_IRQS_LEGACY + 84) | ||
318 | #define MX53_INT_GPU2_BUSY (NR_IRQS_LEGACY + 85) | ||
319 | #define MX53_INT_UART5 (NR_IRQS_LEGACY + 86) | ||
320 | #define MX53_INT_FEC (NR_IRQS_LEGACY + 87) | ||
321 | #define MX53_INT_OWIRE (NR_IRQS_LEGACY + 88) | ||
322 | #define MX53_INT_CTI1_TG2 (NR_IRQS_LEGACY + 89) | ||
323 | #define MX53_INT_SJC (NR_IRQS_LEGACY + 90) | ||
324 | #define MX53_INT_TVE (NR_IRQS_LEGACY + 92) | ||
325 | #define MX53_INT_FIRI (NR_IRQS_LEGACY + 93) | ||
326 | #define MX53_INT_PWM2 (NR_IRQS_LEGACY + 94) | ||
327 | #define MX53_INT_SLIM_EXP (NR_IRQS_LEGACY + 95) | ||
328 | #define MX53_INT_SSI3 (NR_IRQS_LEGACY + 96) | ||
329 | #define MX53_INT_EMI_BOOT (NR_IRQS_LEGACY + 97) | ||
330 | #define MX53_INT_CTI1_TG3 (NR_IRQS_LEGACY + 98) | ||
331 | #define MX53_INT_SMC_RX (NR_IRQS_LEGACY + 99) | ||
332 | #define MX53_INT_VPU_IDLE (NR_IRQS_LEGACY + 100) | ||
333 | #define MX53_INT_EMI_NFC (NR_IRQS_LEGACY + 101) | ||
334 | #define MX53_INT_GPU_IDLE (NR_IRQS_LEGACY + 102) | ||
335 | #define MX53_INT_GPIO5_LOW (NR_IRQS_LEGACY + 103) | ||
336 | #define MX53_INT_GPIO5_HIGH (NR_IRQS_LEGACY + 104) | ||
337 | #define MX53_INT_GPIO6_LOW (NR_IRQS_LEGACY + 105) | ||
338 | #define MX53_INT_GPIO6_HIGH (NR_IRQS_LEGACY + 106) | ||
339 | #define MX53_INT_GPIO7_LOW (NR_IRQS_LEGACY + 107) | ||
340 | #define MX53_INT_GPIO7_HIGH (NR_IRQS_LEGACY + 108) | ||
341 | |||
342 | #endif /* ifndef __MACH_MX53_H__ */ | ||
diff --git a/arch/arm/mach-imx/mxc.h b/arch/arm/mach-imx/mxc.h index 75d6a37e1ae4..a39b69ef4301 100644 --- a/arch/arm/mach-imx/mxc.h +++ b/arch/arm/mach-imx/mxc.h | |||
@@ -154,10 +154,17 @@ extern unsigned int __mxc_cpu_type; | |||
154 | #endif | 154 | #endif |
155 | 155 | ||
156 | #ifndef __ASSEMBLY__ | 156 | #ifndef __ASSEMBLY__ |
157 | #ifdef CONFIG_SOC_IMX6SL | ||
157 | static inline bool cpu_is_imx6sl(void) | 158 | static inline bool cpu_is_imx6sl(void) |
158 | { | 159 | { |
159 | return __mxc_cpu_type == MXC_CPU_IMX6SL; | 160 | return __mxc_cpu_type == MXC_CPU_IMX6SL; |
160 | } | 161 | } |
162 | #else | ||
163 | static inline bool cpu_is_imx6sl(void) | ||
164 | { | ||
165 | return false; | ||
166 | } | ||
167 | #endif | ||
161 | 168 | ||
162 | static inline bool cpu_is_imx6dl(void) | 169 | static inline bool cpu_is_imx6dl(void) |
163 | { | 170 | { |
diff --git a/arch/arm/mach-imx/pm-imx5.c b/arch/arm/mach-imx/pm-imx5.c index 58aeaf5baaf6..f1f80ab73e69 100644 --- a/arch/arm/mach-imx/pm-imx5.c +++ b/arch/arm/mach-imx/pm-imx5.c | |||
@@ -19,9 +19,26 @@ | |||
19 | 19 | ||
20 | #include "common.h" | 20 | #include "common.h" |
21 | #include "cpuidle.h" | 21 | #include "cpuidle.h" |
22 | #include "crm-regs-imx5.h" | ||
23 | #include "hardware.h" | 22 | #include "hardware.h" |
24 | 23 | ||
24 | #define MXC_CCM_CLPCR 0x54 | ||
25 | #define MXC_CCM_CLPCR_LPM_OFFSET 0 | ||
26 | #define MXC_CCM_CLPCR_LPM_MASK 0x3 | ||
27 | #define MXC_CCM_CLPCR_STBY_COUNT_OFFSET 9 | ||
28 | #define MXC_CCM_CLPCR_VSTBY (0x1 << 8) | ||
29 | #define MXC_CCM_CLPCR_SBYOS (0x1 << 6) | ||
30 | |||
31 | #define MXC_CORTEXA8_PLAT_LPC 0xc | ||
32 | #define MXC_CORTEXA8_PLAT_LPC_DSM (1 << 0) | ||
33 | #define MXC_CORTEXA8_PLAT_LPC_DBG_DSM (1 << 1) | ||
34 | |||
35 | #define MXC_SRPG_NEON_SRPGCR 0x280 | ||
36 | #define MXC_SRPG_ARM_SRPGCR 0x2a0 | ||
37 | #define MXC_SRPG_EMPGC0_SRPGCR 0x2c0 | ||
38 | #define MXC_SRPG_EMPGC1_SRPGCR 0x2d0 | ||
39 | |||
40 | #define MXC_SRPGCR_PCR 1 | ||
41 | |||
25 | /* | 42 | /* |
26 | * The WAIT_UNCLOCKED_POWER_OFF state only requires <= 500ns to exit. | 43 | * The WAIT_UNCLOCKED_POWER_OFF state only requires <= 500ns to exit. |
27 | * This is also the lowest power state possible without affecting | 44 | * This is also the lowest power state possible without affecting |
@@ -32,6 +49,30 @@ | |||
32 | */ | 49 | */ |
33 | #define IMX5_DEFAULT_CPU_IDLE_STATE WAIT_UNCLOCKED_POWER_OFF | 50 | #define IMX5_DEFAULT_CPU_IDLE_STATE WAIT_UNCLOCKED_POWER_OFF |
34 | 51 | ||
52 | struct imx5_pm_data { | ||
53 | phys_addr_t cortex_addr; | ||
54 | phys_addr_t gpc_addr; | ||
55 | }; | ||
56 | |||
57 | static const struct imx5_pm_data imx51_pm_data __initconst = { | ||
58 | .cortex_addr = 0x83fa0000, | ||
59 | .gpc_addr = 0x73fd8000, | ||
60 | }; | ||
61 | |||
62 | static const struct imx5_pm_data imx53_pm_data __initconst = { | ||
63 | .cortex_addr = 0x63fa0000, | ||
64 | .gpc_addr = 0x53fd8000, | ||
65 | }; | ||
66 | |||
67 | static void __iomem *ccm_base; | ||
68 | static void __iomem *cortex_base; | ||
69 | static void __iomem *gpc_base; | ||
70 | |||
71 | void __init imx5_pm_set_ccm_base(void __iomem *base) | ||
72 | { | ||
73 | ccm_base = base; | ||
74 | } | ||
75 | |||
35 | /* | 76 | /* |
36 | * set cpu low power mode before WFI instruction. This function is called | 77 | * set cpu low power mode before WFI instruction. This function is called |
37 | * mx5 because it can be used for mx51, and mx53. | 78 | * mx5 because it can be used for mx51, and mx53. |
@@ -43,12 +84,16 @@ static void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode) | |||
43 | int stop_mode = 0; | 84 | int stop_mode = 0; |
44 | 85 | ||
45 | /* always allow platform to issue a deep sleep mode request */ | 86 | /* always allow platform to issue a deep sleep mode request */ |
46 | plat_lpc = __raw_readl(MXC_CORTEXA8_PLAT_LPC) & | 87 | plat_lpc = __raw_readl(cortex_base + MXC_CORTEXA8_PLAT_LPC) & |
47 | ~(MXC_CORTEXA8_PLAT_LPC_DSM); | 88 | ~(MXC_CORTEXA8_PLAT_LPC_DSM); |
48 | ccm_clpcr = __raw_readl(MXC_CCM_CLPCR) & ~(MXC_CCM_CLPCR_LPM_MASK); | 89 | ccm_clpcr = __raw_readl(ccm_base + MXC_CCM_CLPCR) & |
49 | arm_srpgcr = __raw_readl(MXC_SRPG_ARM_SRPGCR) & ~(MXC_SRPGCR_PCR); | 90 | ~(MXC_CCM_CLPCR_LPM_MASK); |
50 | empgc0 = __raw_readl(MXC_SRPG_EMPGC0_SRPGCR) & ~(MXC_SRPGCR_PCR); | 91 | arm_srpgcr = __raw_readl(gpc_base + MXC_SRPG_ARM_SRPGCR) & |
51 | empgc1 = __raw_readl(MXC_SRPG_EMPGC1_SRPGCR) & ~(MXC_SRPGCR_PCR); | 92 | ~(MXC_SRPGCR_PCR); |
93 | empgc0 = __raw_readl(gpc_base + MXC_SRPG_EMPGC0_SRPGCR) & | ||
94 | ~(MXC_SRPGCR_PCR); | ||
95 | empgc1 = __raw_readl(gpc_base + MXC_SRPG_EMPGC1_SRPGCR) & | ||
96 | ~(MXC_SRPGCR_PCR); | ||
52 | 97 | ||
53 | switch (mode) { | 98 | switch (mode) { |
54 | case WAIT_CLOCKED: | 99 | case WAIT_CLOCKED: |
@@ -82,17 +127,17 @@ static void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode) | |||
82 | return; | 127 | return; |
83 | } | 128 | } |
84 | 129 | ||
85 | __raw_writel(plat_lpc, MXC_CORTEXA8_PLAT_LPC); | 130 | __raw_writel(plat_lpc, cortex_base + MXC_CORTEXA8_PLAT_LPC); |
86 | __raw_writel(ccm_clpcr, MXC_CCM_CLPCR); | 131 | __raw_writel(ccm_clpcr, ccm_base + MXC_CCM_CLPCR); |
87 | __raw_writel(arm_srpgcr, MXC_SRPG_ARM_SRPGCR); | 132 | __raw_writel(arm_srpgcr, gpc_base + MXC_SRPG_ARM_SRPGCR); |
88 | __raw_writel(arm_srpgcr, MXC_SRPG_NEON_SRPGCR); | 133 | __raw_writel(arm_srpgcr, gpc_base + MXC_SRPG_NEON_SRPGCR); |
89 | 134 | ||
90 | if (stop_mode) { | 135 | if (stop_mode) { |
91 | empgc0 |= MXC_SRPGCR_PCR; | 136 | empgc0 |= MXC_SRPGCR_PCR; |
92 | empgc1 |= MXC_SRPGCR_PCR; | 137 | empgc1 |= MXC_SRPGCR_PCR; |
93 | 138 | ||
94 | __raw_writel(empgc0, MXC_SRPG_EMPGC0_SRPGCR); | 139 | __raw_writel(empgc0, gpc_base + MXC_SRPG_EMPGC0_SRPGCR); |
95 | __raw_writel(empgc1, MXC_SRPG_EMPGC1_SRPGCR); | 140 | __raw_writel(empgc1, gpc_base + MXC_SRPG_EMPGC1_SRPGCR); |
96 | } | 141 | } |
97 | } | 142 | } |
98 | 143 | ||
@@ -114,8 +159,8 @@ static int mx5_suspend_enter(suspend_state_t state) | |||
114 | flush_cache_all(); | 159 | flush_cache_all(); |
115 | 160 | ||
116 | /*clear the EMPGC0/1 bits */ | 161 | /*clear the EMPGC0/1 bits */ |
117 | __raw_writel(0, MXC_SRPG_EMPGC0_SRPGCR); | 162 | __raw_writel(0, gpc_base + MXC_SRPG_EMPGC0_SRPGCR); |
118 | __raw_writel(0, MXC_SRPG_EMPGC1_SRPGCR); | 163 | __raw_writel(0, gpc_base + MXC_SRPG_EMPGC1_SRPGCR); |
119 | } | 164 | } |
120 | cpu_do_idle(); | 165 | cpu_do_idle(); |
121 | 166 | ||
@@ -149,7 +194,7 @@ static void imx5_pm_idle(void) | |||
149 | imx5_cpu_do_idle(); | 194 | imx5_cpu_do_idle(); |
150 | } | 195 | } |
151 | 196 | ||
152 | static int __init imx5_pm_common_init(void) | 197 | static int __init imx5_pm_common_init(const struct imx5_pm_data *data) |
153 | { | 198 | { |
154 | int ret; | 199 | int ret; |
155 | struct clk *gpc_dvfs_clk = clk_get(NULL, "gpc_dvfs"); | 200 | struct clk *gpc_dvfs_clk = clk_get(NULL, "gpc_dvfs"); |
@@ -163,15 +208,28 @@ static int __init imx5_pm_common_init(void) | |||
163 | 208 | ||
164 | arm_pm_idle = imx5_pm_idle; | 209 | arm_pm_idle = imx5_pm_idle; |
165 | 210 | ||
211 | cortex_base = ioremap(data->cortex_addr, SZ_16K); | ||
212 | gpc_base = ioremap(data->gpc_addr, SZ_16K); | ||
213 | WARN_ON(!ccm_base || !cortex_base || !gpc_base); | ||
214 | |||
166 | /* Set the registers to the default cpu idle state. */ | 215 | /* Set the registers to the default cpu idle state. */ |
167 | mx5_cpu_lp_set(IMX5_DEFAULT_CPU_IDLE_STATE); | 216 | mx5_cpu_lp_set(IMX5_DEFAULT_CPU_IDLE_STATE); |
168 | 217 | ||
169 | return imx5_cpuidle_init(); | 218 | ret = imx5_cpuidle_init(); |
219 | if (ret) | ||
220 | pr_warn("%s: cpuidle init failed %d\n", __func__, ret); | ||
221 | |||
222 | suspend_set_ops(&mx5_suspend_ops); | ||
223 | |||
224 | return 0; | ||
225 | } | ||
226 | |||
227 | void __init imx51_pm_init(void) | ||
228 | { | ||
229 | imx5_pm_common_init(&imx51_pm_data); | ||
170 | } | 230 | } |
171 | 231 | ||
172 | void __init imx5_pm_init(void) | 232 | void __init imx53_pm_init(void) |
173 | { | 233 | { |
174 | int ret = imx5_pm_common_init(); | 234 | imx5_pm_common_init(&imx53_pm_data); |
175 | if (!ret) | ||
176 | suspend_set_ops(&mx5_suspend_ops); | ||
177 | } | 235 | } |
diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c index 9392a8f4ef24..5c3af8f993d0 100644 --- a/arch/arm/mach-imx/pm-imx6.c +++ b/arch/arm/mach-imx/pm-imx6.c | |||
@@ -129,6 +129,14 @@ static const u32 imx6sl_mmdc_io_offset[] __initconst = { | |||
129 | 0x330, 0x334, 0x320, /* SDCKE0, SDCKE1, RESET */ | 129 | 0x330, 0x334, 0x320, /* SDCKE0, SDCKE1, RESET */ |
130 | }; | 130 | }; |
131 | 131 | ||
132 | static const u32 imx6sx_mmdc_io_offset[] __initconst = { | ||
133 | 0x2ec, 0x2f0, 0x2f4, 0x2f8, /* DQM0 ~ DQM3 */ | ||
134 | 0x60c, 0x610, 0x61c, 0x620, /* GPR_B0DS ~ GPR_B3DS */ | ||
135 | 0x300, 0x2fc, 0x32c, 0x5f4, /* CAS, RAS, SDCLK_0, GPR_ADDS */ | ||
136 | 0x310, 0x314, 0x5f8, 0x608, /* SODT0, SODT1, MODE_CTL, MODE */ | ||
137 | 0x330, 0x334, 0x338, 0x33c, /* SDQS0 ~ SDQS3 */ | ||
138 | }; | ||
139 | |||
132 | static const struct imx6_pm_socdata imx6q_pm_data __initconst = { | 140 | static const struct imx6_pm_socdata imx6q_pm_data __initconst = { |
133 | .cpu_type = MXC_CPU_IMX6Q, | 141 | .cpu_type = MXC_CPU_IMX6Q, |
134 | .mmdc_compat = "fsl,imx6q-mmdc", | 142 | .mmdc_compat = "fsl,imx6q-mmdc", |
@@ -159,6 +167,16 @@ static const struct imx6_pm_socdata imx6sl_pm_data __initconst = { | |||
159 | .mmdc_io_offset = imx6sl_mmdc_io_offset, | 167 | .mmdc_io_offset = imx6sl_mmdc_io_offset, |
160 | }; | 168 | }; |
161 | 169 | ||
170 | static const struct imx6_pm_socdata imx6sx_pm_data __initconst = { | ||
171 | .cpu_type = MXC_CPU_IMX6SX, | ||
172 | .mmdc_compat = "fsl,imx6sx-mmdc", | ||
173 | .src_compat = "fsl,imx6sx-src", | ||
174 | .iomuxc_compat = "fsl,imx6sx-iomuxc", | ||
175 | .gpc_compat = "fsl,imx6sx-gpc", | ||
176 | .mmdc_io_num = ARRAY_SIZE(imx6sx_mmdc_io_offset), | ||
177 | .mmdc_io_offset = imx6sx_mmdc_io_offset, | ||
178 | }; | ||
179 | |||
162 | /* | 180 | /* |
163 | * This structure is for passing necessary data for low level ocram | 181 | * This structure is for passing necessary data for low level ocram |
164 | * suspend code(arch/arm/mach-imx/suspend-imx6.S), if this struct | 182 | * suspend code(arch/arm/mach-imx/suspend-imx6.S), if this struct |
@@ -181,11 +199,13 @@ struct imx6_cpu_pm_info { | |||
181 | u32 mmdc_io_val[MX6_MAX_MMDC_IO_NUM][2]; /* To save offset and value */ | 199 | u32 mmdc_io_val[MX6_MAX_MMDC_IO_NUM][2]; /* To save offset and value */ |
182 | } __aligned(8); | 200 | } __aligned(8); |
183 | 201 | ||
184 | void imx6q_set_int_mem_clk_lpm(void) | 202 | void imx6q_set_int_mem_clk_lpm(bool enable) |
185 | { | 203 | { |
186 | u32 val = readl_relaxed(ccm_base + CGPR); | 204 | u32 val = readl_relaxed(ccm_base + CGPR); |
187 | 205 | ||
188 | val |= BM_CGPR_INT_MEM_CLK_LPM; | 206 | val &= ~BM_CGPR_INT_MEM_CLK_LPM; |
207 | if (enable) | ||
208 | val |= BM_CGPR_INT_MEM_CLK_LPM; | ||
189 | writel_relaxed(val, ccm_base + CGPR); | 209 | writel_relaxed(val, ccm_base + CGPR); |
190 | } | 210 | } |
191 | 211 | ||
@@ -254,6 +274,14 @@ int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode) | |||
254 | break; | 274 | break; |
255 | case STOP_POWER_ON: | 275 | case STOP_POWER_ON: |
256 | val |= 0x2 << BP_CLPCR_LPM; | 276 | val |= 0x2 << BP_CLPCR_LPM; |
277 | val &= ~BM_CLPCR_VSTBY; | ||
278 | val &= ~BM_CLPCR_SBYOS; | ||
279 | if (cpu_is_imx6sl()) | ||
280 | val |= BM_CLPCR_BYPASS_PMIC_READY; | ||
281 | if (cpu_is_imx6sl() || cpu_is_imx6sx()) | ||
282 | val |= BM_CLPCR_BYP_MMDC_CH0_LPM_HS; | ||
283 | else | ||
284 | val |= BM_CLPCR_BYP_MMDC_CH1_LPM_HS; | ||
257 | break; | 285 | break; |
258 | case WAIT_UNCLOCKED_POWER_OFF: | 286 | case WAIT_UNCLOCKED_POWER_OFF: |
259 | val |= 0x1 << BP_CLPCR_LPM; | 287 | val |= 0x1 << BP_CLPCR_LPM; |
@@ -265,12 +293,12 @@ int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode) | |||
265 | val |= 0x3 << BP_CLPCR_STBY_COUNT; | 293 | val |= 0x3 << BP_CLPCR_STBY_COUNT; |
266 | val |= BM_CLPCR_VSTBY; | 294 | val |= BM_CLPCR_VSTBY; |
267 | val |= BM_CLPCR_SBYOS; | 295 | val |= BM_CLPCR_SBYOS; |
268 | if (cpu_is_imx6sl()) { | 296 | if (cpu_is_imx6sl()) |
269 | val |= BM_CLPCR_BYPASS_PMIC_READY; | 297 | val |= BM_CLPCR_BYPASS_PMIC_READY; |
298 | if (cpu_is_imx6sl() || cpu_is_imx6sx()) | ||
270 | val |= BM_CLPCR_BYP_MMDC_CH0_LPM_HS; | 299 | val |= BM_CLPCR_BYP_MMDC_CH0_LPM_HS; |
271 | } else { | 300 | else |
272 | val |= BM_CLPCR_BYP_MMDC_CH1_LPM_HS; | 301 | val |= BM_CLPCR_BYP_MMDC_CH1_LPM_HS; |
273 | } | ||
274 | break; | 302 | break; |
275 | default: | 303 | default: |
276 | return -EINVAL; | 304 | return -EINVAL; |
@@ -314,8 +342,22 @@ static int imx6q_suspend_finish(unsigned long val) | |||
314 | static int imx6q_pm_enter(suspend_state_t state) | 342 | static int imx6q_pm_enter(suspend_state_t state) |
315 | { | 343 | { |
316 | switch (state) { | 344 | switch (state) { |
345 | case PM_SUSPEND_STANDBY: | ||
346 | imx6q_set_lpm(STOP_POWER_ON); | ||
347 | imx6q_set_int_mem_clk_lpm(true); | ||
348 | imx_gpc_pre_suspend(false); | ||
349 | if (cpu_is_imx6sl()) | ||
350 | imx6sl_set_wait_clk(true); | ||
351 | /* Zzz ... */ | ||
352 | cpu_do_idle(); | ||
353 | if (cpu_is_imx6sl()) | ||
354 | imx6sl_set_wait_clk(false); | ||
355 | imx_gpc_post_resume(); | ||
356 | imx6q_set_lpm(WAIT_CLOCKED); | ||
357 | break; | ||
317 | case PM_SUSPEND_MEM: | 358 | case PM_SUSPEND_MEM: |
318 | imx6q_set_lpm(STOP_POWER_OFF); | 359 | imx6q_set_lpm(STOP_POWER_OFF); |
360 | imx6q_set_int_mem_clk_lpm(false); | ||
319 | imx6q_enable_wb(true); | 361 | imx6q_enable_wb(true); |
320 | /* | 362 | /* |
321 | * For suspend into ocram, asm code already take care of | 363 | * For suspend into ocram, asm code already take care of |
@@ -323,7 +365,7 @@ static int imx6q_pm_enter(suspend_state_t state) | |||
323 | */ | 365 | */ |
324 | if (!imx6_suspend_in_ocram_fn) | 366 | if (!imx6_suspend_in_ocram_fn) |
325 | imx6q_enable_rbc(true); | 367 | imx6q_enable_rbc(true); |
326 | imx_gpc_pre_suspend(); | 368 | imx_gpc_pre_suspend(true); |
327 | imx_anatop_pre_suspend(); | 369 | imx_anatop_pre_suspend(); |
328 | imx_set_cpu_jump(0, v7_cpu_resume); | 370 | imx_set_cpu_jump(0, v7_cpu_resume); |
329 | /* Zzz ... */ | 371 | /* Zzz ... */ |
@@ -334,6 +376,7 @@ static int imx6q_pm_enter(suspend_state_t state) | |||
334 | imx_gpc_post_resume(); | 376 | imx_gpc_post_resume(); |
335 | imx6q_enable_rbc(false); | 377 | imx6q_enable_rbc(false); |
336 | imx6q_enable_wb(false); | 378 | imx6q_enable_wb(false); |
379 | imx6q_set_int_mem_clk_lpm(true); | ||
337 | imx6q_set_lpm(WAIT_CLOCKED); | 380 | imx6q_set_lpm(WAIT_CLOCKED); |
338 | break; | 381 | break; |
339 | default: | 382 | default: |
@@ -343,9 +386,14 @@ static int imx6q_pm_enter(suspend_state_t state) | |||
343 | return 0; | 386 | return 0; |
344 | } | 387 | } |
345 | 388 | ||
389 | static int imx6q_pm_valid(suspend_state_t state) | ||
390 | { | ||
391 | return (state == PM_SUSPEND_STANDBY || state == PM_SUSPEND_MEM); | ||
392 | } | ||
393 | |||
346 | static const struct platform_suspend_ops imx6q_pm_ops = { | 394 | static const struct platform_suspend_ops imx6q_pm_ops = { |
347 | .enter = imx6q_pm_enter, | 395 | .enter = imx6q_pm_enter, |
348 | .valid = suspend_valid_only_mem, | 396 | .valid = imx6q_pm_valid, |
349 | }; | 397 | }; |
350 | 398 | ||
351 | void __init imx6q_pm_set_ccm_base(void __iomem *base) | 399 | void __init imx6q_pm_set_ccm_base(void __iomem *base) |
@@ -549,3 +597,8 @@ void __init imx6sl_pm_init(void) | |||
549 | { | 597 | { |
550 | imx6_pm_common_init(&imx6sl_pm_data); | 598 | imx6_pm_common_init(&imx6sl_pm_data); |
551 | } | 599 | } |
600 | |||
601 | void __init imx6sx_pm_init(void) | ||
602 | { | ||
603 | imx6_pm_common_init(&imx6sx_pm_data); | ||
604 | } | ||
diff --git a/arch/arm/mach-imx/system.c b/arch/arm/mach-imx/system.c index 3b0733edb68c..d14c33fd6b03 100644 --- a/arch/arm/mach-imx/system.c +++ b/arch/arm/mach-imx/system.c | |||
@@ -42,7 +42,10 @@ void mxc_restart(enum reboot_mode mode, const char *cmd) | |||
42 | { | 42 | { |
43 | unsigned int wcr_enable; | 43 | unsigned int wcr_enable; |
44 | 44 | ||
45 | if (wdog_clk) | 45 | if (!wdog_base) |
46 | goto reset_fallback; | ||
47 | |||
48 | if (!IS_ERR(wdog_clk)) | ||
46 | clk_enable(wdog_clk); | 49 | clk_enable(wdog_clk); |
47 | 50 | ||
48 | if (cpu_is_mx1()) | 51 | if (cpu_is_mx1()) |
@@ -70,6 +73,7 @@ void mxc_restart(enum reboot_mode mode, const char *cmd) | |||
70 | /* delay to allow the serial port to show the message */ | 73 | /* delay to allow the serial port to show the message */ |
71 | mdelay(50); | 74 | mdelay(50); |
72 | 75 | ||
76 | reset_fallback: | ||
73 | /* we'll take a jump through zero as a poor second */ | 77 | /* we'll take a jump through zero as a poor second */ |
74 | soft_restart(0); | 78 | soft_restart(0); |
75 | } | 79 | } |
@@ -79,13 +83,10 @@ void __init mxc_arch_reset_init(void __iomem *base) | |||
79 | wdog_base = base; | 83 | wdog_base = base; |
80 | 84 | ||
81 | wdog_clk = clk_get_sys("imx2-wdt.0", NULL); | 85 | wdog_clk = clk_get_sys("imx2-wdt.0", NULL); |
82 | if (IS_ERR(wdog_clk)) { | 86 | if (IS_ERR(wdog_clk)) |
83 | pr_warn("%s: failed to get wdog clock\n", __func__); | 87 | pr_warn("%s: failed to get wdog clock\n", __func__); |
84 | wdog_clk = NULL; | 88 | else |
85 | return; | 89 | clk_prepare(wdog_clk); |
86 | } | ||
87 | |||
88 | clk_prepare(wdog_clk); | ||
89 | } | 90 | } |
90 | 91 | ||
91 | void __init mxc_arch_reset_init_dt(void) | 92 | void __init mxc_arch_reset_init_dt(void) |
@@ -97,13 +98,10 @@ void __init mxc_arch_reset_init_dt(void) | |||
97 | WARN_ON(!wdog_base); | 98 | WARN_ON(!wdog_base); |
98 | 99 | ||
99 | wdog_clk = of_clk_get(np, 0); | 100 | wdog_clk = of_clk_get(np, 0); |
100 | if (IS_ERR(wdog_clk)) { | 101 | if (IS_ERR(wdog_clk)) |
101 | pr_warn("%s: failed to get wdog clock\n", __func__); | 102 | pr_warn("%s: failed to get wdog clock\n", __func__); |
102 | wdog_clk = NULL; | 103 | else |
103 | return; | 104 | clk_prepare(wdog_clk); |
104 | } | ||
105 | |||
106 | clk_prepare(wdog_clk); | ||
107 | } | 105 | } |
108 | 106 | ||
109 | #ifdef CONFIG_CACHE_L2X0 | 107 | #ifdef CONFIG_CACHE_L2X0 |
diff --git a/arch/arm/mach-imx/time.c b/arch/arm/mach-imx/time.c index bed081e58262..bf92e5a351c0 100644 --- a/arch/arm/mach-imx/time.c +++ b/arch/arm/mach-imx/time.c | |||
@@ -290,25 +290,20 @@ static int __init mxc_clockevent_init(struct clk *timer_clk) | |||
290 | return 0; | 290 | return 0; |
291 | } | 291 | } |
292 | 292 | ||
293 | void __init mxc_timer_init(void __iomem *base, int irq) | 293 | static void __init _mxc_timer_init(int irq, |
294 | struct clk *clk_per, struct clk *clk_ipg) | ||
294 | { | 295 | { |
295 | uint32_t tctl_val; | 296 | uint32_t tctl_val; |
296 | struct clk *timer_clk; | ||
297 | struct clk *timer_ipg_clk; | ||
298 | 297 | ||
299 | timer_clk = clk_get_sys("imx-gpt.0", "per"); | 298 | if (IS_ERR(clk_per)) { |
300 | if (IS_ERR(timer_clk)) { | ||
301 | pr_err("i.MX timer: unable to get clk\n"); | 299 | pr_err("i.MX timer: unable to get clk\n"); |
302 | return; | 300 | return; |
303 | } | 301 | } |
304 | 302 | ||
305 | timer_ipg_clk = clk_get_sys("imx-gpt.0", "ipg"); | 303 | if (!IS_ERR(clk_ipg)) |
306 | if (!IS_ERR(timer_ipg_clk)) | 304 | clk_prepare_enable(clk_ipg); |
307 | clk_prepare_enable(timer_ipg_clk); | ||
308 | |||
309 | clk_prepare_enable(timer_clk); | ||
310 | 305 | ||
311 | timer_base = base; | 306 | clk_prepare_enable(clk_per); |
312 | 307 | ||
313 | /* | 308 | /* |
314 | * Initialise to a known state (all timers off, and timing reset) | 309 | * Initialise to a known state (all timers off, and timing reset) |
@@ -325,21 +320,45 @@ void __init mxc_timer_init(void __iomem *base, int irq) | |||
325 | __raw_writel(tctl_val, timer_base + MXC_TCTL); | 320 | __raw_writel(tctl_val, timer_base + MXC_TCTL); |
326 | 321 | ||
327 | /* init and register the timer to the framework */ | 322 | /* init and register the timer to the framework */ |
328 | mxc_clocksource_init(timer_clk); | 323 | mxc_clocksource_init(clk_per); |
329 | mxc_clockevent_init(timer_clk); | 324 | mxc_clockevent_init(clk_per); |
330 | 325 | ||
331 | /* Make irqs happen */ | 326 | /* Make irqs happen */ |
332 | setup_irq(irq, &mxc_timer_irq); | 327 | setup_irq(irq, &mxc_timer_irq); |
333 | } | 328 | } |
334 | 329 | ||
335 | void __init mxc_timer_init_dt(struct device_node *np) | 330 | void __init mxc_timer_init(void __iomem *base, int irq) |
336 | { | 331 | { |
337 | void __iomem *base; | 332 | struct clk *clk_per = clk_get_sys("imx-gpt.0", "per"); |
333 | struct clk *clk_ipg = clk_get_sys("imx-gpt.0", "ipg"); | ||
334 | |||
335 | timer_base = base; | ||
336 | |||
337 | _mxc_timer_init(irq, clk_per, clk_ipg); | ||
338 | } | ||
339 | |||
340 | static void __init mxc_timer_init_dt(struct device_node *np) | ||
341 | { | ||
342 | struct clk *clk_per, *clk_ipg; | ||
338 | int irq; | 343 | int irq; |
339 | 344 | ||
340 | base = of_iomap(np, 0); | 345 | if (timer_base) |
341 | WARN_ON(!base); | 346 | return; |
347 | |||
348 | timer_base = of_iomap(np, 0); | ||
349 | WARN_ON(!timer_base); | ||
342 | irq = irq_of_parse_and_map(np, 0); | 350 | irq = irq_of_parse_and_map(np, 0); |
343 | 351 | ||
344 | mxc_timer_init(base, irq); | 352 | clk_per = of_clk_get_by_name(np, "per"); |
353 | clk_ipg = of_clk_get_by_name(np, "ipg"); | ||
354 | |||
355 | _mxc_timer_init(irq, clk_per, clk_ipg); | ||
345 | } | 356 | } |
357 | CLOCKSOURCE_OF_DECLARE(mx1_timer, "fsl,imx1-gpt", mxc_timer_init_dt); | ||
358 | CLOCKSOURCE_OF_DECLARE(mx25_timer, "fsl,imx25-gpt", mxc_timer_init_dt); | ||
359 | CLOCKSOURCE_OF_DECLARE(mx50_timer, "fsl,imx50-gpt", mxc_timer_init_dt); | ||
360 | CLOCKSOURCE_OF_DECLARE(mx51_timer, "fsl,imx51-gpt", mxc_timer_init_dt); | ||
361 | CLOCKSOURCE_OF_DECLARE(mx53_timer, "fsl,imx53-gpt", mxc_timer_init_dt); | ||
362 | CLOCKSOURCE_OF_DECLARE(mx6q_timer, "fsl,imx6q-gpt", mxc_timer_init_dt); | ||
363 | CLOCKSOURCE_OF_DECLARE(mx6sl_timer, "fsl,imx6sl-gpt", mxc_timer_init_dt); | ||
364 | CLOCKSOURCE_OF_DECLARE(mx6sx_timer, "fsl,imx6sx-gpt", mxc_timer_init_dt); | ||
diff --git a/arch/arm/mach-imx/tzic.c b/arch/arm/mach-imx/tzic.c index 7828af4b2022..1d4f384ca773 100644 --- a/arch/arm/mach-imx/tzic.c +++ b/arch/arm/mach-imx/tzic.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/irqdomain.h> | 18 | #include <linux/irqdomain.h> |
19 | #include <linux/of.h> | 19 | #include <linux/of.h> |
20 | #include <linux/of_address.h> | ||
20 | 21 | ||
21 | #include <asm/mach/irq.h> | 22 | #include <asm/mach/irq.h> |
22 | #include <asm/exception.h> | 23 | #include <asm/exception.h> |
@@ -153,13 +154,16 @@ static void __exception_irq_entry tzic_handle_irq(struct pt_regs *regs) | |||
153 | * interrupts. It registers the interrupt enable and disable functions | 154 | * interrupts. It registers the interrupt enable and disable functions |
154 | * to the kernel for each interrupt source. | 155 | * to the kernel for each interrupt source. |
155 | */ | 156 | */ |
156 | void __init tzic_init_irq(void __iomem *irqbase) | 157 | void __init tzic_init_irq(void) |
157 | { | 158 | { |
158 | struct device_node *np; | 159 | struct device_node *np; |
159 | int irq_base; | 160 | int irq_base; |
160 | int i; | 161 | int i; |
161 | 162 | ||
162 | tzic_base = irqbase; | 163 | np = of_find_compatible_node(NULL, NULL, "fsl,tzic"); |
164 | tzic_base = of_iomap(np, 0); | ||
165 | WARN_ON(!tzic_base); | ||
166 | |||
163 | /* put the TZIC into the reset value with | 167 | /* put the TZIC into the reset value with |
164 | * all interrupts disabled | 168 | * all interrupts disabled |
165 | */ | 169 | */ |
@@ -181,7 +185,6 @@ void __init tzic_init_irq(void __iomem *irqbase) | |||
181 | irq_base = irq_alloc_descs(-1, 0, TZIC_NUM_IRQS, numa_node_id()); | 185 | irq_base = irq_alloc_descs(-1, 0, TZIC_NUM_IRQS, numa_node_id()); |
182 | WARN_ON(irq_base < 0); | 186 | WARN_ON(irq_base < 0); |
183 | 187 | ||
184 | np = of_find_compatible_node(NULL, NULL, "fsl,tzic"); | ||
185 | domain = irq_domain_add_legacy(np, TZIC_NUM_IRQS, irq_base, 0, | 188 | domain = irq_domain_add_legacy(np, TZIC_NUM_IRQS, irq_base, 0, |
186 | &irq_domain_simple_ops, NULL); | 189 | &irq_domain_simple_ops, NULL); |
187 | WARN_ON(!domain); | 190 | WARN_ON(!domain); |
diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c index f8ee13c7bf7b..75c9681f8021 100644 --- a/drivers/bus/imx-weim.c +++ b/drivers/bus/imx-weim.c | |||
@@ -162,7 +162,9 @@ static int __init weim_parse_dt(struct platform_device *pdev, | |||
162 | } | 162 | } |
163 | } | 163 | } |
164 | 164 | ||
165 | ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); | 165 | ret = of_platform_populate(pdev->dev.of_node, |
166 | of_default_bus_match_table, | ||
167 | NULL, &pdev->dev); | ||
166 | if (ret) | 168 | if (ret) |
167 | dev_err(&pdev->dev, "%s fail to create devices.\n", | 169 | dev_err(&pdev->dev, "%s fail to create devices.\n", |
168 | pdev->dev.of_node->full_name); | 170 | pdev->dev.of_node->full_name); |
diff --git a/include/dt-bindings/clock/imx1-clock.h b/include/dt-bindings/clock/imx1-clock.h new file mode 100644 index 000000000000..607bf01a31dd --- /dev/null +++ b/include/dt-bindings/clock/imx1-clock.h | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> | ||
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 | */ | ||
9 | |||
10 | #ifndef __DT_BINDINGS_CLOCK_IMX1_H | ||
11 | #define __DT_BINDINGS_CLOCK_IMX1_H | ||
12 | |||
13 | #define IMX1_CLK_DUMMY 0 | ||
14 | #define IMX1_CLK_CLK32 1 | ||
15 | #define IMX1_CLK_CLK16M_EXT 2 | ||
16 | #define IMX1_CLK_CLK16M 3 | ||
17 | #define IMX1_CLK_CLK32_PREMULT 4 | ||
18 | #define IMX1_CLK_PREM 5 | ||
19 | #define IMX1_CLK_MPLL 6 | ||
20 | #define IMX1_CLK_MPLL_GATE 7 | ||
21 | #define IMX1_CLK_SPLL 8 | ||
22 | #define IMX1_CLK_SPLL_GATE 9 | ||
23 | #define IMX1_CLK_MCU 10 | ||
24 | #define IMX1_CLK_FCLK 11 | ||
25 | #define IMX1_CLK_HCLK 12 | ||
26 | #define IMX1_CLK_CLK48M 13 | ||
27 | #define IMX1_CLK_PER1 14 | ||
28 | #define IMX1_CLK_PER2 15 | ||
29 | #define IMX1_CLK_PER3 16 | ||
30 | #define IMX1_CLK_CLKO 17 | ||
31 | #define IMX1_CLK_UART3_GATE 18 | ||
32 | #define IMX1_CLK_SSI2_GATE 19 | ||
33 | #define IMX1_CLK_BROM_GATE 20 | ||
34 | #define IMX1_CLK_DMA_GATE 21 | ||
35 | #define IMX1_CLK_CSI_GATE 22 | ||
36 | #define IMX1_CLK_MMA_GATE 23 | ||
37 | #define IMX1_CLK_USBD_GATE 24 | ||
38 | #define IMX1_CLK_MAX 25 | ||
39 | |||
40 | #endif | ||
diff --git a/include/dt-bindings/clock/imx21-clock.h b/include/dt-bindings/clock/imx21-clock.h new file mode 100644 index 000000000000..b13596cf51b2 --- /dev/null +++ b/include/dt-bindings/clock/imx21-clock.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> | ||
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 | */ | ||
9 | |||
10 | #ifndef __DT_BINDINGS_CLOCK_IMX21_H | ||
11 | #define __DT_BINDINGS_CLOCK_IMX21_H | ||
12 | |||
13 | #define IMX21_CLK_DUMMY 0 | ||
14 | #define IMX21_CLK_CKIL 1 | ||
15 | #define IMX21_CLK_CKIH 2 | ||
16 | #define IMX21_CLK_FPM 3 | ||
17 | #define IMX21_CLK_CKIH_DIV1P5 4 | ||
18 | #define IMX21_CLK_MPLL_GATE 5 | ||
19 | #define IMX21_CLK_SPLL_GATE 6 | ||
20 | #define IMX21_CLK_FPM_GATE 7 | ||
21 | #define IMX21_CLK_CKIH_GATE 8 | ||
22 | #define IMX21_CLK_MPLL_OSC_SEL 9 | ||
23 | #define IMX21_CLK_IPG 10 | ||
24 | #define IMX21_CLK_HCLK 11 | ||
25 | #define IMX21_CLK_MPLL_SEL 12 | ||
26 | #define IMX21_CLK_SPLL_SEL 13 | ||
27 | #define IMX21_CLK_SSI1_SEL 14 | ||
28 | #define IMX21_CLK_SSI2_SEL 15 | ||
29 | #define IMX21_CLK_USB_DIV 16 | ||
30 | #define IMX21_CLK_FCLK 17 | ||
31 | #define IMX21_CLK_MPLL 18 | ||
32 | #define IMX21_CLK_SPLL 19 | ||
33 | #define IMX21_CLK_NFC_DIV 20 | ||
34 | #define IMX21_CLK_SSI1_DIV 21 | ||
35 | #define IMX21_CLK_SSI2_DIV 22 | ||
36 | #define IMX21_CLK_PER1 23 | ||
37 | #define IMX21_CLK_PER2 24 | ||
38 | #define IMX21_CLK_PER3 25 | ||
39 | #define IMX21_CLK_PER4 26 | ||
40 | #define IMX21_CLK_UART1_IPG_GATE 27 | ||
41 | #define IMX21_CLK_UART2_IPG_GATE 28 | ||
42 | #define IMX21_CLK_UART3_IPG_GATE 29 | ||
43 | #define IMX21_CLK_UART4_IPG_GATE 30 | ||
44 | #define IMX21_CLK_CSPI1_IPG_GATE 31 | ||
45 | #define IMX21_CLK_CSPI2_IPG_GATE 32 | ||
46 | #define IMX21_CLK_SSI1_GATE 33 | ||
47 | #define IMX21_CLK_SSI2_GATE 34 | ||
48 | #define IMX21_CLK_SDHC1_IPG_GATE 35 | ||
49 | #define IMX21_CLK_SDHC2_IPG_GATE 36 | ||
50 | #define IMX21_CLK_GPIO_GATE 37 | ||
51 | #define IMX21_CLK_I2C_GATE 38 | ||
52 | #define IMX21_CLK_DMA_GATE 39 | ||
53 | #define IMX21_CLK_USB_GATE 40 | ||
54 | #define IMX21_CLK_EMMA_GATE 41 | ||
55 | #define IMX21_CLK_SSI2_BAUD_GATE 42 | ||
56 | #define IMX21_CLK_SSI1_BAUD_GATE 43 | ||
57 | #define IMX21_CLK_LCDC_IPG_GATE 44 | ||
58 | #define IMX21_CLK_NFC_GATE 45 | ||
59 | #define IMX21_CLK_LCDC_HCLK_GATE 46 | ||
60 | #define IMX21_CLK_PER4_GATE 47 | ||
61 | #define IMX21_CLK_BMI_GATE 48 | ||
62 | #define IMX21_CLK_USB_HCLK_GATE 49 | ||
63 | #define IMX21_CLK_SLCDC_GATE 50 | ||
64 | #define IMX21_CLK_SLCDC_HCLK_GATE 51 | ||
65 | #define IMX21_CLK_EMMA_HCLK_GATE 52 | ||
66 | #define IMX21_CLK_BROM_GATE 53 | ||
67 | #define IMX21_CLK_DMA_HCLK_GATE 54 | ||
68 | #define IMX21_CLK_CSI_HCLK_GATE 55 | ||
69 | #define IMX21_CLK_CSPI3_IPG_GATE 56 | ||
70 | #define IMX21_CLK_WDOG_GATE 57 | ||
71 | #define IMX21_CLK_GPT1_IPG_GATE 58 | ||
72 | #define IMX21_CLK_GPT2_IPG_GATE 59 | ||
73 | #define IMX21_CLK_GPT3_IPG_GATE 60 | ||
74 | #define IMX21_CLK_PWM_IPG_GATE 61 | ||
75 | #define IMX21_CLK_RTC_GATE 62 | ||
76 | #define IMX21_CLK_KPP_GATE 63 | ||
77 | #define IMX21_CLK_OWIRE_GATE 64 | ||
78 | #define IMX21_CLK_MAX 65 | ||
79 | |||
80 | #endif | ||
diff --git a/include/dt-bindings/clock/imx27-clock.h b/include/dt-bindings/clock/imx27-clock.h new file mode 100644 index 000000000000..148b053e54ec --- /dev/null +++ b/include/dt-bindings/clock/imx27-clock.h | |||
@@ -0,0 +1,108 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> | ||
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 | */ | ||
9 | |||
10 | #ifndef __DT_BINDINGS_CLOCK_IMX27_H | ||
11 | #define __DT_BINDINGS_CLOCK_IMX27_H | ||
12 | |||
13 | #define IMX27_CLK_DUMMY 0 | ||
14 | #define IMX27_CLK_CKIH 1 | ||
15 | #define IMX27_CLK_CKIL 2 | ||
16 | #define IMX27_CLK_MPLL 3 | ||
17 | #define IMX27_CLK_SPLL 4 | ||
18 | #define IMX27_CLK_MPLL_MAIN2 5 | ||
19 | #define IMX27_CLK_AHB 6 | ||
20 | #define IMX27_CLK_IPG 7 | ||
21 | #define IMX27_CLK_NFC_DIV 8 | ||
22 | #define IMX27_CLK_PER1_DIV 9 | ||
23 | #define IMX27_CLK_PER2_DIV 10 | ||
24 | #define IMX27_CLK_PER3_DIV 11 | ||
25 | #define IMX27_CLK_PER4_DIV 12 | ||
26 | #define IMX27_CLK_VPU_SEL 13 | ||
27 | #define IMX27_CLK_VPU_DIV 14 | ||
28 | #define IMX27_CLK_USB_DIV 15 | ||
29 | #define IMX27_CLK_CPU_SEL 16 | ||
30 | #define IMX27_CLK_CLKO_SEL 17 | ||
31 | #define IMX27_CLK_CPU_DIV 18 | ||
32 | #define IMX27_CLK_CLKO_DIV 19 | ||
33 | #define IMX27_CLK_SSI1_SEL 20 | ||
34 | #define IMX27_CLK_SSI2_SEL 21 | ||
35 | #define IMX27_CLK_SSI1_DIV 22 | ||
36 | #define IMX27_CLK_SSI2_DIV 23 | ||
37 | #define IMX27_CLK_CLKO_EN 24 | ||
38 | #define IMX27_CLK_SSI2_IPG_GATE 25 | ||
39 | #define IMX27_CLK_SSI1_IPG_GATE 26 | ||
40 | #define IMX27_CLK_SLCDC_IPG_GATE 27 | ||
41 | #define IMX27_CLK_SDHC3_IPG_GATE 28 | ||
42 | #define IMX27_CLK_SDHC2_IPG_GATE 29 | ||
43 | #define IMX27_CLK_SDHC1_IPG_GATE 30 | ||
44 | #define IMX27_CLK_SCC_IPG_GATE 31 | ||
45 | #define IMX27_CLK_SAHARA_IPG_GATE 32 | ||
46 | #define IMX27_CLK_RTC_IPG_GATE 33 | ||
47 | #define IMX27_CLK_PWM_IPG_GATE 34 | ||
48 | #define IMX27_CLK_OWIRE_IPG_GATE 35 | ||
49 | #define IMX27_CLK_LCDC_IPG_GATE 36 | ||
50 | #define IMX27_CLK_KPP_IPG_GATE 37 | ||
51 | #define IMX27_CLK_IIM_IPG_GATE 38 | ||
52 | #define IMX27_CLK_I2C2_IPG_GATE 39 | ||
53 | #define IMX27_CLK_I2C1_IPG_GATE 40 | ||
54 | #define IMX27_CLK_GPT6_IPG_GATE 41 | ||
55 | #define IMX27_CLK_GPT5_IPG_GATE 42 | ||
56 | #define IMX27_CLK_GPT4_IPG_GATE 43 | ||
57 | #define IMX27_CLK_GPT3_IPG_GATE 44 | ||
58 | #define IMX27_CLK_GPT2_IPG_GATE 45 | ||
59 | #define IMX27_CLK_GPT1_IPG_GATE 46 | ||
60 | #define IMX27_CLK_GPIO_IPG_GATE 47 | ||
61 | #define IMX27_CLK_FEC_IPG_GATE 48 | ||
62 | #define IMX27_CLK_EMMA_IPG_GATE 49 | ||
63 | #define IMX27_CLK_DMA_IPG_GATE 50 | ||
64 | #define IMX27_CLK_CSPI3_IPG_GATE 51 | ||
65 | #define IMX27_CLK_CSPI2_IPG_GATE 52 | ||
66 | #define IMX27_CLK_CSPI1_IPG_GATE 53 | ||
67 | #define IMX27_CLK_NFC_BAUD_GATE 54 | ||
68 | #define IMX27_CLK_SSI2_BAUD_GATE 55 | ||
69 | #define IMX27_CLK_SSI1_BAUD_GATE 56 | ||
70 | #define IMX27_CLK_VPU_BAUD_GATE 57 | ||
71 | #define IMX27_CLK_PER4_GATE 58 | ||
72 | #define IMX27_CLK_PER3_GATE 59 | ||
73 | #define IMX27_CLK_PER2_GATE 60 | ||
74 | #define IMX27_CLK_PER1_GATE 61 | ||
75 | #define IMX27_CLK_USB_AHB_GATE 62 | ||
76 | #define IMX27_CLK_SLCDC_AHB_GATE 63 | ||
77 | #define IMX27_CLK_SAHARA_AHB_GATE 64 | ||
78 | #define IMX27_CLK_LCDC_AHB_GATE 65 | ||
79 | #define IMX27_CLK_VPU_AHB_GATE 66 | ||
80 | #define IMX27_CLK_FEC_AHB_GATE 67 | ||
81 | #define IMX27_CLK_EMMA_AHB_GATE 68 | ||
82 | #define IMX27_CLK_EMI_AHB_GATE 69 | ||
83 | #define IMX27_CLK_DMA_AHB_GATE 70 | ||
84 | #define IMX27_CLK_CSI_AHB_GATE 71 | ||
85 | #define IMX27_CLK_BROM_AHB_GATE 72 | ||
86 | #define IMX27_CLK_ATA_AHB_GATE 73 | ||
87 | #define IMX27_CLK_WDOG_IPG_GATE 74 | ||
88 | #define IMX27_CLK_USB_IPG_GATE 75 | ||
89 | #define IMX27_CLK_UART6_IPG_GATE 76 | ||
90 | #define IMX27_CLK_UART5_IPG_GATE 77 | ||
91 | #define IMX27_CLK_UART4_IPG_GATE 78 | ||
92 | #define IMX27_CLK_UART3_IPG_GATE 79 | ||
93 | #define IMX27_CLK_UART2_IPG_GATE 80 | ||
94 | #define IMX27_CLK_UART1_IPG_GATE 81 | ||
95 | #define IMX27_CLK_CKIH_DIV1P5 82 | ||
96 | #define IMX27_CLK_FPM 83 | ||
97 | #define IMX27_CLK_MPLL_OSC_SEL 84 | ||
98 | #define IMX27_CLK_MPLL_SEL 85 | ||
99 | #define IMX27_CLK_SPLL_GATE 86 | ||
100 | #define IMX27_CLK_MSHC_DIV 87 | ||
101 | #define IMX27_CLK_RTIC_IPG_GATE 88 | ||
102 | #define IMX27_CLK_MSHC_IPG_GATE 89 | ||
103 | #define IMX27_CLK_RTIC_AHB_GATE 90 | ||
104 | #define IMX27_CLK_MSHC_BAUD_GATE 91 | ||
105 | #define IMX27_CLK_CKIH_GATE 92 | ||
106 | #define IMX27_CLK_MAX 93 | ||
107 | |||
108 | #endif | ||
diff --git a/include/dt-bindings/clock/imx6qdl-clock.h b/include/dt-bindings/clock/imx6qdl-clock.h new file mode 100644 index 000000000000..654151e24288 --- /dev/null +++ b/include/dt-bindings/clock/imx6qdl-clock.h | |||
@@ -0,0 +1,224 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Freescale Semiconductor, Inc. | ||
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 | |||
9 | #ifndef __DT_BINDINGS_CLOCK_IMX6QDL_H | ||
10 | #define __DT_BINDINGS_CLOCK_IMX6QDL_H | ||
11 | |||
12 | #define IMX6QDL_CLK_DUMMY 0 | ||
13 | #define IMX6QDL_CLK_CKIL 1 | ||
14 | #define IMX6QDL_CLK_CKIH 2 | ||
15 | #define IMX6QDL_CLK_OSC 3 | ||
16 | #define IMX6QDL_CLK_PLL2_PFD0_352M 4 | ||
17 | #define IMX6QDL_CLK_PLL2_PFD1_594M 5 | ||
18 | #define IMX6QDL_CLK_PLL2_PFD2_396M 6 | ||
19 | #define IMX6QDL_CLK_PLL3_PFD0_720M 7 | ||
20 | #define IMX6QDL_CLK_PLL3_PFD1_540M 8 | ||
21 | #define IMX6QDL_CLK_PLL3_PFD2_508M 9 | ||
22 | #define IMX6QDL_CLK_PLL3_PFD3_454M 10 | ||
23 | #define IMX6QDL_CLK_PLL2_198M 11 | ||
24 | #define IMX6QDL_CLK_PLL3_120M 12 | ||
25 | #define IMX6QDL_CLK_PLL3_80M 13 | ||
26 | #define IMX6QDL_CLK_PLL3_60M 14 | ||
27 | #define IMX6QDL_CLK_TWD 15 | ||
28 | #define IMX6QDL_CLK_STEP 16 | ||
29 | #define IMX6QDL_CLK_PLL1_SW 17 | ||
30 | #define IMX6QDL_CLK_PERIPH_PRE 18 | ||
31 | #define IMX6QDL_CLK_PERIPH2_PRE 19 | ||
32 | #define IMX6QDL_CLK_PERIPH_CLK2_SEL 20 | ||
33 | #define IMX6QDL_CLK_PERIPH2_CLK2_SEL 21 | ||
34 | #define IMX6QDL_CLK_AXI_SEL 22 | ||
35 | #define IMX6QDL_CLK_ESAI_SEL 23 | ||
36 | #define IMX6QDL_CLK_ASRC_SEL 24 | ||
37 | #define IMX6QDL_CLK_SPDIF_SEL 25 | ||
38 | #define IMX6QDL_CLK_GPU2D_AXI 26 | ||
39 | #define IMX6QDL_CLK_GPU3D_AXI 27 | ||
40 | #define IMX6QDL_CLK_GPU2D_CORE_SEL 28 | ||
41 | #define IMX6QDL_CLK_GPU3D_CORE_SEL 29 | ||
42 | #define IMX6QDL_CLK_GPU3D_SHADER_SEL 30 | ||
43 | #define IMX6QDL_CLK_IPU1_SEL 31 | ||
44 | #define IMX6QDL_CLK_IPU2_SEL 32 | ||
45 | #define IMX6QDL_CLK_LDB_DI0_SEL 33 | ||
46 | #define IMX6QDL_CLK_LDB_DI1_SEL 34 | ||
47 | #define IMX6QDL_CLK_IPU1_DI0_PRE_SEL 35 | ||
48 | #define IMX6QDL_CLK_IPU1_DI1_PRE_SEL 36 | ||
49 | #define IMX6QDL_CLK_IPU2_DI0_PRE_SEL 37 | ||
50 | #define IMX6QDL_CLK_IPU2_DI1_PRE_SEL 38 | ||
51 | #define IMX6QDL_CLK_IPU1_DI0_SEL 39 | ||
52 | #define IMX6QDL_CLK_IPU1_DI1_SEL 40 | ||
53 | #define IMX6QDL_CLK_IPU2_DI0_SEL 41 | ||
54 | #define IMX6QDL_CLK_IPU2_DI1_SEL 42 | ||
55 | #define IMX6QDL_CLK_HSI_TX_SEL 43 | ||
56 | #define IMX6QDL_CLK_PCIE_AXI_SEL 44 | ||
57 | #define IMX6QDL_CLK_SSI1_SEL 45 | ||
58 | #define IMX6QDL_CLK_SSI2_SEL 46 | ||
59 | #define IMX6QDL_CLK_SSI3_SEL 47 | ||
60 | #define IMX6QDL_CLK_USDHC1_SEL 48 | ||
61 | #define IMX6QDL_CLK_USDHC2_SEL 49 | ||
62 | #define IMX6QDL_CLK_USDHC3_SEL 50 | ||
63 | #define IMX6QDL_CLK_USDHC4_SEL 51 | ||
64 | #define IMX6QDL_CLK_ENFC_SEL 52 | ||
65 | #define IMX6QDL_CLK_EMI_SEL 53 | ||
66 | #define IMX6QDL_CLK_EMI_SLOW_SEL 54 | ||
67 | #define IMX6QDL_CLK_VDO_AXI_SEL 55 | ||
68 | #define IMX6QDL_CLK_VPU_AXI_SEL 56 | ||
69 | #define IMX6QDL_CLK_CKO1_SEL 57 | ||
70 | #define IMX6QDL_CLK_PERIPH 58 | ||
71 | #define IMX6QDL_CLK_PERIPH2 59 | ||
72 | #define IMX6QDL_CLK_PERIPH_CLK2 60 | ||
73 | #define IMX6QDL_CLK_PERIPH2_CLK2 61 | ||
74 | #define IMX6QDL_CLK_IPG 62 | ||
75 | #define IMX6QDL_CLK_IPG_PER 63 | ||
76 | #define IMX6QDL_CLK_ESAI_PRED 64 | ||
77 | #define IMX6QDL_CLK_ESAI_PODF 65 | ||
78 | #define IMX6QDL_CLK_ASRC_PRED 66 | ||
79 | #define IMX6QDL_CLK_ASRC_PODF 67 | ||
80 | #define IMX6QDL_CLK_SPDIF_PRED 68 | ||
81 | #define IMX6QDL_CLK_SPDIF_PODF 69 | ||
82 | #define IMX6QDL_CLK_CAN_ROOT 70 | ||
83 | #define IMX6QDL_CLK_ECSPI_ROOT 71 | ||
84 | #define IMX6QDL_CLK_GPU2D_CORE_PODF 72 | ||
85 | #define IMX6QDL_CLK_GPU3D_CORE_PODF 73 | ||
86 | #define IMX6QDL_CLK_GPU3D_SHADER 74 | ||
87 | #define IMX6QDL_CLK_IPU1_PODF 75 | ||
88 | #define IMX6QDL_CLK_IPU2_PODF 76 | ||
89 | #define IMX6QDL_CLK_LDB_DI0_PODF 77 | ||
90 | #define IMX6QDL_CLK_LDB_DI1_PODF 78 | ||
91 | #define IMX6QDL_CLK_IPU1_DI0_PRE 79 | ||
92 | #define IMX6QDL_CLK_IPU1_DI1_PRE 80 | ||
93 | #define IMX6QDL_CLK_IPU2_DI0_PRE 81 | ||
94 | #define IMX6QDL_CLK_IPU2_DI1_PRE 82 | ||
95 | #define IMX6QDL_CLK_HSI_TX_PODF 83 | ||
96 | #define IMX6QDL_CLK_SSI1_PRED 84 | ||
97 | #define IMX6QDL_CLK_SSI1_PODF 85 | ||
98 | #define IMX6QDL_CLK_SSI2_PRED 86 | ||
99 | #define IMX6QDL_CLK_SSI2_PODF 87 | ||
100 | #define IMX6QDL_CLK_SSI3_PRED 88 | ||
101 | #define IMX6QDL_CLK_SSI3_PODF 89 | ||
102 | #define IMX6QDL_CLK_UART_SERIAL_PODF 90 | ||
103 | #define IMX6QDL_CLK_USDHC1_PODF 91 | ||
104 | #define IMX6QDL_CLK_USDHC2_PODF 92 | ||
105 | #define IMX6QDL_CLK_USDHC3_PODF 93 | ||
106 | #define IMX6QDL_CLK_USDHC4_PODF 94 | ||
107 | #define IMX6QDL_CLK_ENFC_PRED 95 | ||
108 | #define IMX6QDL_CLK_ENFC_PODF 96 | ||
109 | #define IMX6QDL_CLK_EMI_PODF 97 | ||
110 | #define IMX6QDL_CLK_EMI_SLOW_PODF 98 | ||
111 | #define IMX6QDL_CLK_VPU_AXI_PODF 99 | ||
112 | #define IMX6QDL_CLK_CKO1_PODF 100 | ||
113 | #define IMX6QDL_CLK_AXI 101 | ||
114 | #define IMX6QDL_CLK_MMDC_CH0_AXI_PODF 102 | ||
115 | #define IMX6QDL_CLK_MMDC_CH1_AXI_PODF 103 | ||
116 | #define IMX6QDL_CLK_ARM 104 | ||
117 | #define IMX6QDL_CLK_AHB 105 | ||
118 | #define IMX6QDL_CLK_APBH_DMA 106 | ||
119 | #define IMX6QDL_CLK_ASRC 107 | ||
120 | #define IMX6QDL_CLK_CAN1_IPG 108 | ||
121 | #define IMX6QDL_CLK_CAN1_SERIAL 109 | ||
122 | #define IMX6QDL_CLK_CAN2_IPG 110 | ||
123 | #define IMX6QDL_CLK_CAN2_SERIAL 111 | ||
124 | #define IMX6QDL_CLK_ECSPI1 112 | ||
125 | #define IMX6QDL_CLK_ECSPI2 113 | ||
126 | #define IMX6QDL_CLK_ECSPI3 114 | ||
127 | #define IMX6QDL_CLK_ECSPI4 115 | ||
128 | #define IMX6Q_CLK_ECSPI5 116 | ||
129 | #define IMX6DL_CLK_I2C4 116 | ||
130 | #define IMX6QDL_CLK_ENET 117 | ||
131 | #define IMX6QDL_CLK_ESAI 118 | ||
132 | #define IMX6QDL_CLK_GPT_IPG 119 | ||
133 | #define IMX6QDL_CLK_GPT_IPG_PER 120 | ||
134 | #define IMX6QDL_CLK_GPU2D_CORE 121 | ||
135 | #define IMX6QDL_CLK_GPU3D_CORE 122 | ||
136 | #define IMX6QDL_CLK_HDMI_IAHB 123 | ||
137 | #define IMX6QDL_CLK_HDMI_ISFR 124 | ||
138 | #define IMX6QDL_CLK_I2C1 125 | ||
139 | #define IMX6QDL_CLK_I2C2 126 | ||
140 | #define IMX6QDL_CLK_I2C3 127 | ||
141 | #define IMX6QDL_CLK_IIM 128 | ||
142 | #define IMX6QDL_CLK_ENFC 129 | ||
143 | #define IMX6QDL_CLK_IPU1 130 | ||
144 | #define IMX6QDL_CLK_IPU1_DI0 131 | ||
145 | #define IMX6QDL_CLK_IPU1_DI1 132 | ||
146 | #define IMX6QDL_CLK_IPU2 133 | ||
147 | #define IMX6QDL_CLK_IPU2_DI0 134 | ||
148 | #define IMX6QDL_CLK_LDB_DI0 135 | ||
149 | #define IMX6QDL_CLK_LDB_DI1 136 | ||
150 | #define IMX6QDL_CLK_IPU2_DI1 137 | ||
151 | #define IMX6QDL_CLK_HSI_TX 138 | ||
152 | #define IMX6QDL_CLK_MLB 139 | ||
153 | #define IMX6QDL_CLK_MMDC_CH0_AXI 140 | ||
154 | #define IMX6QDL_CLK_MMDC_CH1_AXI 141 | ||
155 | #define IMX6QDL_CLK_OCRAM 142 | ||
156 | #define IMX6QDL_CLK_OPENVG_AXI 143 | ||
157 | #define IMX6QDL_CLK_PCIE_AXI 144 | ||
158 | #define IMX6QDL_CLK_PWM1 145 | ||
159 | #define IMX6QDL_CLK_PWM2 146 | ||
160 | #define IMX6QDL_CLK_PWM3 147 | ||
161 | #define IMX6QDL_CLK_PWM4 148 | ||
162 | #define IMX6QDL_CLK_PER1_BCH 149 | ||
163 | #define IMX6QDL_CLK_GPMI_BCH_APB 150 | ||
164 | #define IMX6QDL_CLK_GPMI_BCH 151 | ||
165 | #define IMX6QDL_CLK_GPMI_IO 152 | ||
166 | #define IMX6QDL_CLK_GPMI_APB 153 | ||
167 | #define IMX6QDL_CLK_SATA 154 | ||
168 | #define IMX6QDL_CLK_SDMA 155 | ||
169 | #define IMX6QDL_CLK_SPBA 156 | ||
170 | #define IMX6QDL_CLK_SSI1 157 | ||
171 | #define IMX6QDL_CLK_SSI2 158 | ||
172 | #define IMX6QDL_CLK_SSI3 159 | ||
173 | #define IMX6QDL_CLK_UART_IPG 160 | ||
174 | #define IMX6QDL_CLK_UART_SERIAL 161 | ||
175 | #define IMX6QDL_CLK_USBOH3 162 | ||
176 | #define IMX6QDL_CLK_USDHC1 163 | ||
177 | #define IMX6QDL_CLK_USDHC2 164 | ||
178 | #define IMX6QDL_CLK_USDHC3 165 | ||
179 | #define IMX6QDL_CLK_USDHC4 166 | ||
180 | #define IMX6QDL_CLK_VDO_AXI 167 | ||
181 | #define IMX6QDL_CLK_VPU_AXI 168 | ||
182 | #define IMX6QDL_CLK_CKO1 169 | ||
183 | #define IMX6QDL_CLK_PLL1_SYS 170 | ||
184 | #define IMX6QDL_CLK_PLL2_BUS 171 | ||
185 | #define IMX6QDL_CLK_PLL3_USB_OTG 172 | ||
186 | #define IMX6QDL_CLK_PLL4_AUDIO 173 | ||
187 | #define IMX6QDL_CLK_PLL5_VIDEO 174 | ||
188 | #define IMX6QDL_CLK_PLL8_MLB 175 | ||
189 | #define IMX6QDL_CLK_PLL7_USB_HOST 176 | ||
190 | #define IMX6QDL_CLK_PLL6_ENET 177 | ||
191 | #define IMX6QDL_CLK_SSI1_IPG 178 | ||
192 | #define IMX6QDL_CLK_SSI2_IPG 179 | ||
193 | #define IMX6QDL_CLK_SSI3_IPG 180 | ||
194 | #define IMX6QDL_CLK_ROM 181 | ||
195 | #define IMX6QDL_CLK_USBPHY1 182 | ||
196 | #define IMX6QDL_CLK_USBPHY2 183 | ||
197 | #define IMX6QDL_CLK_LDB_DI0_DIV_3_5 184 | ||
198 | #define IMX6QDL_CLK_LDB_DI1_DIV_3_5 185 | ||
199 | #define IMX6QDL_CLK_SATA_REF 186 | ||
200 | #define IMX6QDL_CLK_SATA_REF_100M 187 | ||
201 | #define IMX6QDL_CLK_PCIE_REF 188 | ||
202 | #define IMX6QDL_CLK_PCIE_REF_125M 189 | ||
203 | #define IMX6QDL_CLK_ENET_REF 190 | ||
204 | #define IMX6QDL_CLK_USBPHY1_GATE 191 | ||
205 | #define IMX6QDL_CLK_USBPHY2_GATE 192 | ||
206 | #define IMX6QDL_CLK_PLL4_POST_DIV 193 | ||
207 | #define IMX6QDL_CLK_PLL5_POST_DIV 194 | ||
208 | #define IMX6QDL_CLK_PLL5_VIDEO_DIV 195 | ||
209 | #define IMX6QDL_CLK_EIM_SLOW 196 | ||
210 | #define IMX6QDL_CLK_SPDIF 197 | ||
211 | #define IMX6QDL_CLK_CKO2_SEL 198 | ||
212 | #define IMX6QDL_CLK_CKO2_PODF 199 | ||
213 | #define IMX6QDL_CLK_CKO2 200 | ||
214 | #define IMX6QDL_CLK_CKO 201 | ||
215 | #define IMX6QDL_CLK_VDOA 202 | ||
216 | #define IMX6QDL_CLK_PLL4_AUDIO_DIV 203 | ||
217 | #define IMX6QDL_CLK_LVDS1_SEL 204 | ||
218 | #define IMX6QDL_CLK_LVDS2_SEL 205 | ||
219 | #define IMX6QDL_CLK_LVDS1_GATE 206 | ||
220 | #define IMX6QDL_CLK_LVDS2_GATE 207 | ||
221 | #define IMX6QDL_CLK_ESAI_AHB 208 | ||
222 | #define IMX6QDL_CLK_END 209 | ||
223 | |||
224 | #endif /* __DT_BINDINGS_CLOCK_IMX6QDL_H */ | ||
diff --git a/include/dt-bindings/clock/vf610-clock.h b/include/dt-bindings/clock/vf610-clock.h index a91602951d3d..00953d9484cb 100644 --- a/include/dt-bindings/clock/vf610-clock.h +++ b/include/dt-bindings/clock/vf610-clock.h | |||
@@ -164,6 +164,8 @@ | |||
164 | #define VF610_CLK_DMAMUX1 151 | 164 | #define VF610_CLK_DMAMUX1 151 |
165 | #define VF610_CLK_DMAMUX2 152 | 165 | #define VF610_CLK_DMAMUX2 152 |
166 | #define VF610_CLK_DMAMUX3 153 | 166 | #define VF610_CLK_DMAMUX3 153 |
167 | #define VF610_CLK_END 154 | 167 | #define VF610_CLK_FLEXCAN0_EN 154 |
168 | #define VF610_CLK_FLEXCAN1_EN 155 | ||
169 | #define VF610_CLK_END 156 | ||
168 | 170 | ||
169 | #endif /* __DT_BINDINGS_CLOCK_VF610_H */ | 171 | #endif /* __DT_BINDINGS_CLOCK_VF610_H */ |
diff --git a/include/linux/platform_data/camera-mx1.h b/include/linux/platform_data/camera-mx1.h deleted file mode 100644 index 4fd6c70314b4..000000000000 --- a/include/linux/platform_data/camera-mx1.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * mx1_camera.h - i.MX1/i.MXL camera driver header file | ||
3 | * | ||
4 | * Copyright (c) 2008, Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | ||
5 | * Copyright (C) 2009, Darius Augulis <augulis.darius@gmail.com> | ||
6 | * | ||
7 | * Based on PXA camera.h file: | ||
8 | * Copyright (C) 2003, Intel Corporation | ||
9 | * Copyright (C) 2008, Guennadi Liakhovetski <kernel@pengutronix.de> | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_CAMERA_H_ | ||
17 | #define __ASM_ARCH_CAMERA_H_ | ||
18 | |||
19 | #define MX1_CAMERA_DATA_HIGH 1 | ||
20 | #define MX1_CAMERA_PCLK_RISING 2 | ||
21 | #define MX1_CAMERA_VSYNC_HIGH 4 | ||
22 | |||
23 | extern unsigned char mx1_camera_sof_fiq_start, mx1_camera_sof_fiq_end; | ||
24 | |||
25 | /** | ||
26 | * struct mx1_camera_pdata - i.MX1/i.MXL camera platform data | ||
27 | * @mclk_10khz: master clock frequency in 10kHz units | ||
28 | * @flags: MX1 camera platform flags | ||
29 | */ | ||
30 | struct mx1_camera_pdata { | ||
31 | unsigned long mclk_10khz; | ||
32 | unsigned long flags; | ||
33 | }; | ||
34 | |||
35 | #endif /* __ASM_ARCH_CAMERA_H_ */ | ||
diff --git a/include/linux/platform_data/usb-ehci-mxc.h b/include/linux/platform_data/usb-ehci-mxc.h index 7eb9d1329671..157e71f79f99 100644 --- a/include/linux/platform_data/usb-ehci-mxc.h +++ b/include/linux/platform_data/usb-ehci-mxc.h | |||
@@ -1,46 +1,6 @@ | |||
1 | #ifndef __INCLUDE_ASM_ARCH_MXC_EHCI_H | 1 | #ifndef __INCLUDE_ASM_ARCH_MXC_EHCI_H |
2 | #define __INCLUDE_ASM_ARCH_MXC_EHCI_H | 2 | #define __INCLUDE_ASM_ARCH_MXC_EHCI_H |
3 | 3 | ||
4 | /* values for portsc field */ | ||
5 | #define MXC_EHCI_PHY_LOW_POWER_SUSPEND (1 << 23) | ||
6 | #define MXC_EHCI_FORCE_FS (1 << 24) | ||
7 | #define MXC_EHCI_UTMI_8BIT (0 << 28) | ||
8 | #define MXC_EHCI_UTMI_16BIT (1 << 28) | ||
9 | #define MXC_EHCI_SERIAL (1 << 29) | ||
10 | #define MXC_EHCI_MODE_UTMI (0 << 30) | ||
11 | #define MXC_EHCI_MODE_PHILIPS (1 << 30) | ||
12 | #define MXC_EHCI_MODE_ULPI (2 << 30) | ||
13 | #define MXC_EHCI_MODE_SERIAL (3 << 30) | ||
14 | |||
15 | /* values for flags field */ | ||
16 | #define MXC_EHCI_INTERFACE_DIFF_UNI (0 << 0) | ||
17 | #define MXC_EHCI_INTERFACE_DIFF_BI (1 << 0) | ||
18 | #define MXC_EHCI_INTERFACE_SINGLE_UNI (2 << 0) | ||
19 | #define MXC_EHCI_INTERFACE_SINGLE_BI (3 << 0) | ||
20 | #define MXC_EHCI_INTERFACE_MASK (0xf) | ||
21 | |||
22 | #define MXC_EHCI_POWER_PINS_ENABLED (1 << 5) | ||
23 | #define MXC_EHCI_PWR_PIN_ACTIVE_HIGH (1 << 6) | ||
24 | #define MXC_EHCI_OC_PIN_ACTIVE_LOW (1 << 7) | ||
25 | #define MXC_EHCI_TTL_ENABLED (1 << 8) | ||
26 | |||
27 | #define MXC_EHCI_INTERNAL_PHY (1 << 9) | ||
28 | #define MXC_EHCI_IPPUE_DOWN (1 << 10) | ||
29 | #define MXC_EHCI_IPPUE_UP (1 << 11) | ||
30 | #define MXC_EHCI_WAKEUP_ENABLED (1 << 12) | ||
31 | #define MXC_EHCI_ITC_NO_THRESHOLD (1 << 13) | ||
32 | |||
33 | #define MXC_USBCTRL_OFFSET 0 | ||
34 | #define MXC_USB_PHY_CTR_FUNC_OFFSET 0x8 | ||
35 | #define MXC_USB_PHY_CTR_FUNC2_OFFSET 0xc | ||
36 | #define MXC_USBH2CTRL_OFFSET 0x14 | ||
37 | |||
38 | #define MX5_USBOTHER_REGS_OFFSET 0x800 | ||
39 | |||
40 | /* USB_PHY_CTRL_FUNC2*/ | ||
41 | #define MX5_USB_UTMI_PHYCTRL1_PLLDIV_MASK 0x3 | ||
42 | #define MX5_USB_UTMI_PHYCTRL1_PLLDIV_SHIFT 0 | ||
43 | |||
44 | struct mxc_usbh_platform_data { | 4 | struct mxc_usbh_platform_data { |
45 | int (*init)(struct platform_device *pdev); | 5 | int (*init)(struct platform_device *pdev); |
46 | int (*exit)(struct platform_device *pdev); | 6 | int (*exit)(struct platform_device *pdev); |
@@ -49,11 +9,5 @@ struct mxc_usbh_platform_data { | |||
49 | struct usb_phy *otg; | 9 | struct usb_phy *otg; |
50 | }; | 10 | }; |
51 | 11 | ||
52 | int mx51_initialize_usb_hw(int port, unsigned int flags); | ||
53 | int mx25_initialize_usb_hw(int port, unsigned int flags); | ||
54 | int mx31_initialize_usb_hw(int port, unsigned int flags); | ||
55 | int mx35_initialize_usb_hw(int port, unsigned int flags); | ||
56 | int mx27_initialize_usb_hw(int port, unsigned int flags); | ||
57 | |||
58 | #endif /* __INCLUDE_ASM_ARCH_MXC_EHCI_H */ | 12 | #endif /* __INCLUDE_ASM_ARCH_MXC_EHCI_H */ |
59 | 13 | ||
diff --git a/include/linux/platform_data/usb-imx_udc.h b/include/linux/platform_data/usb-imx_udc.h deleted file mode 100644 index be273371f34a..000000000000 --- a/include/linux/platform_data/usb-imx_udc.h +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2008 Darius Augulis <augulis.darius@gmail.com> | ||
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 as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | |||
15 | #ifndef __ASM_ARCH_MXC_USB | ||
16 | #define __ASM_ARCH_MXC_USB | ||
17 | |||
18 | struct imxusb_platform_data { | ||
19 | int (*init)(struct device *); | ||
20 | void (*exit)(struct device *); | ||
21 | }; | ||
22 | |||
23 | #endif /* __ASM_ARCH_MXC_USB */ | ||