~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/rockchip/rk3128-xpi-3128.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 
  3 /dts-v1/;
  4 
  5 #include <dt-bindings/input/input.h>
  6 #include <dt-bindings/leds/common.h>
  7 #include "rk3128.dtsi"
  8 
  9 / {
 10         model = "Geniatech XPI-3128";
 11         compatible = "geniatech,xpi-3128", "rockchip,rk3128";
 12 
 13         aliases {
 14                 ethernet0 = &gmac;
 15                 mmc0 = &emmc;
 16                 mmc1 = &sdmmc;
 17         };
 18 
 19         memory@60000000 {
 20                 device_type = "memory";
 21                 reg = <0x60000000 0x40000000>;
 22         };
 23 
 24         chosen {
 25                 stdout-path = &uart1;
 26         };
 27 
 28         adc-keys {
 29                 compatible = "adc-keys";
 30                 io-channels = <&saradc 1>;
 31                 io-channel-names = "buttons";
 32                 keyup-threshold-microvolt = <3300000>;
 33 
 34                 button-recovery {
 35                         label = "Recovery";
 36                         linux,code = <KEY_VENDOR>;
 37                         press-threshold-microvolt = <0>;
 38                 };
 39         };
 40 
 41         dc_5v: dc-5v-regulator {
 42                 compatible = "regulator-fixed";
 43                 regulator-name = "DC_5V";
 44                 regulator-min-microvolt = <5000000>;
 45                 regulator-max-microvolt = <5000000>;
 46                 regulator-always-on;
 47                 regulator-boot-on;
 48         };
 49 
 50         hdmi-connnector {
 51                 compatible = "hdmi-connector";
 52                 type = "a";
 53 
 54                 port {
 55                         hdmi_connector_in: endpoint {
 56                                 remote-endpoint = <&hdmi_connector_out>;
 57                         };
 58                 };
 59         };
 60 
 61         /*
 62          * This is a vbus-supply, which also supplies the GL852G usb hub,
 63          * thus has to be always-on
 64          */
 65         host_pwr_5v: host-pwr-5v-regulator {
 66                 compatible = "regulator-fixed";
 67                 gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
 68                 startup-delay-us = <1500>;
 69                 regulator-name = "HOST_PWR_5V";
 70                 regulator-min-microvolt = <5000000>;
 71                 regulator-max-microvolt = <5000000>;
 72                 vin-supply = <&dc_5v>;
 73                 pinctrl-names = "default";
 74                 pinctrl-0 = <&host_drv>;
 75                 enable-active-high;
 76                 regulator-always-on;
 77         };
 78 
 79         ir-receiver {
 80                 compatible = "gpio-ir-receiver";
 81                 gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>;
 82                 pinctrl-names = "default";
 83                 pinctrl-0 = <&ir_int>;
 84         };
 85 
 86         leds {
 87                 compatible = "gpio-leds";
 88 
 89                 led-power {
 90                         gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_HIGH>;
 91                         function = LED_FUNCTION_POWER;
 92                         color = <LED_COLOR_ID_BLUE>;
 93                         default-state = "on";
 94                         pinctrl-names = "default";
 95                         pinctrl-0 = <&power_led>;
 96                 };
 97 
 98                 led-spd {
 99                         gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
100                         function = LED_FUNCTION_LAN;
101                         color = <LED_COLOR_ID_GREEN>;
102                         /*
103                          * currently not allowed to be set as per
104                          * https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml
105                          * and needs to set in userspace:
106                          *
107                          * linux,default-trigger = "netdev";
108                          */
109                         pinctrl-names = "default";
110                         pinctrl-0 = <&spd_led>;
111                 };
112         };
113 
114         mcu3v3: mcu3v3-regulator {
115                 compatible = "regulator-fixed";
116                 regulator-name = "MCU3V3";
117                 regulator-min-microvolt = <3300000>;
118                 regulator-max-microvolt = <3300000>;
119                 vin-supply = <&vcc_io>;
120                 regulator-always-on;
121                 regulator-boot-on;
122         };
123 
124         vcc_ddr: vcc-ddr-regulator {
125                 compatible = "regulator-fixed";
126                 regulator-name = "VCC_DDR";
127                 regulator-min-microvolt = <1500000>;
128                 regulator-max-microvolt = <1500000>;
129                 vin-supply = <&vcc_sys>;
130                 regulator-always-on;
131                 regulator-boot-on;
132         };
133 
134         vcc_io: vcc-io-regulator {
135                 compatible = "regulator-fixed";
136                 regulator-name = "VCC_IO";
137                 regulator-min-microvolt = <3300000>;
138                 regulator-max-microvolt = <3300000>;
139                 vin-supply = <&vcc_sys>;
140                 regulator-always-on;
141                 regulator-boot-on;
142         };
143 
144         vcc_lan: vcc-lan-regulator {
145                 compatible = "regulator-fixed";
146                 regulator-name = "VCC_LAN";
147                 regulator-min-microvolt = <3300000>;
148                 regulator-max-microvolt = <3300000>;
149                 vin-supply = <&vcc_io>;
150                 regulator-always-on;
151                 regulator-boot-on;
152         };
153 
154         vcc_sd: vcc-sd-regulator {
155                 compatible = "regulator-fixed";
156                 gpio = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
157                 startup-delay-us = <500>;
158                 regulator-name = "VCC_SD";
159                 regulator-min-microvolt = <3300000>;
160                 regulator-max-microvolt = <3300000>;
161                 vin-supply = <&vcc_io>;
162                 pinctrl-names = "default";
163                 pinctrl-0 = <&sdmmc_pwren>;
164         };
165 
166         vcc_sys: vcc-sys-regulator {
167                 compatible = "regulator-fixed";
168                 regulator-name = "VCC_SYS";
169                 regulator-min-microvolt = <5000000>;
170                 regulator-max-microvolt = <5000000>;
171                 vin-supply = <&dc_5v>;
172                 regulator-always-on;
173                 regulator-boot-on;
174         };
175 
176         vcc33_hdmi: vcc33-hdmi-regulator {
177                 compatible = "regulator-fixed";
178                 regulator-name = "VCC33_HDMI";
179                 regulator-min-microvolt = <3300000>;
180                 regulator-max-microvolt = <3300000>;
181                 vin-supply = <&vcca_33>;
182                 regulator-always-on;
183                 regulator-boot-on;
184         };
185 
186         vcca_33: vcca-33-regulator {
187                 compatible = "regulator-fixed";
188                 regulator-name = "VCCA_33";
189                 regulator-min-microvolt = <3300000>;
190                 regulator-max-microvolt = <3300000>;
191                 vin-supply = <&vcc_sys>;
192                 regulator-always-on;
193                 regulator-boot-on;
194         };
195 
196         vdd_11: vdd-11-regulator {
197                 compatible = "regulator-fixed";
198                 regulator-name = "VDD_11";
199                 regulator-min-microvolt = <1100000>;
200                 regulator-max-microvolt = <1100000>;
201                 vin-supply = <&vcc_sys>;
202                 regulator-always-on;
203                 regulator-boot-on;
204         };
205 
206         vdd11_hdmi: vdd11-hdmi-regulator {
207                 compatible = "regulator-fixed";
208                 regulator-name = "VDD11_HDMI";
209                 regulator-min-microvolt = <1100000>;
210                 regulator-max-microvolt = <1100000>;
211                 vin-supply = <&vdd_11>;
212                 regulator-always-on;
213                 regulator-boot-on;
214         };
215 
216         vdd_arm: vdd-arm-regulator {
217                 compatible = "pwm-regulator";
218                 regulator-name = "VDD_ARM";
219                 pwms = <&pwm1 0 25000 1>;
220                 pwm-supply = <&vcc_sys>;
221                 regulator-min-microvolt = <900000>;
222                 regulator-max-microvolt = <1400000>;
223                 regulator-always-on;
224                 regulator-boot-on;
225         };
226 
227         /*
228          * As per schematics vdd_log is minimum 900 mV, maximum 1400 mV.
229          * Since there are HW blocks in PD_LOGIC (which are all driven by
230          * this supply), that either do not have a driver at all or the
231          * driver does not implement regulator support we have to make
232          * sure here that the voltage never drops below 1050 mV.
233          */
234         vdd_log: vdd-log-regulator {
235                 compatible = "pwm-regulator";
236                 regulator-name = "VDD_LOG";
237                 pwms = <&pwm2 0 25000 1>;
238                 pwm-dutycycle-range = <30 100>;
239                 pwm-supply = <&vcc_sys>;
240                 regulator-min-microvolt = <1050000>;
241                 regulator-max-microvolt = <1400000>;
242                 regulator-ramp-delay = <4000>;
243                 regulator-always-on;
244                 regulator-boot-on;
245         };
246 
247 };
248 
249 &cpu0 {
250         cpu-supply = <&vdd_arm>;
251 };
252 
253 &display_subsystem {
254         status = "okay";
255 };
256 
257 &emmc {
258         bus-width = <8>;
259         vmmc-supply = <&vcc_io>;
260         pinctrl-names = "default";
261         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
262         cap-mmc-highspeed;
263         mmc-ddr-3_3v;
264         no-sd;
265         no-sdio;
266         status = "okay";
267 };
268 
269 &gmac {
270         clock_in_out = "output";
271         phy-supply = <&vcc_lan>;
272         phy-mode = "rmii";
273         phy-handle = <&phy0>;
274         assigned-clocks = <&cru SCLK_MAC_SRC>;
275         assigned-clock-rates= <50000000>;
276         pinctrl-names = "default";
277         pinctrl-0 = <&rmii_pins>;
278         status = "okay";
279 };
280 
281 &gpio0 {
282         gpio-line-names = /* GPIO0 A0-A7 */
283                           "", "", "HEADER_5", "HEADER_3",
284                           "", "", "", "",
285                           /* GPIO0 B0-B7 */
286                           "HEADER_22", "HEADER_23", "", "HEADER_19",
287                           "HEADER_26", "HEADER_21", "HEADER_24", "",
288                           /* GPIO0 C0-C7 */
289                           "", "HEADER_18", "", "",
290                           "", "", "", "",
291                           /* GPIO0 D0-D7 */
292                           "HEADER_36", "", "", "",
293                           "", "", "HEADER_13", "";
294 };
295 
296 &gpio1 {
297         gpio-line-names = /* GPIO1 A0-A7 */
298                           "HEADER_7", "HEADER_35", "HEADER_33", "HEADER_37",
299                           "HEADER_40", "HEADER_38", "", "",
300                           /* GPIO1 B0-B7 */
301                           "HEADER_11", "", "", "HEADER_29",
302                           "HEADER_31", "", "", "",
303                           /* GPIO1 C0-C7 */
304                           "", "", "", "",
305                           "", "", "", "",
306                           /* GPIO1 D0-D7 */
307                           "", "", "", "",
308                           "", "", "", "";
309 };
310 
311 &gpio2 {
312         gpio-line-names = /* GPIO2 A0-A7 */
313                           "", "", "", "",
314                           "", "", "", "",
315                           /* GPIO2 B0-B7 */
316                           "", "", "", "",
317                           "", "", "", "",
318                           /* GPIO2 C0-C7 */
319                           "", "", "", "",
320                           "HEADER_27", "", "", "",
321                           /* GPIO2 D0-D7 */
322                           "", "", "HEADER_8", "HEADER_10",
323                           "", "", "", "";
324 };
325 
326 &gpio3 {
327         gpio-line-names = /* GPIO3 A0-A7 */
328                           "", "", "", "",
329                           "", "", "", "",
330                           /* GPIO3 B0-B7 */
331                           "", "", "", "",
332                           "", "", "", "",
333                           /* GPIO3 C0-C7 */
334                           "", "HEADER_32", "", "",
335                           "", "", "", "HEADER_12",
336                           /* GPIO3 D0-D7 */
337                           "", "", "", "HEADER_15",
338                           "", "", "", "";
339 };
340 
341 &gpu {
342         mali-supply = <&vdd_log>;
343         status = "okay";
344 };
345 
346 &hdmi {
347         status = "okay";
348 };
349 
350 &hdmi_out {
351         hdmi_connector_out: endpoint {
352                 remote-endpoint = <&hdmi_connector_in>;
353         };
354 };
355 
356 &mdio {
357         phy0: ethernet-phy@1 {
358                 compatible = "ethernet-phy-ieee802.3-c22";
359                 reg = <1>;
360                 max-speed = <100>;
361                 /* T2.2.4 min. 1 us */
362                 reset-assert-us = <10>;
363                 /* T2.2.1 + T2.2.2 + T2.2.3 min. 6.05 us */
364                 reset-deassert-us = <20>;
365                 reset-gpios = <&gpio2 RK_PD0 GPIO_ACTIVE_LOW>;
366                 pinctrl-names = "default";
367                 pinctrl-0 = <&dp83848c_rst>;
368         };
369 };
370 
371 &pinctrl {
372         dp83848c {
373                 dp83848c_rst: dp83848c-rst {
374                         rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
375                 };
376         };
377 
378         ir-receiver {
379                 ir_int: ir-int {
380                         rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
381                 };
382         };
383 
384         leds {
385                 power_led: power-led {
386                         rockchip,pins = <0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
387                 };
388 
389                 spd_led: spd-led {
390                         rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
391                 };
392         };
393 
394         usb2 {
395                 host_drv: host-drv {
396                         rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
397                 };
398         };
399 };
400 
401 &pwm1 {
402         status = "okay";
403 };
404 
405 &pwm2 {
406         status = "okay";
407 };
408 
409 &saradc {
410         vref-supply = <&vcc_io>;
411         status = "okay";
412 };
413 
414 &sdmmc {
415         bus-width = <4>;
416         vmmc-supply = <&vcc_sd>;
417         pinctrl-names = "default";
418         pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
419         disable-wp;
420         cap-sd-highspeed;
421         no-mmc;
422         no-sdio;
423         status = "okay";
424 };
425 
426 &uart1 {
427         status = "okay";
428 };
429 
430 &usb_host_ehci {
431         status = "okay";
432 };
433 
434 &usb_otg {
435         vusb_a-supply = <&vcc_io>;
436         vusb_d-supply = <&vdd_11>;
437         status = "okay";
438 };
439 
440 &usb2phy {
441         status = "okay";
442 };
443 
444 &usb2phy_host {
445         status = "okay";
446 };
447 
448 &usb2phy_otg {
449         status = "okay";
450 };
451 
452 &vop {
453         status = "okay";
454 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php