Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright 2014 FEDEVEL, Inc.
0004  *
0005  * Author: Robert Nelson <robertcnelson@gmail.com>
0006  */
0007 
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include <dt-bindings/input/input.h>
0010 
0011 / {
0012         chosen {
0013                 stdout-path = &uart1;
0014         };
0015 
0016         regulators {
0017                 compatible = "simple-bus";
0018                 #address-cells = <1>;
0019                 #size-cells = <0>;
0020 
0021                 reg_3p3v: regulator@0 {
0022                         compatible = "regulator-fixed";
0023                         reg = <0>;
0024                         regulator-name = "3P3V";
0025                         regulator-min-microvolt = <3300000>;
0026                         regulator-max-microvolt = <3300000>;
0027                         regulator-always-on;
0028                 };
0029 
0030                 reg_usbh1_vbus: regulator@1 {
0031                         compatible = "regulator-fixed";
0032                         reg = <1>;
0033                         pinctrl-names = "default";
0034                         regulator-name = "usbh1_vbus";
0035                         regulator-min-microvolt = <5000000>;
0036                         regulator-max-microvolt = <5000000>;
0037                         gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
0038                         enable-active-high;
0039                 };
0040 
0041                 reg_usb_otg_vbus: regulator@2 {
0042                         compatible = "regulator-fixed";
0043                         reg = <2>;
0044                         pinctrl-names = "default";
0045                         regulator-name = "usb_otg_vbus";
0046                         regulator-min-microvolt = <5000000>;
0047                         regulator-max-microvolt = <5000000>;
0048                         gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
0049                         enable-active-high;
0050                 };
0051         };
0052 
0053         leds {
0054                 compatible = "gpio-leds";
0055                 pinctrl-names = "default";
0056                 pinctrl-0 = <&pinctrl_led>;
0057 
0058                 led0: usr {
0059                         label = "usr";
0060                         gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
0061                         default-state = "off";
0062                         linux,default-trigger = "heartbeat";
0063                 };
0064         };
0065 
0066         sound {
0067                 compatible = "fsl,imx6-rex-sgtl5000",
0068                              "fsl,imx-audio-sgtl5000";
0069                 model = "imx6-rex-sgtl5000";
0070                 ssi-controller = <&ssi1>;
0071                 audio-codec = <&codec>;
0072                 audio-routing =
0073                         "MIC_IN", "Mic Jack",
0074                         "Mic Jack", "Mic Bias",
0075                         "Headphone Jack", "HP_OUT";
0076                 mux-int-port = <1>;
0077                 mux-ext-port = <3>;
0078         };
0079 };
0080 
0081 &audmux {
0082         pinctrl-names = "default";
0083         pinctrl-0 = <&pinctrl_audmux>;
0084         status = "okay";
0085 };
0086 
0087 &ecspi2 {
0088         cs-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
0089         pinctrl-names = "default";
0090         pinctrl-0 = <&pinctrl_ecspi2>;
0091         status = "okay";
0092 };
0093 
0094 &ecspi3 {
0095         cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
0096         pinctrl-names = "default";
0097         pinctrl-0 = <&pinctrl_ecspi3>;
0098         status = "okay";
0099 };
0100 
0101 &fec {
0102         pinctrl-names = "default";
0103         pinctrl-0 = <&pinctrl_enet>;
0104         phy-mode = "rgmii";
0105         phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
0106         status = "okay";
0107 };
0108 
0109 &hdmi {
0110         ddc-i2c-bus = <&i2c2>;
0111         status = "okay";
0112 };
0113 
0114 &i2c1 {
0115         clock-frequency = <100000>;
0116         pinctrl-names = "default";
0117         pinctrl-0 = <&pinctrl_i2c1>;
0118         status = "okay";
0119 
0120         codec: sgtl5000@a {
0121                 compatible = "fsl,sgtl5000";
0122                 reg = <0x0a>;
0123                 clocks = <&clks IMX6QDL_CLK_CKO>;
0124                 VDDA-supply = <&reg_3p3v>;
0125                 VDDIO-supply = <&reg_3p3v>;
0126         };
0127 };
0128 
0129 &i2c2 {
0130         clock-frequency = <100000>;
0131         pinctrl-names = "default";
0132         pinctrl-0 = <&pinctrl_i2c2>;
0133         status = "okay";
0134 
0135         pca9535: gpio-expander@27 {
0136                 compatible = "nxp,pca9535";
0137                 reg = <0x27>;
0138                 gpio-controller;
0139                 #gpio-cells = <2>;
0140                 pinctrl-names = "default";
0141                 pinctrl-0 = <&pinctrl_pca9535>;
0142                 interrupt-parent = <&gpio6>;
0143                 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
0144                 interrupt-controller;
0145                 #interrupt-cells = <2>;
0146         };
0147 
0148         eeprom@57 {
0149                 compatible = "atmel,24c02";
0150                 reg = <0x57>;
0151         };
0152 };
0153 
0154 &i2c3 {
0155         clock-frequency = <100000>;
0156         pinctrl-names = "default";
0157         pinctrl-0 = <&pinctrl_i2c3>;
0158         status = "okay";
0159 };
0160 
0161 &iomuxc {
0162         pinctrl-names = "default";
0163         pinctrl-0 = <&pinctrl_hog>;
0164 
0165         imx6qdl-rex {
0166                 pinctrl_hog: hoggrp {
0167                         fsl,pins = <
0168                                 /* SGTL5000 sys_mclk */
0169                                 MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x030b0
0170                         >;
0171                 };
0172 
0173                 pinctrl_audmux: audmuxgrp {
0174                         fsl,pins = <
0175                                 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD          0x130b0
0176                                 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC          0x130b0
0177                                 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD          0x110b0
0178                                 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS         0x130b0
0179                         >;
0180                 };
0181 
0182                 pinctrl_ecspi2: ecspi2grp {
0183                         fsl,pins = <
0184                                 MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO      0x100b1
0185                                 MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI      0x100b1
0186                                 MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK      0x100b1
0187                                 /* CS */
0188                                 MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26       0x000b1
0189                         >;
0190                 };
0191 
0192                 pinctrl_ecspi3: ecspi3grp {
0193                         fsl,pins = <
0194                                 MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO     0x100b1
0195                                 MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI     0x100b1
0196                                 MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK     0x100b1
0197                                 /* CS */
0198                                 MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12      0x000b1
0199                         >;
0200                 };
0201 
0202                 pinctrl_enet: enetgrp {
0203                         fsl,pins = <
0204                                 MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
0205                                 MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
0206                                 MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
0207                                 MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
0208                                 MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
0209                                 MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
0210                                 MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
0211                                 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
0212                                 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
0213                                 MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
0214                                 MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
0215                                 MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
0216                                 MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
0217                                 MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
0218                                 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
0219                                 MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
0220                                 /* Phy reset */
0221                                 MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25      0x000b0
0222                         >;
0223                 };
0224 
0225                 pinctrl_i2c1: i2c1grp {
0226                         fsl,pins = <
0227                                 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA          0x4001b8b1
0228                                 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL          0x4001b8b1
0229                         >;
0230                 };
0231 
0232                 pinctrl_i2c2: i2c2grp {
0233                         fsl,pins = <
0234                                 MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
0235                                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
0236                         >;
0237                 };
0238 
0239                 pinctrl_i2c3: i2c3grp {
0240                         fsl,pins = <
0241                                 MX6QDL_PAD_EIM_D17__I2C3_SCL            0x4001b8b1
0242                                 MX6QDL_PAD_EIM_D18__I2C3_SDA            0x4001b8b1
0243                         >;
0244                 };
0245 
0246                 pinctrl_led: ledgrp {
0247                         fsl,pins = <
0248                                 /* user led */
0249                                 MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x80000000
0250                         >;
0251                 };
0252 
0253                 pinctrl_pca9535: pca9535grp {
0254                         fsl,pins = <
0255                                 MX6QDL_PAD_NANDF_CS3__GPIO6_IO16        0x17059
0256                    >;
0257                 };
0258 
0259                 pinctrl_uart1: uart1grp {
0260                         fsl,pins = <
0261                                 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA    0x1b0b1
0262                                 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA    0x1b0b1
0263                         >;
0264                 };
0265 
0266                 pinctrl_uart2: uart2grp {
0267                         fsl,pins = <
0268                                 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
0269                                 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
0270                         >;
0271                 };
0272 
0273                 pinctrl_usbh1: usbh1grp {
0274                         fsl,pins = <
0275                                 /* power enable, high active */
0276                                 MX6QDL_PAD_EIM_D31__GPIO3_IO31          0x10b0
0277                         >;
0278                 };
0279 
0280                 pinctrl_usbotg: usbotggrp {
0281                         fsl,pins = <
0282                                 MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
0283                                 MX6QDL_PAD_EIM_D21__USB_OTG_OC          0x1b0b0
0284                                 /* power enable, high active */
0285                                 MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x10b0
0286                         >;
0287                 };
0288 
0289                 pinctrl_usdhc2: usdhc2grp {
0290                         fsl,pins = <
0291                                 MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17059
0292                                 MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10059
0293                                 MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17059
0294                                 MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17059
0295                                 MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17059
0296                                 MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x17059
0297                                 /* CD */
0298                                 MX6QDL_PAD_NANDF_D2__GPIO2_IO02         0x1b0b0
0299                                 /* WP */
0300                                 MX6QDL_PAD_NANDF_D3__GPIO2_IO03         0x1f0b0
0301                         >;
0302                 };
0303 
0304                 pinctrl_usdhc3: usdhc3grp {
0305                         fsl,pins = <
0306                                 MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
0307                                 MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
0308                                 MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
0309                                 MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
0310                                 MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
0311                                 MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
0312                                 /* CD */
0313                                 MX6QDL_PAD_NANDF_D0__GPIO2_IO00         0x1b0b0
0314                                 /* WP */
0315                                 MX6QDL_PAD_NANDF_D1__GPIO2_IO01         0x1f0b0
0316                         >;
0317                 };
0318         };
0319 };
0320 
0321 &ssi1 {
0322         status = "okay";
0323 };
0324 
0325 &uart1 {
0326         pinctrl-names = "default";
0327         pinctrl-0 = <&pinctrl_uart1>;
0328         status = "okay";
0329 };
0330 
0331 &uart2 {
0332         pinctrl-names = "default";
0333         pinctrl-0 = <&pinctrl_uart2>;
0334         status = "okay";
0335 };
0336 
0337 &usbh1 {
0338         vbus-supply = <&reg_usbh1_vbus>;
0339         pinctrl-names = "default";
0340         pinctrl-0 = <&pinctrl_usbh1>;
0341         status = "okay";
0342 };
0343 
0344 &usbotg {
0345         vbus-supply = <&reg_usb_otg_vbus>;
0346         pinctrl-names = "default";
0347         pinctrl-0 = <&pinctrl_usbotg>;
0348         status = "okay";
0349 };
0350 
0351 &usdhc2 {
0352         pinctrl-names = "default";
0353         pinctrl-0 = <&pinctrl_usdhc2>;
0354         bus-width = <4>;
0355         cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
0356         wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
0357         status = "okay";
0358 };
0359 
0360 &usdhc3 {
0361         pinctrl-names = "default";
0362         pinctrl-0 = <&pinctrl_usdhc3>;
0363         bus-width = <4>;
0364         cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
0365         wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
0366         status = "okay";
0367 };