forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
....@@ -1,7 +1,6 @@
1
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
12 /*
23 * Copyright (c) 2017 Andreas Färber
3
- *
4
- * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
54 */
65
76 /dts-v1/;
....@@ -13,6 +12,9 @@
1312 model = "Bubblegum-96";
1413
1514 aliases {
15
+ mmc0 = &mmc0;
16
+ mmc1 = &mmc1;
17
+ mmc2 = &mmc2;
1618 serial5 = &uart5;
1719 };
1820
....@@ -25,11 +27,282 @@
2527 reg = <0x0 0x0 0x0 0x80000000>;
2628 };
2729
28
- uart5_clk: uart5-clk {
29
- compatible = "fixed-clock";
30
- clock-frequency = <921600>;
31
- #clock-cells = <0>;
30
+ /* Fixed regulator used in the absence of PMIC */
31
+ vcc_3v1: vcc-3v1 {
32
+ compatible = "regulator-fixed";
33
+ regulator-name = "fixed-3.1V";
34
+ regulator-min-microvolt = <3100000>;
35
+ regulator-max-microvolt = <3100000>;
36
+ regulator-always-on;
3237 };
38
+
39
+ /* Fixed regulator used in the absence of PMIC */
40
+ sd_vcc: sd-vcc {
41
+ compatible = "regulator-fixed";
42
+ regulator-name = "fixed-3.1V";
43
+ regulator-min-microvolt = <3100000>;
44
+ regulator-max-microvolt = <3100000>;
45
+ regulator-always-on;
46
+ };
47
+};
48
+
49
+&i2c0 {
50
+ status = "disabled";
51
+ pinctrl-names = "default";
52
+ pinctrl-0 = <&i2c0_default>;
53
+};
54
+
55
+&i2c1 {
56
+ status = "okay";
57
+ pinctrl-names = "default";
58
+ pinctrl-0 = <&i2c1_default>;
59
+};
60
+
61
+&i2c2 {
62
+ status = "okay";
63
+ pinctrl-names = "default";
64
+ pinctrl-0 = <&i2c2_default>;
65
+};
66
+
67
+/*
68
+ * GPIO name legend: proper name = the GPIO line is used as GPIO
69
+ * NC = not connected (pin out but not routed from the chip to
70
+ * anything the board)
71
+ * "[PER]" = pin is muxed for [peripheral] (not GPIO)
72
+ * LSEC = Low Speed External Connector
73
+ * HSEC = High Speed External Connector
74
+ *
75
+ * Line names are taken from the schematic "Schematics Bubblegum96"
76
+ * version v1.0
77
+ *
78
+ * For the lines routed to the external connectors the
79
+ * lines are named after the 96Boards CE Specification 1.0,
80
+ * Appendix "Expansion Connector Signal Description".
81
+ *
82
+ * When the 96Boards naming of a line and the schematic name of
83
+ * the same line are in conflict, the 96Boards specification
84
+ * takes precedence, which means that the external UART on the
85
+ * LSEC is named UART0 while the schematic and SoC names this
86
+ * UART2. Only exception is the I2C lines for which the schematic
87
+ * naming has been preferred. This is only for the informational
88
+ * lines i.e. "[FOO]", the GPIO named lines "GPIO-A" thru "GPIO-L"
89
+ * are the only ones actually used for GPIO.
90
+ */
91
+
92
+&pinctrl {
93
+ gpio-line-names =
94
+ "GPIO-A", /* GPIO_0, LSEC pin 23 */
95
+ "GPIO-B", /* GPIO_1, LSEC pin 24 */
96
+ "GPIO-C", /* GPIO_2, LSEC pin 25 */
97
+ "GPIO-D", /* GPIO_3, LSEC pin 26 */
98
+ "GPIO-E", /* GPIO_4, LSEC pin 27 */
99
+ "GPIO-F", /* GPIO_5, LSEC pin 28 */
100
+ "GPIO-G", /* GPIO_6, LSEC pin 29 */
101
+ "GPIO-H", /* GPIO_7, LSEC pin 30 */
102
+ "GPIO-I", /* GPIO_8, LSEC pin 31 */
103
+ "GPIO-J", /* GPIO_9, LSEC pin 32 */
104
+ "NC", /* GPIO_10 */
105
+ "NC", /* GPIO_11 */
106
+ "SIRQ2_1V8", /* GPIO_12 */
107
+ "PCM0_OUT", /* GPIO_13 */
108
+ "WIFI_LED", /* GPIO_14 */
109
+ "PCM0_SYNC", /* GPIO_15 */
110
+ "PCM0_CLK", /* GPIO_16 */
111
+ "PCM0_IN", /* GPIO_17 */
112
+ "BT_LED", /* GPIO_18 */
113
+ "LED0", /* GPIO_19 */
114
+ "LED1", /* GPIO_20 */
115
+ "JTAG_TCK", /* GPIO_21 */
116
+ "JTAG_TMS", /* GPIO_22 */
117
+ "JTAG_TDI", /* GPIO_23 */
118
+ "JTAG_TDO", /* GPIO_24 */
119
+ "[UART1_RxD]", /* GPIO_25, LSEC pin 13 */
120
+ "NC", /* GPIO_26 */
121
+ "[UART1_TxD]", /* GPIO_27, LSEC pin 11 */
122
+ "SD0_D0", /* GPIO_28 */
123
+ "SD0_D1", /* GPIO_29 */
124
+ "SD0_D2", /* GPIO_30 */
125
+ "SD0_D3", /* GPIO_31 */
126
+ "SD1_D0", /* GPIO_32 */
127
+ "SD1_D1", /* GPIO_33 */
128
+ "SD1_D2", /* GPIO_34 */
129
+ "SD1_D3", /* GPIO_35 */
130
+ "SD0_CMD", /* GPIO_36 */
131
+ "SD0_CLK", /* GPIO_37 */
132
+ "SD1_CMD", /* GPIO_38 */
133
+ "SD1_CLK", /* GPIO_39 */
134
+ "SPI0_SCLK", /* GPIO_40, LSEC pin 8 */
135
+ "SPI0_CS", /* GPIO_41, LSEC pin 12 */
136
+ "SPI0_DIN", /* GPIO_42, LSEC pin 10 */
137
+ "SPI0_DOUT", /* GPIO_43, LSEC pin 14 */
138
+ "I2C5_SDATA", /* GPIO_44, HSEC pin 36 */
139
+ "I2C5_SCLK", /* GPIO_45, HSEC pin 38 */
140
+ "UART0_RX", /* GPIO_46, LSEC pin 7 */
141
+ "UART0_TX", /* GPIO_47, LSEC pin 5 */
142
+ "UART0_RTSB", /* GPIO_48, LSEC pin 9 */
143
+ "UART0_CTSB", /* GPIO_49, LSEC pin 3 */
144
+ "I2C4_SCLK", /* GPIO_50, HSEC pin 32 */
145
+ "I2C4_SDATA", /* GPIO_51, HSEC pin 34 */
146
+ "I2C0_SCLK", /* GPIO_52 */
147
+ "I2C0_SDATA", /* GPIO_53 */
148
+ "I2C1_SCLK", /* GPIO_54, LSEC pin 15 */
149
+ "I2C1_SDATA", /* GPIO_55, LSEC pin 17 */
150
+ "I2C2_SCLK", /* GPIO_56, LSEC pin 19 */
151
+ "I2C2_SDATA", /* GPIO_57, LSEC pin 21 */
152
+ "CSI0_DN0", /* GPIO_58, HSEC pin 10 */
153
+ "CSI0_DP0", /* GPIO_59, HSEC pin 8 */
154
+ "CSI0_DN1", /* GPIO_60, HSEC pin 16 */
155
+ "CSI0_DP1", /* GPIO_61, HSEC pin 14 */
156
+ "CSI0_CN", /* GPIO_62, HSEC pin 4 */
157
+ "CSI0_CP", /* GPIO_63, HSEC pin 2 */
158
+ "CSI0_DN2", /* GPIO_64, HSEC pin 22 */
159
+ "CSI0_DP2", /* GPIO_65, HSEC pin 20 */
160
+ "CSI0_DN3", /* GPIO_66, HSEC pin 28 */
161
+ "CSI0_DP3", /* GPIO_67, HSEC pin 26 */
162
+ "[CLK0]", /* GPIO_68, HSEC pin 15 */
163
+ "CSI1_DN0", /* GPIO_69, HSEC pin 44 */
164
+ "CSI1_DP0", /* GPIO_70, HSEC pin 42 */
165
+ "CSI1_DN1", /* GPIO_71, HSEC pin 50 */
166
+ "CSI1_DP1", /* GPIO_72, HSEC pin 48 */
167
+ "CSI1_CN", /* GPIO_73, HSEC pin 56 */
168
+ "CSI1_CP", /* GPIO_74, HSEC pin 54 */
169
+ "[CLK1]", /* GPIO_75, HSEC pin 17 */
170
+ "[GPIOD0]", /* GPIO_76 */
171
+ "[GPIOD1]", /* GPIO_77 */
172
+ "BT_RST_N", /* GPIO_78 */
173
+ "EXT_DC_EN", /* GPIO_79 */
174
+ "[PCM_DI]", /* GPIO_80, LSEC pin 22 */
175
+ "[PCM_DO]", /* GPIO_81, LSEC pin 20 */
176
+ "[PCM_CLK]", /* GPIO_82, LSEC pin 18 */
177
+ "[PCM_FS]", /* GPIO_83, LSEC pin 16 */
178
+ "WAKE_BT", /* GPIO_84 */
179
+ "WL_REG_ON", /* GPIO_85 */
180
+ "NC", /* GPIO_86 */
181
+ "NC", /* GPIO_87 */
182
+ "NC", /* GPIO_88 */
183
+ "NC", /* GPIO_89 */
184
+ "NC", /* GPIO_90 */
185
+ "WIFI_WAKE", /* GPIO_91 */
186
+ "BT_WAKE", /* GPIO_92 */
187
+ "NC", /* GPIO_93 */
188
+ "OTG_EN2", /* GPIO_94 */
189
+ "OTG_EN", /* GPIO_95 */
190
+ "DSI_DP3", /* GPIO_96, HSEC pin 45 */
191
+ "DSI_DN3", /* GPIO_97, HSEC pin 47 */
192
+ "DSI_DP1", /* GPIO_98, HSEC pin 33 */
193
+ "DSI_DN1", /* GPIO_99, HSEC pin 35 */
194
+ "DSI_CP", /* GPIO_100, HSEC pin 21 */
195
+ "DSI_CN", /* GPIO_101, HSEC pin 23 */
196
+ "DSI_DP0", /* GPIO_102, HSEC pin 27 */
197
+ "DSI_DN0", /* GPIO_103, HSEC pin 29 */
198
+ "DSI_DP2", /* GPIO_104, HSEC pin 39 */
199
+ "DSI_DN2", /* GPIO_105, HSEC pin 41 */
200
+ "N0_D0", /* GPIO_106 */
201
+ "N0_D1", /* GPIO_107 */
202
+ "N0_D2", /* GPIO_108 */
203
+ "N0_D3", /* GPIO_109 */
204
+ "N0_D4", /* GPIO_110 */
205
+ "N0_D5", /* GPIO_111 */
206
+ "N0_D6", /* GPIO_112 */
207
+ "N0_D7", /* GPIO_113 */
208
+ "N0_DQS", /* GPIO_114 */
209
+ "N0_DQSN", /* GPIO_115 */
210
+ "NC", /* GPIO_116 */
211
+ "NC", /* GPIO_117 */
212
+ "NC", /* GPIO_118 */
213
+ "N0_CEB1", /* GPIO_119 */
214
+ "CARD_DT", /* GPIO_120 */
215
+ "N0_CEB3", /* GPIO_121 */
216
+ "SD_DAT0", /* GPIO_122, HSEC pin 1 */
217
+ "SD_DAT1", /* GPIO_123, HSEC pin 3 */
218
+ "SD_DAT2", /* GPIO_124, HSEC pin 5 */
219
+ "SD_DAT3", /* GPIO_125, HSEC pin 7 */
220
+ "NC", /* GPIO_126 */
221
+ "NC", /* GPIO_127 */
222
+ "[PWR_BTN_N]", /* GPIO_128, LSEC pin 4 */
223
+ "[RST_BTN_N]", /* GPIO_129, LSEC pin 6 */
224
+ "NC", /* GPIO_130 */
225
+ "SD_CMD", /* GPIO_131 */
226
+ "GPIO-L", /* GPIO_132, LSEC pin 34 */
227
+ "GPIO-K", /* GPIO_133, LSEC pin 33 */
228
+ "NC", /* GPIO_134 */
229
+ "SD_SCLK", /* GPIO_135 */
230
+ "NC", /* GPIO_136 */
231
+ "JTAG_TRST", /* GPIO_137 */
232
+ "I2C3_SCLK", /* GPIO_138 */
233
+ "LED2", /* GPIO_139 */
234
+ "LED3", /* GPIO_140 */
235
+ "I2C3_SDATA", /* GPIO_141 */
236
+ "UART3_RX", /* GPIO_142 */
237
+ "UART3_TX", /* GPIO_143 */
238
+ "UART3_RTSB", /* GPIO_144 */
239
+ "UART3_CTSB"; /* GPIO_145 */
240
+
241
+ i2c0_default: i2c0-default {
242
+ pinmux {
243
+ groups = "i2c0_mfp";
244
+ function = "i2c0";
245
+ };
246
+ pinconf {
247
+ pins = "i2c0_sclk", "i2c0_sdata";
248
+ bias-pull-up;
249
+ };
250
+ };
251
+
252
+ i2c1_default: i2c1-default {
253
+ pinconf {
254
+ pins = "i2c1_sclk", "i2c1_sdata";
255
+ bias-pull-up;
256
+ };
257
+ };
258
+
259
+ i2c2_default: i2c2-default {
260
+ pinconf {
261
+ pins = "i2c2_sclk", "i2c2_sdata";
262
+ bias-pull-up;
263
+ };
264
+ };
265
+
266
+ mmc0_default: mmc0_default {
267
+ pinmux {
268
+ groups = "sd0_d0_mfp", "sd0_d1_mfp", "sd0_d2_d3_mfp",
269
+ "sd0_cmd_mfp", "sd0_clk_mfp";
270
+ function = "sd0";
271
+ };
272
+ };
273
+
274
+ mmc2_default: mmc2_default {
275
+ pinmux {
276
+ groups = "nand0_d0_ceb3_mfp";
277
+ function = "sd2";
278
+ };
279
+ };
280
+};
281
+
282
+/* uSD */
283
+&mmc0 {
284
+ status = "okay";
285
+ pinctrl-names = "default";
286
+ pinctrl-0 = <&mmc0_default>;
287
+ no-sdio;
288
+ no-mmc;
289
+ no-1-8-v;
290
+ cd-gpios = <&pinctrl 120 GPIO_ACTIVE_LOW>;
291
+ bus-width = <4>;
292
+ vmmc-supply = <&sd_vcc>;
293
+ vqmmc-supply = <&sd_vcc>;
294
+};
295
+
296
+/* eMMC */
297
+&mmc2 {
298
+ status = "okay";
299
+ pinctrl-names = "default";
300
+ pinctrl-0 = <&mmc2_default>;
301
+ no-sdio;
302
+ no-sd;
303
+ non-removable;
304
+ bus-width = <8>;
305
+ vmmc-supply = <&vcc_3v1>;
33306 };
34307
35308 &timer {
....@@ -38,5 +311,4 @@
38311
39312 &uart5 {
40313 status = "okay";
41
- clocks = <&uart5_clk>;
42314 };