Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003  * Copyright (c) 2016 Protonic Holland
0004  * Copyright (c) 2020 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix
0005  */
0006 
0007 /dts-v1/;
0008 #include "imx6ul.dtsi"
0009 #include <dt-bindings/gpio/gpio.h>
0010 
0011 / {
0012         model = "Protonic PRTI6G Board";
0013         compatible = "prt,prti6g", "fsl,imx6ul";
0014 
0015         chosen {
0016                 stdout-path = &uart1;
0017         };
0018 
0019         clock_ksz8081_in: clock-ksz8081-in {
0020                 compatible = "fixed-clock";
0021                 #clock-cells = <0>;
0022                 clock-frequency = <25000000>;
0023         };
0024 
0025         clock_ksz8081_out: clock-ksz8081-out {
0026                 compatible = "fixed-clock";
0027                 #clock-cells = <0>;
0028                 clock-frequency = <50000000>;
0029         };
0030 
0031         leds {
0032                 compatible = "gpio-leds";
0033                 pinctrl-names = "default";
0034                 pinctrl-0 = <&pinctrl_leds>;
0035 
0036                 led-0 {
0037                         label = "debug0";
0038                         gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
0039                         linux,default-trigger = "heartbeat";
0040                 };
0041         };
0042 
0043         reg_3v2: regulator-3v2 {
0044                 compatible = "regulator-fixed";
0045                 regulator-name = "3v2";
0046                 regulator-min-microvolt = <3200000>;
0047                 regulator-max-microvolt = <3200000>;
0048         };
0049 };
0050 
0051 &can1 {
0052         pinctrl-names = "default";
0053         pinctrl-0 = <&pinctrl_can1>;
0054         status = "okay";
0055 };
0056 
0057 &can2 {
0058         pinctrl-names = "default";
0059         pinctrl-0 = <&pinctrl_can2>;
0060         status = "okay";
0061 };
0062 
0063 &ecspi1 {
0064         cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
0065         pinctrl-names = "default";
0066         pinctrl-0 = <&pinctrl_ecspi1>;
0067         status = "okay";
0068 
0069         flash@0 {
0070                 compatible = "jedec,spi-nor";
0071                 reg = <0>;
0072                 spi-max-frequency = <20000000>;
0073         };
0074 };
0075 
0076 &ecspi2 {
0077         cs-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
0078         pinctrl-names = "default";
0079         pinctrl-0 = <&pinctrl_ecspi2>;
0080         status = "okay";
0081 };
0082 
0083 &fec1 {
0084         pinctrl-names = "default";
0085         pinctrl-0 = <&pinctrl_eth1>;
0086         phy-mode = "rmii";
0087         phy-handle = <&rmii_phy>;
0088         clocks = <&clks IMX6UL_CLK_ENET>,
0089                  <&clks IMX6UL_CLK_ENET_AHB>,
0090                  <&clks IMX6UL_CLK_ENET_PTP>,
0091                  <&clock_ksz8081_out>;
0092         clock-names = "ipg", "ahb", "ptp",
0093                       "enet_clk_ref";
0094         status = "okay";
0095 
0096         mdio {
0097                 #address-cells = <1>;
0098                 #size-cells = <0>;
0099 
0100                 /* Microchip KSZ8081RNA PHY */
0101                 rmii_phy: ethernet-phy@0 {
0102                         reg = <0>;
0103                         interrupts-extended = <&gpio5 1 IRQ_TYPE_LEVEL_LOW>;
0104                         reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
0105                         reset-assert-us = <10000>;
0106                         reset-deassert-us = <300>;
0107                         clocks = <&clock_ksz8081_in>;
0108                         clock-names = "rmii-ref";
0109                 };
0110         };
0111 };
0112 
0113 &i2c1 {
0114         pinctrl-names = "default";
0115         pinctrl-0 = <&pinctrl_i2c1>;
0116         clock-frequency = <100000>;
0117         status = "okay";
0118 
0119         /* additional i2c devices are added automatically by the boot loader */
0120 };
0121 
0122 &i2c2 {
0123         pinctrl-names = "default";
0124         pinctrl-0 = <&pinctrl_i2c2>;
0125         clock-frequency = <100000>;
0126         status = "okay";
0127 
0128         adc@49 {
0129                 compatible = "ti,ads1015";
0130                 reg = <0x49>;
0131                 #address-cells = <1>;
0132                 #size-cells = <0>;
0133 
0134                 channel@4 {
0135                         reg = <4>;
0136                         ti,gain = <3>;
0137                         ti,datarate = <3>;
0138                 };
0139 
0140                 channel@5 {
0141                         reg = <5>;
0142                         ti,gain = <3>;
0143                         ti,datarate = <3>;
0144                 };
0145 
0146                 channel@6 {
0147                         reg = <6>;
0148                         ti,gain = <3>;
0149                         ti,datarate = <3>;
0150                 };
0151 
0152                 channel@7 {
0153                         reg = <7>;
0154                         ti,gain = <3>;
0155                         ti,datarate = <3>;
0156                 };
0157         };
0158 
0159         rtc@51 {
0160                 compatible = "nxp,pcf8563";
0161                 reg = <0x51>;
0162         };
0163 
0164         temperature-sensor@70 {
0165                 compatible = "ti,tmp103";
0166                 reg = <0x70>;
0167         };
0168 };
0169 
0170 &uart1 {
0171         pinctrl-names = "default";
0172         pinctrl-0 = <&pinctrl_uart1>;
0173         status = "okay";
0174 };
0175 
0176 &usbotg1 {
0177         dr_mode = "host";
0178         status = "okay";
0179 };
0180 
0181 &usdhc1 {
0182         pinctrl-names = "default";
0183         pinctrl-0 = <&pinctrl_usdhc1>;
0184         cd-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
0185         vmmc-supply = <&reg_3v2>;
0186         no-1-8-v;
0187         disable-wp;
0188         cap-sd-highspeed;
0189         no-mmc;
0190         no-sdio;
0191         status = "okay";
0192 };
0193 
0194 &usdhc2 {
0195         pinctrl-names = "default";
0196         pinctrl-0 = <&pinctrl_usdhc2>;
0197         bus-width = <8>;
0198         no-1-8-v;
0199         non-removable;
0200         no-sd;
0201         no-sdio;
0202         status = "okay";
0203 };
0204 
0205 &iomuxc {
0206         pinctrl-names = "default";
0207         pinctrl-0 = <&pinctrl_hog>;
0208 
0209         pinctrl_can1: can1grp {
0210                 fsl,pins = <
0211                         MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX              0x0b0b0
0212                         MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX              0x0b0b0
0213                         /* SR */
0214                         MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03              0x0b0b0
0215                         /* TERM */
0216                         MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04              0x0b0b0
0217                         /* nSMBALERT */
0218                         MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02              0x0b0b0
0219                 >;
0220         };
0221 
0222         pinctrl_can2: can2grp {
0223                 fsl,pins = <
0224                         MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX              0x0b0b0
0225                         MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX              0x0b0b0
0226                         /* SR */
0227                         MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05              0x0b0b0
0228                 >;
0229         };
0230 
0231         pinctrl_ecspi1: ecspi1grp {
0232                 fsl,pins = <
0233                         MX6UL_PAD_CSI_DATA04__ECSPI1_SCLK               0x0b0b0
0234                         MX6UL_PAD_CSI_DATA05__GPIO4_IO26                0x000b1
0235                         MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI               0x0b0b0
0236                         MX6UL_PAD_CSI_DATA07__ECSPI1_MISO               0x0b0b0
0237                 >;
0238         };
0239 
0240         pinctrl_ecspi2: ecspi2grp {
0241                 fsl,pins = <
0242                         MX6UL_PAD_CSI_DATA00__ECSPI2_SCLK               0x0b0b0
0243                         MX6UL_PAD_CSI_DATA01__GPIO4_IO22                0x000b1
0244                         MX6UL_PAD_CSI_DATA02__ECSPI2_MOSI               0x0b0b0
0245                         MX6UL_PAD_CSI_DATA03__ECSPI2_MISO               0x0b0b0
0246                 >;
0247         };
0248 
0249         pinctrl_eth1: eth1grp {
0250                 fsl,pins = <
0251                         MX6UL_PAD_GPIO1_IO07__ENET1_MDC                 0x1b0b0
0252                         MX6UL_PAD_GPIO1_IO06__ENET1_MDIO                0x100b0
0253                         MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00         0x1b0b0
0254                         MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01         0x1b0b0
0255                         MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN              0x100b0
0256                         MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER              0x1b0b0
0257                         MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN              0x1b0b0
0258                         MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00         0x1b0b0
0259                         MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01         0x1b0b0
0260                         MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1          0x1b000
0261                         /* PHY ENET1_RST */
0262                         MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00              0x00880
0263                         /* PHY ENET1_IRQ */
0264                         MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01              0x00880
0265                 >;
0266         };
0267 
0268         pinctrl_hog: hoggrp {
0269                 fsl,pins = <
0270                         /* HW revision detect */
0271                         /* REV_ID0 */
0272                         MX6UL_PAD_ENET2_RX_DATA0__GPIO2_IO08            0x1b0b0
0273                         /* REV_ID1 */
0274                         MX6UL_PAD_ENET2_RX_DATA1__GPIO2_IO09            0x1b0b0
0275                         /* REV_ID2 */
0276                         MX6UL_PAD_ENET2_RX_EN__GPIO2_IO10               0x1b0b0
0277                         /* REV_ID3 */
0278                         MX6UL_PAD_ENET2_TX_DATA0__GPIO2_IO11            0x1b0b0
0279                         /* BOARD_ID0 */
0280                         MX6UL_PAD_ENET2_TX_EN__GPIO2_IO13               0x1b0b0
0281                         /* BOARD_ID1 */
0282                         MX6UL_PAD_ENET2_TX_CLK__GPIO2_IO14              0x1b0b0
0283                         /* BOARD_ID2 */
0284                         MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15               0x1b0b0
0285                         /* BOARD_ID3 */
0286                         MX6UL_PAD_ENET2_TX_DATA1__GPIO2_IO12            0x1b0b0
0287                         /* Safety controller IO */
0288                         /* WAKE_SC */
0289                         MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06              0x1b0b0
0290                         /* PROGRAM_SC */
0291                         MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07              0x1b0b0
0292                 >;
0293         };
0294 
0295         pinctrl_i2c1: i2c1grp {
0296                 fsl,pins = <
0297                         MX6UL_PAD_CSI_MCLK__I2C1_SDA            0x4001b8b0
0298                         MX6UL_PAD_CSI_PIXCLK__I2C1_SCL          0x4001b8b0
0299                 >;
0300         };
0301 
0302         pinctrl_i2c2: i2c2grp {
0303                 fsl,pins = <
0304                         MX6UL_PAD_CSI_VSYNC__I2C2_SDA           0x4001b8b0
0305                         MX6UL_PAD_CSI_HSYNC__I2C2_SCL           0x4001b8b0
0306                 >;
0307         };
0308 
0309         pinctrl_leds: ledsgrp {
0310                 fsl,pins = <
0311                         MX6UL_PAD_NAND_DQS__GPIO4_IO16                  0x1b0b0
0312                 >;
0313         };
0314 
0315         pinctrl_uart1: uart1grp {
0316                 fsl,pins = <
0317                         MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX           0x1b0b1
0318                         MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX           0x1b0b1
0319                 >;
0320         };
0321 
0322         pinctrl_usdhc1: usdhc1grp {
0323                 fsl,pins = <
0324                         MX6UL_PAD_SD1_CMD__USDHC1_CMD                   0x070b1
0325                         MX6UL_PAD_SD1_CLK__USDHC1_CLK                   0x07099
0326                         MX6UL_PAD_SD1_DATA0__USDHC1_DATA0               0x070b1
0327                         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1               0x070b1
0328                         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2               0x070b1
0329                         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3               0x070b1
0330                         /* SD1 CD */
0331                         MX6UL_PAD_NAND_READY_B__GPIO4_IO12              0x170b0
0332                 >;
0333         };
0334 
0335         pinctrl_usdhc2: usdhc2grp {
0336                 fsl,pins = <
0337                         MX6UL_PAD_NAND_WE_B__USDHC2_CMD                 0x170f9
0338                         MX6UL_PAD_NAND_RE_B__USDHC2_CLK                 0x100f9
0339                         MX6UL_PAD_NAND_DATA00__USDHC2_DATA0             0x170f9
0340                         MX6UL_PAD_NAND_DATA01__USDHC2_DATA1             0x170f9
0341                         MX6UL_PAD_NAND_DATA02__USDHC2_DATA2             0x170f9
0342                         MX6UL_PAD_NAND_DATA03__USDHC2_DATA3             0x170f9
0343                         MX6UL_PAD_NAND_DATA04__USDHC2_DATA4             0x170f9
0344                         MX6UL_PAD_NAND_DATA05__USDHC2_DATA5             0x170f9
0345                         MX6UL_PAD_NAND_DATA06__USDHC2_DATA6             0x170f9
0346                         MX6UL_PAD_NAND_DATA07__USDHC2_DATA7             0x170f9
0347                         MX6UL_PAD_NAND_ALE__USDHC2_RESET_B              0x170b0
0348                 >;
0349         };
0350 };