Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /*
0003  * Copyright (C) 2018 Jon Nettleton <jon@solid-run.com>
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "dt-bindings/usb/pd.h"
0009 #include "imx8mq-sr-som.dtsi"
0010 
0011 / {
0012         model = "SolidRun i.MX8MQ HummingBoard Pulse";
0013         compatible = "solidrun,hummingboard-pulse", "fsl,imx8mq";
0014 
0015         chosen {
0016                 stdout-path = &uart1;
0017         };
0018 
0019         reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
0020                 compatible = "regulator-fixed";
0021                 pinctrl-names = "default";
0022                 pinctrl-0 = <&pinctrl_usdhc2_vmmc>;
0023                 regulator-name = "VSD_3V3";
0024                 regulator-min-microvolt = <3300000>;
0025                 regulator-max-microvolt = <3300000>;
0026                 gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
0027         };
0028 
0029         reg_v_5v0: regulator-v-5v0 {
0030                 compatible = "regulator-fixed";
0031                 regulator-name = "v_5v0";
0032                 regulator-max-microvolt = <5000000>;
0033                 regulator-min-microvolt = <5000000>;
0034                 regulator-always-on;
0035         };
0036 };
0037 
0038 &i2c2 {
0039         pinctrl-names = "default";
0040         pinctrl-0 = <&pinctrl_i2c2>;
0041         clock-frequency = <100000>;
0042         status = "okay";
0043 
0044         typec_ptn5100: usb-typec@50 {
0045                 compatible = "nxp,ptn5110";
0046                 reg = <0x50>;
0047                 pinctrl-names = "default";
0048                 pinctrl-0 = <&pinctrl_typec>;
0049                 interrupt-parent = <&gpio1>;
0050                 interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
0051 
0052                 connector {
0053                         compatible = "usb-c-connector";
0054                         label = "USB-C";
0055                         data-role = "dual";
0056                         power-role = "dual";
0057                         try-power-role = "sink";
0058                         source-pdos = <PDO_FIXED(5000, 2000,
0059                                                  PDO_FIXED_USB_COMM |
0060                                                  PDO_FIXED_SUSPEND |
0061                                                  PDO_FIXED_EXTPOWER)>;
0062                         sink-pdos = <PDO_FIXED(5000, 2000,
0063                                                PDO_FIXED_USB_COMM |
0064                                                PDO_FIXED_SUSPEND |
0065                                                PDO_FIXED_EXTPOWER)
0066                                      PDO_FIXED(9000, 2000,
0067                                                PDO_FIXED_USB_COMM |
0068                                                PDO_FIXED_SUSPEND |
0069                                                PDO_FIXED_EXTPOWER)>;
0070                         op-sink-microwatt = <9000000>;
0071 
0072                         port {
0073                                 typec1_dr_sw: endpoint {
0074                                         remote-endpoint = <&usb1_drd_sw>;
0075                                 };
0076                         };
0077                 };
0078         };
0079 };
0080 
0081 &i2c3 {
0082         pinctrl-names = "default";
0083         pinctrl-0 = <&pinctrl_i2c3>;
0084         clock-frequency = <100000>;
0085         status = "okay";
0086 
0087         eeprom@57 {
0088                 compatible = "atmel,24c02";
0089                 reg = <0x57>;
0090                 status = "okay";
0091         };
0092 
0093         rtc@69 {
0094                 compatible = "abracon,ab1805";
0095                 reg = <0x69>;
0096                 abracon,tc-diode = "schottky";
0097                 abracon,tc-resistor = <3>;
0098         };
0099 };
0100 
0101 &uart2 { /* J35 header */
0102         pinctrl-names = "default";
0103         pinctrl-0 = <&pinctrl_uart2>;
0104         assigned-clocks = <&clk IMX8MQ_CLK_UART2>;
0105         assigned-clock-parents = <&clk IMX8MQ_CLK_25M>;
0106         status = "okay";
0107 };
0108 
0109 &uart3 { /* Mikrobus */
0110         pinctrl-names = "default";
0111         pinctrl-0 = <&pinctrl_uart3>;
0112         assigned-clocks = <&clk IMX8MQ_CLK_UART3>;
0113         assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>;
0114         uart-has-rtscts;
0115         status = "okay";
0116 };
0117 
0118 &usdhc2 {
0119         assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
0120         assigned-clock-rates = <200000000>;
0121         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0122         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
0123         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
0124         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
0125         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
0126         vmmc-supply = <&reg_usdhc2_vmmc>;
0127         status = "okay";
0128 };
0129 
0130 &usb_dwc3_0 {
0131         dr_mode = "otg";
0132         status = "okay";
0133 
0134         port {
0135                 usb1_drd_sw: endpoint {
0136                         remote-endpoint = <&typec1_dr_sw>;
0137                 };
0138         };
0139 };
0140 
0141 &usb_dwc3_1 {
0142         dr_mode = "host";
0143         status = "okay";
0144 };
0145 
0146 &usb3_phy0 {
0147         status = "okay";
0148 };
0149 
0150 &usb3_phy1 {
0151         status = "okay";
0152 };
0153 
0154 &iomuxc {
0155         pinctrl-names = "default";
0156         pinctrl-0 = <&pinctrl_hog>;
0157 
0158         pinctrl_hog: hoggrp {
0159                 fsl,pins = <
0160                         /* MikroBus Analog */
0161                         MX8MQ_IOMUXC_NAND_DATA05_GPIO3_IO11             0x41
0162                         /* MikroBus Reset */
0163                         MX8MQ_IOMUXC_SAI2_RXD0_GPIO4_IO23               0x41
0164                         /*
0165                          * The following 2 pins need to be commented out and
0166                          * reconfigured to enable RTS/CTS on UART3
0167                          */
0168                         /* MikroBus PWM */
0169                         MX8MQ_IOMUXC_ECSPI1_MISO_GPIO5_IO8              0x41
0170                         /* MikroBus INT */
0171                         MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9               0x41
0172                 >;
0173         };
0174 
0175         pinctrl_i2c2: i2c2grp {
0176                 fsl,pins = <
0177                         MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL          0x4000007f
0178                         MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA          0x4000007f
0179                 >;
0180         };
0181 
0182         pinctrl_i2c3: i2c3grp {
0183                 fsl,pins = <
0184                         MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL          0x4000007f
0185                         MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA          0x4000007f
0186                 >;
0187         };
0188 
0189         pinctrl_typec: typecgrp {
0190                 fsl,pins = <
0191                         MX8MQ_IOMUXC_NAND_RE_B_GPIO3_IO15       0x16
0192                         MX8MQ_IOMUXC_GPIO1_IO06_GPIO1_IO6       0x17059
0193                 >;
0194         };
0195 
0196         pinctrl_uart2: uart2grp {
0197                 fsl,pins = <
0198                         MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX             0x49
0199                         MX8MQ_IOMUXC_UART2_RXD_UART2_DCE_RX             0x49
0200                 >;
0201         };
0202 
0203         pinctrl_uart3: uart3grp {
0204                 fsl,pins = <
0205                         MX8MQ_IOMUXC_UART3_TXD_UART3_DCE_TX             0x49
0206                         MX8MQ_IOMUXC_UART3_RXD_UART3_DCE_RX             0x49
0207                         /*
0208                          * These pins are by default GPIO on the Mikro Bus
0209                          * Header. To use RTS/CTS on UART3 comment them out
0210                          * of the hoggrp and enable them here
0211                          */
0212                         /* MX8MQ_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B     0x49 */
0213                         /* MX8MQ_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B      0x49 */
0214                 >;
0215         };
0216 
0217         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
0218                 fsl,pins = <
0219                         MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12        0x41
0220                 >;
0221         };
0222 
0223         pinctrl_usdhc2_vmmc: usdhc2vmmcgpiogrp {
0224                 fsl,pins = <
0225                         MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13      0x41
0226                 >;
0227         };
0228 
0229         pinctrl_usdhc2: usdhc2grp {
0230                 fsl,pins = <
0231                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x83
0232                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xc3
0233                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xc3
0234                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xc3
0235                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xc3
0236                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xc3
0237                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
0238                 >;
0239         };
0240 
0241         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
0242                 fsl,pins = <
0243                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x8d
0244                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xcd
0245                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xcd
0246                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xcd
0247                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xcd
0248                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xcd
0249                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
0250                 >;
0251         };
0252 
0253         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
0254                 fsl,pins = <
0255                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x9f
0256                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xdf
0257                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xdf
0258                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xdf
0259                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xdf
0260                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xdf
0261                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
0262                 >;
0263         };
0264 };