forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/arm/boot/dts/imx6sx-sabreauto.dts
....@@ -37,16 +37,101 @@
3737 gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
3838 enable-active-high;
3939 };
40
+
41
+ reg_can_wake: regulator-can-wake {
42
+ compatible = "regulator-fixed";
43
+ regulator-name = "can-wake";
44
+ regulator-min-microvolt = <3300000>;
45
+ regulator-max-microvolt = <3300000>;
46
+ gpio = <&max7310_b 7 GPIO_ACTIVE_HIGH>;
47
+ enable-active-high;
48
+ };
49
+
50
+ reg_can_en: regulator-can-en {
51
+ compatible = "regulator-fixed";
52
+ regulator-name = "can-en";
53
+ regulator-min-microvolt = <3300000>;
54
+ regulator-max-microvolt = <3300000>;
55
+ gpio = <&max7310_b 5 GPIO_ACTIVE_HIGH>;
56
+ enable-active-high;
57
+ vin-supply = <&reg_can_wake>;
58
+ };
59
+
60
+ reg_can_stby: regulator-can-stby {
61
+ compatible = "regulator-fixed";
62
+ regulator-name = "can-stby";
63
+ regulator-min-microvolt = <3300000>;
64
+ regulator-max-microvolt = <3300000>;
65
+ gpio = <&max7310_b 4 GPIO_ACTIVE_HIGH>;
66
+ enable-active-high;
67
+ vin-supply = <&reg_can_en>;
68
+ };
69
+
70
+ reg_cs42888: cs42888_supply {
71
+ compatible = "regulator-fixed";
72
+ regulator-name = "cs42888_supply";
73
+ regulator-min-microvolt = <3300000>;
74
+ regulator-max-microvolt = <3300000>;
75
+ regulator-always-on;
76
+ };
77
+
78
+ sound-cs42888 {
79
+ compatible = "fsl,imx6-sabreauto-cs42888",
80
+ "fsl,imx-audio-cs42888";
81
+ model = "imx-cs42888";
82
+ audio-cpu = <&esai>;
83
+ audio-asrc = <&asrc>;
84
+ audio-codec = <&cs42888>;
85
+ audio-routing =
86
+ "Line Out Jack", "AOUT1L",
87
+ "Line Out Jack", "AOUT1R",
88
+ "Line Out Jack", "AOUT2L",
89
+ "Line Out Jack", "AOUT2R",
90
+ "Line Out Jack", "AOUT3L",
91
+ "Line Out Jack", "AOUT3R",
92
+ "Line Out Jack", "AOUT4L",
93
+ "Line Out Jack", "AOUT4R",
94
+ "AIN1L", "Line In Jack",
95
+ "AIN1R", "Line In Jack",
96
+ "AIN2L", "Line In Jack",
97
+ "AIN2R", "Line In Jack";
98
+ };
99
+
100
+ sound-spdif {
101
+ compatible = "fsl,imx-audio-spdif";
102
+ model = "imx-spdif";
103
+ spdif-controller = <&spdif>;
104
+ spdif-in;
105
+ };
40106 };
41107
42108 &anaclk2 {
43109 clock-frequency = <24576000>;
44110 };
45111
112
+&clks {
113
+ assigned-clocks = <&clks IMX6SX_PLL4_BYPASS_SRC>,
114
+ <&clks IMX6SX_PLL4_BYPASS>,
115
+ <&clks IMX6SX_CLK_PLL4_POST_DIV>;
116
+ assigned-clock-parents = <&clks IMX6SX_CLK_LVDS2_IN>,
117
+ <&clks IMX6SX_PLL4_BYPASS_SRC>;
118
+ assigned-clock-rates = <0>, <0>, <24576000>;
119
+};
120
+
121
+&esai {
122
+ pinctrl-names = "default";
123
+ pinctrl-0 = <&pinctrl_esai>;
124
+ assigned-clocks = <&clks IMX6SX_CLK_ESAI_SEL>,
125
+ <&clks IMX6SX_CLK_ESAI_EXTAL>;
126
+ assigned-clock-parents = <&clks IMX6SX_CLK_PLL4_AUDIO_DIV>;
127
+ assigned-clock-rates = <0>, <24576000>;
128
+ status = "okay";
129
+};
130
+
46131 &fec1 {
47132 pinctrl-names = "default";
48133 pinctrl-0 = <&pinctrl_enet1>;
49
- phy-mode = "rgmii";
134
+ phy-mode = "rgmii-id";
50135 phy-handle = <&ethphy1>;
51136 fsl,magic-packet;
52137 status = "okay";
....@@ -70,9 +155,23 @@
70155 &fec2 {
71156 pinctrl-names = "default";
72157 pinctrl-0 = <&pinctrl_enet2>;
73
- phy-mode = "rgmii";
158
+ phy-mode = "rgmii-id";
74159 phy-handle = <&ethphy0>;
75160 fsl,magic-packet;
161
+ status = "okay";
162
+};
163
+
164
+&flexcan1 {
165
+ pinctrl-names = "default";
166
+ pinctrl-0 = <&pinctrl_flexcan1>;
167
+ xceiver-supply = <&reg_can_stby>;
168
+ status = "okay";
169
+};
170
+
171
+&flexcan2 {
172
+ pinctrl-names = "default";
173
+ pinctrl-0 = <&pinctrl_flexcan2>;
174
+ xceiver-supply = <&reg_can_stby>;
76175 status = "okay";
77176 };
78177
....@@ -150,6 +249,35 @@
150249 >;
151250 };
152251
252
+ pinctrl_esai: esaigrp {
253
+ fsl,pins = <
254
+ MX6SX_PAD_CSI_DATA00__ESAI_TX_CLK 0x1b030
255
+ MX6SX_PAD_CSI_DATA01__ESAI_TX_FS 0x1b030
256
+ MX6SX_PAD_CSI_HSYNC__ESAI_TX0 0x1b030
257
+ MX6SX_PAD_CSI_DATA04__ESAI_TX1 0x1b030
258
+ MX6SX_PAD_CSI_DATA06__ESAI_TX2_RX3 0x1b030
259
+ MX6SX_PAD_CSI_DATA07__ESAI_TX3_RX2 0x1b030
260
+ MX6SX_PAD_CSI_DATA02__ESAI_RX_CLK 0x1b030
261
+ MX6SX_PAD_CSI_DATA03__ESAI_RX_FS 0x1b030
262
+ MX6SX_PAD_CSI_VSYNC__ESAI_TX5_RX0 0x1b030
263
+ MX6SX_PAD_CSI_DATA05__ESAI_TX4_RX1 0x1b030
264
+ >;
265
+ };
266
+
267
+ pinctrl_flexcan1: flexcan1grp {
268
+ fsl,pins = <
269
+ MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x1b020
270
+ MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x1b020
271
+ >;
272
+ };
273
+
274
+ pinctrl_flexcan2: flexcan2grp {
275
+ fsl,pins = <
276
+ MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x1b020
277
+ MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x1b020
278
+ >;
279
+ };
280
+
153281 pinctrl_i2c2: i2c2grp {
154282 fsl,pins = <
155283 MX6SX_PAD_GPIO1_IO03__I2C2_SDA 0x4001b8b1
....@@ -170,10 +298,16 @@
170298 >;
171299 };
172300
301
+ pinctrl_spdif: spdifgrp {
302
+ fsl,pins = <
303
+ MX6SX_PAD_ENET2_COL__SPDIF_IN 0x1b0b0
304
+ >;
305
+ };
306
+
173307 pinctrl_uart1: uart1grp {
174308 fsl,pins = <
175
- MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1
176
- MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1
309
+ MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1
310
+ MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1
177311 >;
178312 };
179313
....@@ -255,6 +389,17 @@
255389 pinctrl-names = "default";
256390 pinctrl-0 = <&pinctrl_i2c2>;
257391 status = "okay";
392
+
393
+ cs42888: cs42888@48 {
394
+ compatible = "cirrus,cs42888";
395
+ reg = <0x48>;
396
+ clocks = <&anaclk2 0>;
397
+ clock-names = "mclk";
398
+ VA-supply = <&reg_cs42888>;
399
+ VD-supply = <&reg_cs42888>;
400
+ VLS-supply = <&reg_cs42888>;
401
+ VLC-supply = <&reg_cs42888>;
402
+ };
258403
259404 touchscreen@4 {
260405 compatible = "eeti,egalax_ts";
....@@ -397,6 +542,14 @@
397542 };
398543 };
399544
545
+&spdif {
546
+ pinctrl-names = "default";
547
+ pinctrl-0 = <&pinctrl_spdif>;
548
+ assigned-clocks = <&clks IMX6SX_CLK_SPDIF_PODF>;
549
+ assigned-clock-rates = <24576000>;
550
+ status = "okay";
551
+};
552
+
400553 &wdog1 {
401554 pinctrl-names = "default";
402555 pinctrl-0 = <&pinctrl_wdog>;