hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/imx6qdl-wandboard.dtsi
....@@ -8,6 +8,10 @@
88 #include <dt-bindings/gpio/gpio.h>
99
1010 / {
11
+ chosen {
12
+ stdout-path = &uart1;
13
+ };
14
+
1115 sound {
1216 compatible = "fsl,imx6-wandboard-sgtl5000",
1317 "fsl,imx-audio-sgtl5000";
....@@ -27,6 +31,30 @@
2731 model = "imx-spdif";
2832 spdif-controller = <&spdif>;
2933 spdif-out;
34
+ };
35
+
36
+ reg_1p5v: regulator-1p5v {
37
+ compatible = "regulator-fixed";
38
+ regulator-name = "1P5V";
39
+ regulator-min-microvolt = <1500000>;
40
+ regulator-max-microvolt = <1500000>;
41
+ regulator-always-on;
42
+ };
43
+
44
+ reg_1p8v: regulator-1p8v {
45
+ compatible = "regulator-fixed";
46
+ regulator-name = "1P8V";
47
+ regulator-min-microvolt = <1800000>;
48
+ regulator-max-microvolt = <1800000>;
49
+ regulator-always-on;
50
+ };
51
+
52
+ reg_2p8v: regulator-2p8v {
53
+ compatible = "regulator-fixed";
54
+ regulator-name = "2P8V";
55
+ regulator-min-microvolt = <2800000>;
56
+ regulator-max-microvolt = <2800000>;
57
+ regulator-always-on;
3058 };
3159
3260 reg_2p5v: regulator-2p5v {
....@@ -90,6 +118,29 @@
90118 VDDIO-supply = <&reg_3p3v>;
91119 lrclk-strength = <3>;
92120 };
121
+
122
+ camera@3c {
123
+ compatible = "ovti,ov5645";
124
+ pinctrl-names = "default";
125
+ pinctrl-0 = <&pinctrl_ov5645>;
126
+ reg = <0x3c>;
127
+ clocks = <&clks IMX6QDL_CLK_CKO2>;
128
+ clock-names = "xclk";
129
+ clock-frequency = <24000000>;
130
+ vdddo-supply = <&reg_1p8v>;
131
+ vdda-supply = <&reg_2p8v>;
132
+ vddd-supply = <&reg_1p5v>;
133
+ enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
134
+ reset-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
135
+
136
+ port {
137
+ ov5645_to_mipi_csi2: endpoint {
138
+ remote-endpoint = <&mipi_csi2_in>;
139
+ clock-lanes = <0>;
140
+ data-lanes = <1 2>;
141
+ };
142
+ };
143
+ };
93144 };
94145
95146 &iomuxc {
....@@ -124,7 +175,6 @@
124175 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
125176 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
126177 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
127
- MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
128178 >;
129179 };
130180
....@@ -145,6 +195,14 @@
145195 pinctrl_mclk: mclkgrp {
146196 fsl,pins = <
147197 MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
198
+ >;
199
+ };
200
+
201
+ pinctrl_ov5645: ov5645grp {
202
+ fsl,pins = <
203
+ MX6QDL_PAD_GPIO_3__CCM_CLKO2 0x000b0
204
+ MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0
205
+ MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x1b0b0
148206 >;
149207 };
150208
....@@ -220,12 +278,34 @@
220278 &fec {
221279 pinctrl-names = "default";
222280 pinctrl-0 = <&pinctrl_enet>;
223
- phy-mode = "rgmii";
281
+ phy-mode = "rgmii-id";
282
+ phy-handle = <&ethphy>;
224283 phy-reset-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;
225
- interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
226
- <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
227
- fsl,err006687-workaround-present;
228284 status = "okay";
285
+
286
+ mdio {
287
+ #address-cells = <1>;
288
+ #size-cells = <0>;
289
+
290
+ ethphy: ethernet-phy@1 {
291
+ reg = <1>;
292
+ qca,clk-out-frequency = <125000000>;
293
+ };
294
+ };
295
+};
296
+
297
+&mipi_csi {
298
+ status = "okay";
299
+
300
+ port@0 {
301
+ reg = <0>;
302
+
303
+ mipi_csi2_in: endpoint {
304
+ remote-endpoint = <&ov5645_to_mipi_csi2>;
305
+ clock-lanes = <0>;
306
+ data-lanes = <1 2>;
307
+ };
308
+ };
229309 };
230310
231311 &spdif {