Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright (c) 2016 Andreas Färber
0004  */
0005 
0006 #include "imx6sx.dtsi"
0007 
0008 / {
0009         compatible = "fsl,imx6sx";
0010 
0011         chosen {
0012                 stdout-path = "serial0:115200n8";
0013         };
0014 
0015         leds {
0016                 compatible = "gpio-leds";
0017 
0018                 red {
0019                         label = "udoo-neo:red:mmc";
0020                         gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
0021                         default-state = "off";
0022                         linux,default-trigger = "mmc0";
0023                 };
0024 
0025                 orange {
0026                         label = "udoo-neo:orange:user";
0027                         gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
0028                         default-state = "keep";
0029                 };
0030         };
0031 
0032         reg_sdio_pwr: regulator-sdio-pwr {
0033                 compatible = "regulator-fixed";
0034                 gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
0035                 enable-active-high;
0036                 regulator-name = "SDIO_PWR";
0037                 regulator-min-microvolt = <3300000>;
0038                 regulator-max-microvolt = <3300000>;
0039                 regulator-boot-on;
0040         };
0041 
0042         reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
0043                 compatible = "regulator-fixed";
0044                 pinctrl-names = "default";
0045                 pinctrl-0 = <&pinctrl_otg1_reg>;
0046                 regulator-name = "usb_otg1_vbus";
0047                 regulator-min-microvolt = <5000000>;
0048                 regulator-max-microvolt = <5000000>;
0049                 gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
0050                 enable-active-high;
0051         };
0052 
0053         reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
0054                 compatible = "regulator-fixed";
0055                 pinctrl-names = "default";
0056                 pinctrl-0 = <&pinctrl_otg2_reg>;
0057                 regulator-name = "usb_otg2_vbus";
0058                 regulator-min-microvolt = <5000000>;
0059                 regulator-max-microvolt = <5000000>;
0060                 gpio = <&gpio4 12 GPIO_ACTIVE_HIGH>;
0061                 enable-active-high;
0062         };
0063 
0064         reg_wlan: regulator-wlan {
0065                 compatible = "regulator-fixed";
0066                 regulator-name = "wlan-en-regulator";
0067                 regulator-min-microvolt = <1800000>;
0068                 regulator-max-microvolt = <1800000>;
0069                 gpio = <&gpio2 12 GPIO_ACTIVE_HIGH>;
0070                 startup-delay-us = <70000>;
0071                 enable-active-high;
0072         };
0073 };
0074 
0075 &fec1 {
0076         pinctrl-names = "default";
0077         pinctrl-0 = <&pinctrl_enet1>;
0078         phy-mode = "rmii";
0079         phy-reset-duration = <10>;
0080         phy-reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
0081 };
0082 
0083 &i2c1 {
0084         pinctrl-names = "default";
0085         pinctrl-0 = <&pinctrl_i2c1>;
0086         clock-frequency = <100000>;
0087         status = "okay";
0088 
0089         pmic: pmic@8 {
0090                 compatible = "fsl,pfuze3000";
0091                 reg = <0x08>;
0092 
0093                 regulators {
0094                         sw1a_reg: sw1a {
0095                                 regulator-min-microvolt = <700000>;
0096                                 regulator-max-microvolt = <1475000>;
0097                                 regulator-boot-on;
0098                                 regulator-always-on;
0099                                 regulator-ramp-delay = <6250>;
0100                         };
0101 
0102                         sw1c_reg: sw1b {
0103                                 regulator-min-microvolt = <700000>;
0104                                 regulator-max-microvolt = <1475000>;
0105                                 regulator-boot-on;
0106                                 regulator-always-on;
0107                                 regulator-ramp-delay = <6250>;
0108                         };
0109 
0110                         sw2_reg: sw2 {
0111                                 regulator-min-microvolt = <1500000>;
0112                                 regulator-max-microvolt = <1850000>;
0113                                 regulator-boot-on;
0114                                 regulator-always-on;
0115                         };
0116 
0117                         sw3a_reg: sw3 {
0118                                 regulator-min-microvolt = <900000>;
0119                                 regulator-max-microvolt = <1650000>;
0120                                 regulator-boot-on;
0121                                 regulator-always-on;
0122                         };
0123 
0124                         swbst_reg: swbst {
0125                                 regulator-min-microvolt = <5000000>;
0126                                 regulator-max-microvolt = <5150000>;
0127                         };
0128 
0129                         snvs_reg: vsnvs {
0130                                 regulator-min-microvolt = <1000000>;
0131                                 regulator-max-microvolt = <3000000>;
0132                                 regulator-boot-on;
0133                                 regulator-always-on;
0134                         };
0135 
0136                         vref_reg: vrefddr {
0137                                 regulator-boot-on;
0138                                 regulator-always-on;
0139                         };
0140 
0141                         vgen1_reg: vldo1 {
0142                                 regulator-min-microvolt = <1800000>;
0143                                 regulator-max-microvolt = <3300000>;
0144                                 regulator-always-on;
0145                         };
0146 
0147                         vgen2_reg: vldo2 {
0148                                 regulator-min-microvolt = <800000>;
0149                                 regulator-max-microvolt = <1550000>;
0150                         };
0151 
0152                         vgen3_reg: vccsd {
0153                                 regulator-min-microvolt = <2850000>;
0154                                 regulator-max-microvolt = <3300000>;
0155                                 regulator-always-on;
0156                         };
0157 
0158                         vgen4_reg: v33 {
0159                                 regulator-min-microvolt = <2850000>;
0160                                 regulator-max-microvolt = <3300000>;
0161                                 regulator-always-on;
0162                         };
0163 
0164                         vgen5_reg: vldo3 {
0165                                 regulator-min-microvolt = <1800000>;
0166                                 regulator-max-microvolt = <3300000>;
0167                                 regulator-always-on;
0168                         };
0169 
0170                         vgen6_reg: vldo4 {
0171                                 regulator-min-microvolt = <1800000>;
0172                                 regulator-max-microvolt = <3300000>;
0173                                 regulator-always-on;
0174                         };
0175                 };
0176         };
0177 };
0178 
0179 &i2c2 { /* Brick snap in sensors connector */
0180         pinctrl-names = "default";
0181         pinctrl-0 = <&pinctrl_i2c2>;
0182         clock-frequency = <100000>;
0183         status = "okay";
0184 };
0185 
0186 &i2c3 {
0187         pinctrl-names = "default";
0188         pinctrl-0 = <&pinctrl_i2c3>;
0189         clock-frequency = <100000>;
0190         status = "okay";
0191 
0192         hdmi-transmitter@70 {
0193                 compatible = "nxp,tda998x";
0194                 reg = <0x70>;
0195                 interrupts-extended = <&gpio3 27 IRQ_TYPE_LEVEL_LOW>;
0196 
0197                 ports {
0198                         port {
0199                                 hdmi: endpoint {
0200                                         remote-endpoint = <&lcdc>;
0201                                 };
0202                         };
0203                 };
0204         };
0205 };
0206 
0207 &i2c4 { /* Onboard Motion sensors */
0208         pinctrl-names = "default";
0209         pinctrl-0 = <&pinctrl_i2c4>;
0210         clock-frequency = <100000>;
0211         status = "disabled";
0212 };
0213 
0214 &lcdif1 {
0215         pinctrl-names = "default";
0216         pinctrl-0 = <&pinctrl_lcd>;
0217         status = "okay";
0218 
0219         port {
0220                 lcdc: endpoint {
0221                         remote-endpoint = <&hdmi>;
0222                 };
0223         };
0224 };
0225 
0226 &iomuxc {
0227         pinctrl_bt_reg: btreggrp {
0228                 fsl,pins =
0229                         <MX6SX_PAD_KEY_ROW2__GPIO2_IO_17        0x15059>;
0230         };
0231 
0232         pinctrl_enet1: enet1grp {
0233                 fsl,pins =
0234                         <MX6SX_PAD_ENET1_CRS__GPIO2_IO_1        0xa0b1>,
0235                         <MX6SX_PAD_ENET1_MDC__ENET1_MDC         0xa0b1>,
0236                         <MX6SX_PAD_ENET1_MDIO__ENET1_MDIO       0xa0b1>,
0237                         <MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0  0xa0b1>,
0238                         <MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1  0xa0b1>,
0239                         <MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN   0xa0b1>,
0240 
0241                         <MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x3081>,
0242                         <MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9     0x3081>,
0243                         <MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0  0x3081>,
0244                         <MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1  0x3081>,
0245                         <MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN   0x3081>,
0246                         <MX6SX_PAD_RGMII1_RXC__ENET1_RX_ER      0x3081>,
0247 
0248                         <MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M      0x91>;
0249         };
0250 
0251         pinctrl_i2c1: i2c1grp {
0252                 fsl,pins =
0253                         <MX6SX_PAD_GPIO1_IO00__I2C1_SCL         0x4001b8b1>,
0254                         <MX6SX_PAD_GPIO1_IO01__I2C1_SDA         0x4001b8b1>;
0255         };
0256 
0257         pinctrl_i2c2: i2c2grp {
0258                 fsl,pins =
0259                         <MX6SX_PAD_GPIO1_IO03__I2C2_SDA         0x4001b8b1>,
0260                         <MX6SX_PAD_GPIO1_IO02__I2C2_SCL         0x4001b8b1>;
0261         };
0262 
0263         pinctrl_i2c3: i2c3grp {
0264                 fsl,pins =
0265                         <MX6SX_PAD_KEY_ROW4__I2C3_SDA                   0x4001b8b1>,
0266                         <MX6SX_PAD_KEY_COL4__I2C3_SCL                   0x4001b8b1>;
0267         };
0268 
0269         pinctrl_i2c4: i2c4grp {
0270                 fsl,pins =
0271                         <MX6SX_PAD_USB_H_DATA__I2C4_SDA         0x4001b8b1>,
0272                         <MX6SX_PAD_USB_H_STROBE__I2C4_SCL       0x4001b8b1>;
0273         };
0274 
0275         pinctrl_lcd: lcdgrp {
0276                 fsl,pins = <
0277                         MX6SX_PAD_LCD1_DATA00__LCDIF1_DATA_0            0x4001b0b0
0278                         MX6SX_PAD_LCD1_DATA01__LCDIF1_DATA_1            0x4001b0b0
0279                         MX6SX_PAD_LCD1_DATA02__LCDIF1_DATA_2            0x4001b0b0
0280                         MX6SX_PAD_LCD1_DATA03__LCDIF1_DATA_3            0x4001b0b0
0281                         MX6SX_PAD_LCD1_DATA04__LCDIF1_DATA_4            0x4001b0b0
0282                         MX6SX_PAD_LCD1_DATA05__LCDIF1_DATA_5            0x4001b0b0
0283                         MX6SX_PAD_LCD1_DATA06__LCDIF1_DATA_6            0x4001b0b0
0284                         MX6SX_PAD_LCD1_DATA07__LCDIF1_DATA_7            0x4001b0b0
0285                         MX6SX_PAD_LCD1_DATA08__LCDIF1_DATA_8            0x4001b0b0
0286                         MX6SX_PAD_LCD1_DATA09__LCDIF1_DATA_9            0x4001b0b0
0287                         MX6SX_PAD_LCD1_DATA10__LCDIF1_DATA_10           0x4001b0b0
0288                         MX6SX_PAD_LCD1_DATA11__LCDIF1_DATA_11           0x4001b0b0
0289                         MX6SX_PAD_LCD1_DATA12__LCDIF1_DATA_12           0x4001b0b0
0290                         MX6SX_PAD_LCD1_DATA13__LCDIF1_DATA_13           0x4001b0b0
0291                         MX6SX_PAD_LCD1_DATA14__LCDIF1_DATA_14           0x4001b0b0
0292                         MX6SX_PAD_LCD1_DATA15__LCDIF1_DATA_15           0x4001b0b0
0293                         MX6SX_PAD_LCD1_DATA16__LCDIF1_DATA_16           0x4001b0b0
0294                         MX6SX_PAD_LCD1_DATA17__LCDIF1_DATA_17           0x4001b0b0
0295                         MX6SX_PAD_LCD1_DATA18__LCDIF1_DATA_18           0x4001b0b0
0296                         MX6SX_PAD_LCD1_DATA19__LCDIF1_DATA_19           0x4001b0b0
0297                         MX6SX_PAD_LCD1_DATA20__LCDIF1_DATA_20           0x4001b0b0
0298                         MX6SX_PAD_LCD1_DATA21__LCDIF1_DATA_21           0x4001b0b0
0299                         MX6SX_PAD_LCD1_DATA22__LCDIF1_DATA_22           0x4001b0b0
0300                         MX6SX_PAD_LCD1_DATA23__LCDIF1_DATA_23           0x4001b0b0
0301                         MX6SX_PAD_LCD1_CLK__LCDIF1_CLK          0x4001b0b0
0302                         MX6SX_PAD_LCD1_ENABLE__LCDIF1_ENABLE            0x4001b0b0
0303                         MX6SX_PAD_LCD1_VSYNC__LCDIF1_VSYNC              0x4001b0b0
0304                         MX6SX_PAD_LCD1_HSYNC__LCDIF1_HSYNC              0x4001b0b0
0305                         MX6SX_PAD_LCD1_RESET__GPIO3_IO_27               0x4001b0b0
0306                 >;
0307         };
0308 
0309 
0310         pinctrl_uart1: uart1grp {
0311                 fsl,pins =
0312                         <MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX     0x1b0b1>,
0313                         <MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX     0x1b0b1>;
0314         };
0315 
0316         pinctrl_uart2: uart2grp {
0317                 fsl,pins =
0318                         <MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX     0x1b0b1>,
0319                         <MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX     0x1b0b1>;
0320         };
0321 
0322         pinctrl_uart3: uart3grp {
0323                 fsl,pins =
0324                         <MX6SX_PAD_SD3_DATA4__UART3_DCE_RX      0x13059>,
0325                         <MX6SX_PAD_SD3_DATA5__UART3_DCE_TX      0x13059>,
0326                         <MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS     0x13059>,
0327                         <MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS     0x13059>;
0328         };
0329 
0330         pinctrl_uart5: uart5grp {
0331                 fsl,pins =
0332                         <MX6SX_PAD_SD4_DATA4__UART5_DCE_RX      0x1b0b1>,
0333                         <MX6SX_PAD_SD4_DATA5__UART5_DCE_TX      0x1b0b1>;
0334         };
0335 
0336         pinctrl_uart6: uart6grp {
0337                 fsl,pins =
0338                         <MX6SX_PAD_CSI_DATA00__UART6_RI_B       0x1b0b1>,
0339                         <MX6SX_PAD_CSI_DATA01__UART6_DSR_B      0x1b0b1>,
0340                         <MX6SX_PAD_CSI_DATA02__UART6_DTR_B      0x1b0b1>,
0341                         <MX6SX_PAD_CSI_DATA03__UART6_DCD_B      0x1b0b1>,
0342                         <MX6SX_PAD_CSI_DATA04__UART6_DCE_RX     0x1b0b1>,
0343                         <MX6SX_PAD_CSI_DATA05__UART6_DCE_TX     0x1b0b1>,
0344                         <MX6SX_PAD_CSI_DATA06__UART6_DCE_RTS    0x1b0b1>,
0345                         <MX6SX_PAD_CSI_DATA07__UART6_DCE_CTS    0x1b0b1>;
0346         };
0347 
0348         pinctrl_otg1_reg: otg1grp {
0349                 fsl,pins =
0350                         <MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9        0x10b0>;
0351         };
0352 
0353 
0354         pinctrl_otg2_reg: otg2grp {
0355                 fsl,pins =
0356                         <MX6SX_PAD_NAND_RE_B__GPIO4_IO_12        0x10b0>;
0357         };
0358 
0359         pinctrl_usb_otg1: usbotg1grp {
0360                 fsl,pins =
0361                         <MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID    0x17059>,
0362                         <MX6SX_PAD_GPIO1_IO08__USB_OTG1_OC       0x10b0>;
0363         };
0364 
0365         pinctrl_usb_otg2: usbot2ggrp {
0366                 fsl,pins =
0367                         <MX6SX_PAD_QSPI1A_DATA0__USB_OTG2_OC     0x10b0>;
0368         };
0369 
0370         pinctrl_usdhc2: usdhc2grp {
0371                 fsl,pins =
0372                         <MX6SX_PAD_SD2_CMD__USDHC2_CMD          0x17059>,
0373                         <MX6SX_PAD_SD2_CLK__USDHC2_CLK          0x10059>,
0374                         <MX6SX_PAD_SD2_DATA0__USDHC2_DATA0      0x17059>,
0375                         <MX6SX_PAD_SD2_DATA1__USDHC2_DATA1      0x17059>,
0376                         <MX6SX_PAD_SD2_DATA2__USDHC2_DATA2      0x17059>,
0377                         <MX6SX_PAD_SD2_DATA3__USDHC2_DATA3      0x17059>,
0378                         <MX6SX_PAD_SD1_DATA0__GPIO6_IO_2        0x17059>; /* CD */
0379         };
0380 
0381         pinctrl_usdhc3: usdhc3grp {
0382                 fsl,pins =
0383                         <MX6SX_PAD_KEY_COL2__GPIO2_IO_12        0x15059>,
0384                         <MX6SX_PAD_KEY_ROW1__GPIO2_IO_16        0x13059>,
0385                         <MX6SX_PAD_SD3_DATA0__USDHC3_DATA0      0x17069>,
0386                         <MX6SX_PAD_SD3_DATA1__USDHC3_DATA1      0x17069>,
0387                         <MX6SX_PAD_SD3_DATA2__USDHC3_DATA2      0x17069>,
0388                         <MX6SX_PAD_SD3_DATA3__USDHC3_DATA3      0x17069>,
0389                         <MX6SX_PAD_SD3_CMD__USDHC3_CMD          0x17069>,
0390                         <MX6SX_PAD_SD3_CLK__USDHC3_CLK          0x10069>,
0391                         <MX6SX_PAD_CSI_MCLK__OSC32K_32K_OUT     0x10059>;
0392         };
0393 };
0394 
0395 &uart1 {
0396         pinctrl-names = "default";
0397         pinctrl-0 = <&pinctrl_uart1>;
0398         status = "okay";
0399 };
0400 
0401 /* Cortex-M4 serial */
0402 &uart2 {
0403         pinctrl-names = "default";
0404         pinctrl-0 = <&pinctrl_uart2>;
0405         status = "disabled";
0406 };
0407 
0408 &uart3 { /* Bluetooth - only on Extended/Full versions */
0409         pinctrl-names = "default";
0410         pinctrl-0 = <&pinctrl_uart3>;
0411         uart-has-rtscts;
0412         status = "disabled";
0413 
0414         bluetooth {
0415                 compatible = "ti,wl1831-st";
0416                 enable-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
0417                 pinctrl-names = "default";
0418                 pinctrl-0 = <&pinctrl_bt_reg>;
0419                 max-speed = <921600>;
0420         };
0421 };
0422 
0423 /* Arduino serial */
0424 &uart5 {
0425         pinctrl-names = "default";
0426         pinctrl-0 = <&pinctrl_uart5>;
0427         status = "disabled";
0428 };
0429 
0430 &uart6 {
0431         pinctrl-names = "default";
0432         pinctrl-0 = <&pinctrl_uart6>;
0433         uart-has-rtscts;
0434         status = "disabled";
0435 };
0436 
0437 &usbotg1 { /* J2 micro USB port */
0438         vbus-supply = <&reg_usb_otg1_vbus>;
0439         pinctrl-names = "default";
0440         pinctrl-0 = <&pinctrl_usb_otg1>;
0441         status = "okay";
0442 };
0443 
0444 &usbotg2 { /* J3 host USB port */
0445         vbus-supply = <&reg_usb_otg2_vbus>;
0446         pinctrl-names = "default";
0447         pinctrl-0 = <&pinctrl_usb_otg2>;
0448         dr_mode = "host";
0449         status = "okay";
0450 };
0451 
0452 &usdhc2 {
0453         pinctrl-names = "default";
0454         pinctrl-0 = <&pinctrl_usdhc2>;
0455         vmmc-supply = <&reg_sdio_pwr>;
0456         bus-width = <4>;
0457         cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
0458         no-1-8-v;
0459         keep-power-in-suspend;
0460         wakeup-source;
0461         status = "okay";
0462 };
0463 
0464 &usdhc3 { /* Wi-Fi */
0465         pinctrl-names = "default";
0466         pinctrl-0 = <&pinctrl_usdhc3>;
0467         non-removable;
0468         vmmc-supply = <&reg_wlan>;
0469         cap-power-off-card;
0470         wakeup-source;
0471         keep-power-in-suspend;
0472         #address-cells = <1>;
0473         #size-cells = <0>;
0474         status = "okay";
0475 
0476         wlcore: wlcore@2 {
0477                 compatible = "ti,wl1831";
0478                 reg = <2>;
0479                 interrupt-parent = <&gpio2>;
0480                 interrupts = <16 IRQ_TYPE_EDGE_RISING>;
0481                 ref-clock-frequency = <38400000>;
0482                 tcxo-clock-frequency = <26000000>;
0483         };
0484 };