e99e60185ebebc61dc3f7e6b69e039cd78ad9930
[pandora-u-boot.git] / arch / arm / dts / rk3588-rock-5b-u-boot.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2023 Collabora Ltd.
4  */
5
6 #include "rk3588-u-boot.dtsi"
7 #include <dt-bindings/usb/pd.h>
8
9 / {
10         vcc12v_dcin: vcc12v-dcin-regulator {
11                 compatible = "regulator-fixed";
12                 regulator-name = "vcc12v_dcin";
13                 regulator-always-on;
14                 regulator-boot-on;
15                 regulator-min-microvolt = <12000000>;
16                 regulator-max-microvolt = <12000000>;
17         };
18 };
19
20 &fspim2_pins {
21         bootph-all;
22 };
23
24 &pinctrl {
25         usb {
26                 usbc0_int: usbc0-int {
27                         rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
28                 };
29         };
30 };
31
32 &sdhci {
33         cap-mmc-highspeed;
34         mmc-ddr-1_8v;
35         mmc-hs200-1_8v;
36 };
37
38 &sfc {
39         bootph-pre-ram;
40         u-boot,spl-sfc-no-dma;
41         pinctrl-names = "default";
42         pinctrl-0 = <&fspim2_pins>;
43         status = "okay";
44
45         flash@0 {
46                 bootph-pre-ram;
47                 compatible = "jedec,spi-nor";
48                 reg = <0>;
49                 spi-max-frequency = <24000000>;
50                 spi-rx-bus-width = <4>;
51                 spi-tx-bus-width = <1>;
52         };
53 };
54
55 &u2phy0 {
56         status = "okay";
57 };
58
59 &u2phy0_otg {
60         status = "okay";
61 };
62
63 &u2phy1 {
64         status = "okay";
65 };
66
67 &u2phy1_otg {
68         status = "okay";
69 };
70
71 &usbdp_phy1 {
72         status = "okay";
73 };
74
75 &usbdp_phy1_u3 {
76         status = "okay";
77 };
78
79 &usbdp_phy0 {
80         orientation-switch;
81         mode-switch;
82         sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
83         sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
84         status = "okay";
85
86         port {
87                 #address-cells = <1>;
88                 #size-cells = <0>;
89
90                 usbdp_phy0_typec_ss: endpoint@0 {
91                         reg = <0>;
92                         remote-endpoint = <&usbc0_ss>;
93                 };
94
95                 usbdp_phy0_typec_sbu: endpoint@1 {
96                         reg = <1>;
97                         remote-endpoint = <&usbc0_sbu>;
98                 };
99         };
100 };
101
102 &usbdp_phy0_u3 {
103         status = "okay";
104 };
105
106 &usb_host0_xhci {
107         usb-role-switch;
108         status = "okay";
109
110         port {
111                 #address-cells = <1>;
112                 #size-cells = <0>;
113
114                 usb_host0_xhci_drd_sw: endpoint {
115                         remote-endpoint = <&usbc0_hs>;
116                 };
117         };
118 };
119
120 &usb_host1_xhci {
121         status = "okay";
122 };
123
124 &i2c4 {
125         pinctrl-names = "default";
126         pinctrl-0 = <&i2c4m1_xfer>;
127         status = "okay";
128
129         usbc0: usb-typec@22 {
130                 compatible = "fcs,fusb302";
131                 reg = <0x22>;
132                 interrupt-parent = <&gpio3>;
133                 interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
134                 pinctrl-names = "default";
135                 pinctrl-0 = <&usbc0_int>;
136                 vbus-supply = <&vcc12v_dcin>;
137                 status = "okay";
138
139                 usb_con: connector {
140                         compatible = "usb-c-connector";
141                         label = "USB-C";
142                         data-role = "dual";
143                         power-role = "sink";
144                         try-power-role = "sink";
145                         op-sink-microwatt = <1000000>;
146                         sink-pdos =
147                                 <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>,
148                                 <PDO_VAR(5000, 20000, 5000)>;
149
150                         ports {
151                                 #address-cells = <1>;
152                                 #size-cells = <0>;
153
154                                 port@0 {
155                                         reg = <0>;
156                                         usbc0_hs: endpoint {
157                                                 remote-endpoint = <&usb_host0_xhci_drd_sw>;
158                                         };
159                                 };
160
161                                 port@1 {
162                                         reg = <1>;
163                                         usbc0_ss: endpoint {
164                                                 remote-endpoint = <&usbdp_phy0_typec_ss>;
165                                         };
166                                 };
167
168                                 port@2 {
169                                         reg = <2>;
170                                         usbc0_sbu: endpoint {
171                                                 remote-endpoint = <&usbdp_phy0_typec_sbu>;
172                                         };
173                                 };
174                         };
175                 };
176         };
177 };