Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 //
0003 // Copyright (C) 2019 Logic PD, Inc.
0004 
0005 / {
0006         keyboard {
0007                 compatible = "gpio-keys";
0008 
0009                 btn0 {
0010                         gpios = <&pcf8575 0 GPIO_ACTIVE_LOW>;
0011                         label = "btn0";
0012                         linux,code = <KEY_WAKEUP>;
0013                         debounce-interval = <10>;
0014                         wakeup-source;
0015                 };
0016 
0017                 btn1 {
0018                         gpios = <&pcf8575 1 GPIO_ACTIVE_LOW>;
0019                         label = "btn1";
0020                         linux,code = <KEY_WAKEUP>;
0021                         debounce-interval = <10>;
0022                         wakeup-source;
0023                 };
0024 
0025                 btn2 {
0026                         gpios = <&pcf8575 2 GPIO_ACTIVE_LOW>;
0027                         label = "btn2";
0028                         linux,code = <KEY_WAKEUP>;
0029                         debounce-interval = <10>;
0030                         wakeup-source;
0031                 };
0032 
0033                 btn3 {
0034                         gpios = <&pcf8575 3 GPIO_ACTIVE_LOW>;
0035                         label = "btn3";
0036                         linux,code = <KEY_WAKEUP>;
0037                         debounce-interval = <10>;
0038                         wakeup-source;
0039                 };
0040 
0041         };
0042 
0043         leds {
0044                 compatible = "gpio-leds";
0045 
0046                 gen-led0 {
0047                         label = "led0";
0048                         pinctrl-names = "default";
0049                         pinctrl-0 = <&pinctrl_led0>;
0050                         gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
0051                         linux,default-trigger = "cpu0";
0052                 };
0053 
0054                 gen-led1 {
0055                         label = "led1";
0056                         gpios = <&pcf8575 8 GPIO_ACTIVE_HIGH>;
0057                 };
0058 
0059                 gen-led2 {
0060                         label = "led2";
0061                         gpios = <&pcf8575 9 GPIO_ACTIVE_HIGH>;
0062                         linux,default-trigger = "heartbeat";
0063                 };
0064 
0065                 gen-led3 {
0066                         label = "led3";
0067                         gpios = <&pcf8575 10 GPIO_ACTIVE_HIGH>;
0068                         linux,default-trigger = "default-on";
0069                 };
0070         };
0071 
0072         reg_usb_otg_vbus: regulator-otg-vbus {
0073                 pinctrl-names = "default";
0074                 pinctrl-0 = <&pinctrl_reg_usb_otg>;
0075                 compatible = "regulator-fixed";
0076                 regulator-name = "usb_otg_vbus";
0077                 regulator-min-microvolt = <5000000>;
0078                 regulator-max-microvolt = <5000000>;
0079                 gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
0080                 enable-active-high;
0081         };
0082 
0083         reg_usb_h1_vbus: regulator-usb-h1-vbus {
0084                 pinctrl-names = "default";
0085                 pinctrl-0 = <&pinctrl_reg_usb_h1_vbus>;
0086                 compatible = "regulator-fixed";
0087                 regulator-name = "usb_h1_vbus";
0088                 regulator-min-microvolt = <5000000>;
0089                 regulator-max-microvolt = <5000000>;
0090                 gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
0091                 startup-delay-us = <70000>;
0092                 enable-active-high;
0093         };
0094 
0095         reg_3v3: regulator-3v3 {
0096                 pinctrl-names = "default";
0097                 pinctrl-0 = <&pinctrl_reg_3v3>;
0098                 compatible = "regulator-fixed";
0099                 regulator-name = "reg_3v3";
0100                 regulator-min-microvolt = <3300000>;
0101                 regulator-max-microvolt = <3300000>;
0102                 gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>;
0103                 startup-delay-us = <70000>;
0104                 enable-active-high;
0105                 regulator-always-on;
0106         };
0107 
0108         reg_enet: regulator-ethernet {
0109                 pinctrl-names = "default";
0110                 pinctrl-0 = <&pinctrl_reg_enet>;
0111                 compatible = "regulator-fixed";
0112                 regulator-name = "ethernet-supply";
0113                 regulator-min-microvolt = <3300000>;
0114                 regulator-max-microvolt = <3300000>;
0115                 gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
0116                 startup-delay-us = <70000>;
0117                 enable-active-high;
0118                 vin-supply = <&sw4_reg>;
0119         };
0120 
0121         reg_audio: regulator-audio {
0122                 pinctrl-names = "default";
0123                 pinctrl-0 = <&pinctrl_reg_audio>;
0124                 compatible = "regulator-fixed";
0125                 regulator-name = "3v3_aud";
0126                 regulator-min-microvolt = <3300000>;
0127                 regulator-max-microvolt = <3300000>;
0128                 gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
0129                 enable-active-high;
0130                 vin-supply = <&reg_3v3>;
0131         };
0132 
0133         reg_hdmi: regulator-hdmi {
0134                 pinctrl-names = "default";
0135                 pinctrl-0 = <&pinctrl_reg_hdmi>;
0136                 compatible = "regulator-fixed";
0137                 regulator-name = "hdmi-supply";
0138                 regulator-min-microvolt = <3300000>;
0139                 regulator-max-microvolt = <3300000>;
0140                 gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>;
0141                 enable-active-high;
0142                 vin-supply = <&reg_3v3>;
0143         };
0144 
0145         reg_uart3: regulator-uart3 {
0146                 pinctrl-names = "default";
0147                 pinctrl-0 = <&pinctrl_reg_uart3>;
0148                 compatible = "regulator-fixed";
0149                 regulator-name = "uart3-supply";
0150                 gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
0151                 enable-active-high;
0152                 regulator-always-on;
0153                 vin-supply = <&reg_3v3>;
0154         };
0155 
0156         reg_1v8: regulator-1v8 {
0157                 pinctrl-names = "default";
0158                 pinctrl-0 = <&pinctrl_reg_1v8>;
0159                 compatible = "regulator-fixed";
0160                 regulator-name = "1v8-supply";
0161                 gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
0162                 enable-active-high;
0163                 regulator-always-on;
0164                 vin-supply = <&reg_3v3>;
0165         };
0166 
0167         reg_pcie: regulator-pcie {
0168                 compatible = "regulator-fixed";
0169                 pinctrl-names = "default";
0170                 pinctrl-0 = <&pinctrl_reg_pcie>;
0171                 regulator-name = "mpcie_3v3";
0172                 regulator-min-microvolt = <3300000>;
0173                 regulator-max-microvolt = <3300000>;
0174                 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
0175                 enable-active-high;
0176         };
0177 
0178         reg_mipi: regulator-mipi {
0179                 compatible = "regulator-fixed";
0180                 pinctrl-names = "default";
0181                 pinctrl-0 = <&pinctrl_reg_mipi>;
0182                 regulator-name = "mipi_pwr_en";
0183                 regulator-min-microvolt = <2800000>;
0184                 regulator-max-microvolt = <2800000>;
0185                 gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>;
0186                 enable-active-high;
0187         };
0188 
0189         sound {
0190                 compatible = "fsl,imx-audio-wm8962";
0191                 model = "wm8962-audio";
0192                 ssi-controller = <&ssi2>;
0193                 audio-codec = <&wm8962>;
0194                 audio-routing =
0195                         "Headphone Jack", "HPOUTL",
0196                         "Headphone Jack", "HPOUTR",
0197                         "Ext Spk", "SPKOUTL",
0198                         "Ext Spk", "SPKOUTR",
0199                         "AMIC", "MICBIAS",
0200                         "IN3R", "AMIC";
0201                 mux-int-port = <2>;
0202                 mux-ext-port = <4>;
0203         };
0204 };
0205 
0206 &audmux {
0207         pinctrl-names = "default";
0208         pinctrl-0 = <&pinctrl_audmux>;
0209         status = "okay";
0210 };
0211 
0212 &ecspi1 {
0213         pinctrl-names = "default";
0214         pinctrl-0 = <&pinctrl_ecspi1>;
0215         cs-gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;
0216         status = "disabled";
0217 };
0218 
0219 &fec {
0220         pinctrl-names = "default";
0221         pinctrl-0 = <&pinctrl_enet>;
0222         phy-mode = "rgmii-id";
0223         phy-reset-duration = <10>;
0224         phy-reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
0225         phy-supply = <&reg_enet>;
0226         interrupt-parent = <&gpio1>;
0227         interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
0228         status = "okay";
0229 };
0230 
0231 &i2c1 {
0232         pinctrl-names = "default";
0233         pinctrl-0 = <&pinctrl_i2c1>;
0234         clock-frequency = <400000>;
0235         status = "okay";
0236 
0237         wm8962: audio-codec@1a {
0238                 compatible = "wlf,wm8962";
0239                 reg = <0x1a>;
0240                 clocks = <&clks IMX6QDL_CLK_CKO>;
0241                 DCVDD-supply = <&reg_audio>;
0242                 DBVDD-supply = <&reg_audio>;
0243                 AVDD-supply = <&reg_audio>;
0244                 CPVDD-supply = <&reg_audio>;
0245                 MICVDD-supply = <&reg_audio>;
0246                 PLLVDD-supply = <&reg_audio>;
0247                 SPKVDD1-supply = <&reg_audio>;
0248                 SPKVDD2-supply = <&reg_audio>;
0249                 gpio-cfg = <
0250                         0x0000 /* 0:Default */
0251                         0x0000 /* 1:Default */
0252                         0x0000 /* 2:FN_DMICCLK */
0253                         0x0000 /* 3:Default */
0254                         0x0000 /* 4:FN_DMICCDAT */
0255                         0x0000 /* 5:Default */
0256                 >;
0257         };
0258 };
0259 
0260 &i2c3 {
0261         ov5640: camera@10 {
0262                 compatible = "ovti,ov5640";
0263                 pinctrl-names = "default";
0264                 pinctrl-0 = <&pinctrl_ov5640>;
0265                 reg = <0x10>;
0266                 clocks = <&clks IMX6QDL_CLK_CKO>;
0267                 clock-names = "xclk";
0268                 DOVDD-supply = <&reg_mipi>;
0269                 AVDD-supply = <&reg_mipi>;
0270                 DVDD-supply = <&reg_mipi>;
0271                 reset-gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
0272                 powerdown-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
0273 
0274                 port {
0275                         ov5640_to_mipi_csi2: endpoint {
0276                                 remote-endpoint = <&mipi_csi2_in>;
0277                                 clock-lanes = <0>;
0278                                 data-lanes = <1 2>;
0279                         };
0280                 };
0281         };
0282 
0283         pcf8575: gpio@20 {
0284                 pinctrl-names = "default";
0285                 pinctrl-0 = <&pinctrl_pcf8574>;
0286                 compatible = "nxp,pcf8575";
0287                 reg = <0x20>;
0288                 interrupt-parent = <&gpio6>;
0289                 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
0290                 gpio-controller;
0291                 #gpio-cells = <2>;
0292                 interrupt-controller;
0293                 #interrupt-cells = <2>;
0294                 lines-initial-states = <0x0710>;
0295                 wakeup-source;
0296         };
0297 };
0298 
0299 &ipu1_csi1_from_mipi_vc1 {
0300         clock-lanes = <0>;
0301         data-lanes = <1 2>;
0302 };
0303 
0304 &mipi_csi {
0305         status = "okay";
0306 
0307         port@0 {
0308                 reg = <0>;
0309 
0310                 mipi_csi2_in: endpoint {
0311                         remote-endpoint = <&ov5640_to_mipi_csi2>;
0312                         clock-lanes = <0>;
0313                         data-lanes = <1 2>;
0314                 };
0315         };
0316 };
0317 
0318 &pcie {
0319         pinctrl-names = "default";
0320         pinctrl-0 = <&pinctrl_pcie>;
0321         reset-gpio = <&gpio1 9 GPIO_ACTIVE_LOW>;
0322         vpcie-supply = <&reg_pcie>;
0323         status = "okay";
0324 };
0325 
0326 &pwm3 {
0327         pinctrl-names = "default";
0328         pinctrl-0 = <&pinctrl_pwm3>;
0329 };
0330 
0331 &snvs_pwrkey {
0332         status = "okay";
0333 };
0334 
0335 &ssi2 {
0336         status = "okay";
0337 };
0338 
0339 &uart3 {
0340         pinctrl-names = "default";
0341         pinctrl-0 = <&pinctrl_uart3>;
0342         status = "okay";
0343 };
0344 
0345 &usbh1 {
0346         vbus-supply = <&reg_usb_h1_vbus>;
0347         status = "okay";
0348 };
0349 
0350 &usbotg {
0351         vbus-supply = <&reg_usb_otg_vbus>;
0352         pinctrl-names = "default";
0353         pinctrl-0 = <&pinctrl_usbotg>;
0354         disable-over-current;
0355         dr_mode = "otg";
0356         status = "okay";
0357 };
0358 
0359 &usdhc2 {
0360         pinctrl-names = "default";
0361         pinctrl-0 = <&pinctrl_usdhc2>;
0362         pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
0363         pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
0364         vmmc-supply = <&reg_3v3>;
0365         no-1-8-v;
0366         keep-power-in-suspend;
0367         cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
0368         status = "okay";
0369 };
0370 
0371 &iomuxc {
0372         pinctrl_audmux: audmuxgrp {
0373                 fsl,pins = <
0374                         MX6QDL_PAD_DISP0_DAT20__AUD4_TXC  0x130b0
0375                         MX6QDL_PAD_DISP0_DAT21__AUD4_TXD  0x110b0
0376                         MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0
0377                         MX6QDL_PAD_DISP0_DAT23__AUD4_RXD  0x130b0
0378                 >;
0379         };
0380 
0381         pinctrl_ecspi1: ecspi1grp {
0382                 fsl,pins = <
0383                         MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK        0x100b1
0384                         MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI        0x100b1
0385                         MX6QDL_PAD_KEY_COL1__ECSPI1_MISO        0x100b1
0386                         MX6QDL_PAD_KEY_ROW1__GPIO4_IO09         0x1b0b0
0387                 >;
0388         };
0389 
0390         pinctrl_enet: enetgrp {
0391                 fsl,pins = <
0392                         MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b8b0
0393                         MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
0394                         MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
0395                         MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
0396                         MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
0397                         MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
0398                         MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
0399                         MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x100b0
0400                         MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
0401                         MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
0402                         MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
0403                         MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x13030
0404                         MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x13030
0405                         MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
0406                         MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
0407                         MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x13030
0408                         MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25      0x1b0b0 /* ENET_INT */
0409                         MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24       0x1b0b0 /* ETHR_nRST */
0410                 >;
0411         };
0412 
0413         pinctrl_i2c1: i2c1grp {
0414                 fsl,pins = <
0415                         MX6QDL_PAD_EIM_D21__I2C1_SCL    0x4001b8b1
0416                         MX6QDL_PAD_EIM_D28__I2C1_SDA    0x4001b8b1
0417                 >;
0418         };
0419 
0420         pinctrl_led0: led0grp {
0421             fsl,pins = <
0422                 MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0
0423             >;
0424         };
0425 
0426         pinctrl_ov5640: ov5640grp {
0427                 fsl,pins = <
0428                         MX6QDL_PAD_EIM_D26__GPIO3_IO26  0x1b0b1
0429                         MX6QDL_PAD_EIM_D27__GPIO3_IO27  0x1b0b1
0430                 >;
0431         };
0432 
0433         pinctrl_pcf8574: pcf8575grp {
0434                 fsl,pins = <
0435                         MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0x1b0b0
0436                 >;
0437         };
0438 
0439         pinctrl_pcie: pciegrp {
0440                 fsl,pins = <
0441                         MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x1b0b0
0442                         MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0
0443                 >;
0444         };
0445 
0446         pinctrl_pwm3: pwm3grp {
0447             fsl,pins = <
0448                 MX6QDL_PAD_SD4_DAT1__PWM3_OUT           0x1b0b1
0449             >;
0450         };
0451 
0452         pinctrl_reg_1v8: reg1v8grp {
0453             fsl,pins = <
0454                 MX6QDL_PAD_EIM_D30__GPIO3_IO30          0x1b0b0
0455             >;
0456         };
0457 
0458         pinctrl_reg_3v3: reg3v3grp {
0459             fsl,pins = <
0460                 MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b0
0461             >;
0462         };
0463 
0464         pinctrl_reg_audio: reg-audiogrp {
0465                 fsl,pins = <
0466                         MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x1b0b0
0467                 >;
0468         };
0469 
0470         pinctrl_reg_enet: reg-enetgrp {
0471                 fsl,pins = <
0472                         MX6QDL_PAD_EIM_D31__GPIO3_IO31  0x1b0b0
0473                 >;
0474         };
0475 
0476         pinctrl_reg_hdmi: reg-hdmigrp {
0477                 fsl,pins = <
0478                         MX6QDL_PAD_EIM_D20__GPIO3_IO20  0x1b0b0
0479                 >;
0480         };
0481 
0482         pinctrl_reg_mipi: reg-mipigrp {
0483                 fsl,pins = <MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x1b0b1>;
0484         };
0485 
0486         pinctrl_reg_pcie: reg-pciegrp {
0487                 fsl,pins = <
0488                         MX6QDL_PAD_GPIO_2__GPIO1_IO02   0x1b0b0
0489                         >;
0490         };
0491 
0492         pinctrl_reg_uart3: reguart3grp {
0493             fsl,pins = <
0494                 MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0
0495             >;
0496         };
0497 
0498         pinctrl_reg_usb_h1_vbus: usbh1grp {
0499                 fsl,pins = <
0500                         MX6QDL_PAD_GPIO_17__GPIO7_IO12          0x1b0b0
0501                 >;
0502         };
0503 
0504         pinctrl_reg_usb_otg: reg-usb-otggrp {
0505                 fsl,pins = <
0506                         MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
0507                 >;
0508         };
0509 
0510         pinctrl_uart3: uart3grp {
0511                 fsl,pins = <
0512                         MX6QDL_PAD_EIM_D23__UART3_CTS_B         0x1b0b1
0513                         MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
0514                         MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
0515                         MX6QDL_PAD_EIM_EB3__UART3_RTS_B         0x1b0b1
0516                 >;
0517         };
0518 
0519         pinctrl_usbotg: usbotggrp {
0520                 fsl,pins = <
0521                         MX6QDL_PAD_GPIO_1__USB_OTG_ID   0xd17059
0522                 >;
0523         };
0524 
0525         pinctrl_usdhc2: usdhc2grp {
0526                 fsl,pins = <
0527                         MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x1b0b0 /* CD */
0528                         MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17069
0529                         MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10069
0530                         MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17069
0531                         MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17069
0532                         MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17069
0533                         MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x17069
0534                 >;
0535         };
0536 
0537         pinctrl_usdhc2_100mhz: h100-usdhc2-100mhz {
0538                 fsl,pins = <
0539                         MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x1b0b0 /* CD */
0540                         MX6QDL_PAD_SD2_CMD__SD2_CMD             0x170b9
0541                         MX6QDL_PAD_SD2_CLK__SD2_CLK             0x100b9
0542                         MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x170b9
0543                         MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x170b9
0544                         MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x170b9
0545                         MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x170b9
0546                 >;
0547         };
0548 
0549         pinctrl_usdhc2_200mhz: h100-usdhc2-200mhz {
0550                 fsl,pins = <
0551                         MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x1b0b0 /* CD */
0552                         MX6QDL_PAD_SD2_CMD__SD2_CMD             0x170f9
0553                         MX6QDL_PAD_SD2_CLK__SD2_CLK             0x100f9
0554                         MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x170f9
0555                         MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x170f9
0556                         MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x170f9
0557                         MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x170f9
0558                 >;
0559         };
0560 
0561 };