| // 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"; |
| |
| ds1307: rtc@32 { |
| compatible = "dallas,ds1307"; |
| reg = <0x32>; |
| }; |
| }; |
| |
| &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 = <®_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"; |
| }; |