imx: tpc70: dts: Add TPC70 board (imx6q based) device tree description
authorLukasz Majewski <lukma@denx.de>
Thu, 10 Oct 2019 14:11:27 +0000 (16:11 +0200)
committerStefano Babic <sbabic@denx.de>
Sun, 13 Oct 2019 20:49:11 +0000 (22:49 +0200)
This commit defines the TPC70 imx6q board with device tree description.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
arch/arm/dts/Makefile
arch/arm/dts/imx6q-kp.dts [new file with mode: 0644]

index 5c07824135ab9f0c485e2652414d45e77ac3f589..7d1de944e175659b9e796460affbdf3beb204a25 100644 (file)
@@ -580,6 +580,7 @@ dtb-y += \
        imx6q-icore.dtb \
        imx6q-icore-mipi.dtb \
        imx6q-icore-rqs.dtb \
+       imx6q-kp.dtb \
        imx6q-logicpd.dtb \
        imx6q-nitrogen6x.dtb \
        imx6q-novena.dtb \
diff --git a/arch/arm/dts/imx6q-kp.dts b/arch/arm/dts/imx6q-kp.dts
new file mode 100644 (file)
index 0000000..12d6db6
--- /dev/null
@@ -0,0 +1,219 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2018
+ * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
+ *
+ * SPDX-License-Identifier:     GPL-2.0+ or X11
+ */
+
+/dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include "imx6q.dtsi"
+
+/ {
+       model = "K+P iMX6Q";
+       compatible = "kp,imx6-kp", "fsl,imx6";
+
+       aliases {
+               mmc0 = &usdhc2;
+               mmc1 = &usdhc4;
+               usb1 = &usbh1;
+       };
+
+       chosen {
+               stdout-path = &uart1;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_leds>;
+
+               green {
+                       label = "green";
+                       gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "gpio";
+                       default-state = "off";
+               };
+
+               red {
+                       label = "red";
+                       gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "gpio";
+                       default-state = "off";
+               };
+       };
+
+       memory@10000000 {
+               reg = <0x10000000 0x40000000>;
+       };
+
+       reg_usb_h1_vbus: regulator-usb_h1_vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb_h1_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+};
+
+&fec {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_enet>;
+       phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
+       phy-reset-duration = <10>;
+       phy-mode = "rgmii";
+       fsl,magic-packet;
+       fsl,enet-loopback-clk; /* anatop reference clk via PAD loopback */
+       fsl,enet-freq = <1>; /* ENET_25MHZ  = 0, ENET_50MHZ  = 1 */
+                            /* ENET_100MHZ = 2, ENET_125MHZ = 3 */
+       status = "okay";
+};
+
+&i2c1 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       status = "okay";
+};
+
+&i2c2 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b0b0
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b0b0
+                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
+                       MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25      0x1b0b0
+               >;
+       };
+
+       pinctrl_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D23__GPIO3_IO23          0x4001b0b0
+                       MX6QDL_PAD_EIM_D16__GPIO3_IO16          0x4001b0b0
+               >;
+       };
+
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT8__I2C1_SDA  0x4001b8b1
+                       MX6QDL_PAD_CSI0_DAT9__I2C1_SCL  0x4001b8b1
+               >;
+       };
+
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL   0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA   0x4001b8b1
+                >;
+       };
+
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
+               >;
+       };
+
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D26__UART2_TX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D27__UART2_RX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D28__UART2_CTS_B         0x1b0b1
+                       MX6QDL_PAD_EIM_D29__UART2_RTS_B         0x1b0b1
+               >;
+       };
+
+       pinctrl_usbh1: usbh1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D31__GPIO3_IO31          0x1b0b1
+                       MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID       0x17059
+               >;
+       };
+
+       pinctrl_usdhc2: usdhc2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17019
+                       MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10019
+                       MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17019
+                       MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17019
+                       MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17019
+                       MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x17019
+                       MX6QDL_PAD_NANDF_CS3__GPIO6_IO16        0x20000
+                       MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x20000
+               >;
+       };
+
+       pinctrl_usdhc4: usdhc4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_CMD__SD4_CMD             0x17019
+                       MX6QDL_PAD_SD4_CLK__SD4_CLK             0x10019
+                       MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x17019
+                       MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x17019
+                       MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x17019
+                       MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x17019
+                       MX6QDL_PAD_SD4_DAT4__SD4_DATA4          0x17019
+                       MX6QDL_PAD_SD4_DAT5__SD4_DATA5          0x17019
+                       MX6QDL_PAD_SD4_DAT6__SD4_DATA6          0x17019
+                       MX6QDL_PAD_SD4_DAT7__SD4_DATA7          0x17019
+               >;
+       };
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       uart-has-rtscts;
+};
+
+&usbh1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbh1>;
+       vbus-supply = <&reg_usb_h1_vbus>;
+       status = "okay";
+};
+
+&usdhc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc2>;
+       bus-width = <4>;
+       cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&usdhc4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc4>;
+       bus-width = <8>;
+       non-removable;
+       no-1-8-v;
+       keep-power-in-suspend;
+       status = "okay";
+};