2018-05-01 12:47:29 -03:00
// SPDX-License-Identifier: GPL-2.0
2013-07-16 14:40:29 -03:00
/*
* Copyright 2013 Freescale Semiconductor, Inc.
*
* Author: Fabio Estevam <fabio.estevam@freescale.com>
*/
2015-07-22 20:53:02 +08:00
#include <dt-bindings/gpio/gpio.h>
2013-07-16 14:40:29 -03:00
/ {
2018-08-21 00:07:18 +03:00
chosen {
stdout-path = &uart1;
};
2013-07-16 14:40:29 -03:00
sound {
compatible = "fsl,imx6-wandboard-sgtl5000",
"fsl,imx-audio-sgtl5000";
model = "imx6-wandboard-sgtl5000";
ssi-controller = <&ssi1>;
audio-codec = <&codec>;
audio-routing =
"MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT";
mux-int-port = <1>;
mux-ext-port = <3>;
};
2013-09-02 23:51:41 -03:00
sound-spdif {
compatible = "fsl,imx-audio-spdif";
model = "imx-spdif";
spdif-controller = <&spdif>;
spdif-out;
};
2018-05-29 06:20:18 +00:00
2019-07-22 10:45:45 -03:00
reg_1p5v: regulator-1p5v {
compatible = "regulator-fixed";
regulator-name = "1P5V";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
};
reg_1p8v: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "1P8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
reg_2p8v: regulator-2p8v {
compatible = "regulator-fixed";
regulator-name = "2P8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
2018-05-29 06:20:18 +00:00
reg_2p5v: regulator-2p5v {
compatible = "regulator-fixed";
regulator-name = "2P5V";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-always-on;
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
2018-05-29 06:20:20 +00:00
reg_usb_otg_vbus: regulator-usbotgvbus {
compatible = "regulator-fixed";
regulator-name = "usb_otg_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotgvbus>;
gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
};
2013-07-16 14:40:29 -03:00
};
&audmux {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_audmux>;
2013-07-16 14:40:29 -03:00
status = "okay";
};
2014-04-22 11:26:22 -03:00
&hdmi {
ddc-i2c-bus = <&i2c1>;
status = "okay";
};
&i2c1 {
clock-frequency = <100000>;
2021-01-31 18:54:46 +03:00
pinctrl-names = "default", "gpio";
2014-04-22 11:26:22 -03:00
pinctrl-0 = <&pinctrl_i2c1>;
2021-01-31 18:54:46 +03:00
pinctrl-1 = <&pinctrl_i2c1_gpio>;
scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
2014-04-22 11:26:22 -03:00
status = "okay";
};
2013-07-16 14:40:29 -03:00
&i2c2 {
clock-frequency = <100000>;
2021-01-31 18:54:46 +03:00
pinctrl-names = "default", "gpio";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_i2c2>;
2021-01-31 18:54:46 +03:00
pinctrl-1 = <&pinctrl_i2c2_gpio>;
scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
2013-07-16 14:40:29 -03:00
status = "okay";
2017-10-13 12:54:51 -05:00
codec: sgtl5000@a {
2018-03-14 17:36:26 -03:00
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mclk>;
2013-07-16 14:40:29 -03:00
compatible = "fsl,sgtl5000";
reg = <0x0a>;
2016-04-26 22:28:29 -03:00
clocks = <&clks IMX6QDL_CLK_CKO>;
2013-07-16 14:40:29 -03:00
VDDA-supply = <®_2p5v>;
VDDIO-supply = <®_3p3v>;
2017-05-14 11:50:50 -03:00
lrclk-strength = <3>;
2013-07-16 14:40:29 -03:00
};
2019-07-22 10:45:45 -03:00
camera@3c {
compatible = "ovti,ov5645";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ov5645>;
reg = <0x3c>;
clocks = <&clks IMX6QDL_CLK_CKO2>;
clock-names = "xclk";
clock-frequency = <24000000>;
vdddo-supply = <®_1p8v>;
vdda-supply = <®_2p8v>;
vddd-supply = <®_1p5v>;
enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
port {
ov5645_to_mipi_csi2: endpoint {
remote-endpoint = <&mipi_csi2_in>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
2013-07-16 14:40:29 -03:00
};
&iomuxc {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
imx6qdl-wandboard {
pinctrl_audmux: audmuxgrp {
fsl,pins = <
2014-02-08 10:14:28 +08:00
MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0
MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0
MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
2013-10-23 15:36:09 +08:00
>;
};
pinctrl_enet: enetgrp {
fsl,pins = <
MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
2016-07-08 23:22:54 +02:00
MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030
MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
2013-10-23 15:36:09 +08:00
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
2016-07-08 23:22:54 +02:00
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
2013-10-23 15:36:09 +08:00
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
>;
};
2014-04-22 11:26:22 -03:00
pinctrl_i2c1: i2c1grp {
fsl,pins = <
2016-10-14 15:09:28 +05:30
MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
2014-04-22 11:26:22 -03:00
>;
};
2021-01-31 18:54:46 +03:00
pinctrl_i2c1_gpio: i2c1gpiogrp {
fsl,pins = <
MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x4001b8b0
MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x4001b8b0
>;
};
2013-10-23 15:36:09 +08:00
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
>;
};
2021-01-31 18:54:46 +03:00
pinctrl_i2c2_gpio: i2c2gpiogrp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x4001b8b0
MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x4001b8b0
>;
};
2018-03-14 17:36:26 -03:00
pinctrl_mclk: mclkgrp {
fsl,pins = <
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
>;
};
2019-07-22 10:45:45 -03:00
pinctrl_ov5645: ov5645grp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__CCM_CLKO2 0x000b0
MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0
MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x1b0b0
>;
};
2013-10-23 15:36:09 +08:00
pinctrl_spdif: spdifgrp {
fsl,pins = <
MX6QDL_PAD_ENET_RXD0__SPDIF_OUT 0x1b0b0
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
>;
};
pinctrl_uart3: uart3grp {
fsl,pins = <
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1
MX6QDL_PAD_EIM_EB3__UART3_RTS_B 0x1b0b1
>;
};
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
>;
};
2018-05-29 06:20:20 +00:00
pinctrl_usbotgvbus: usbotgvbusgrp {
fsl,pins = <
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x130b0
>;
};
2013-10-23 15:36:09 +08:00
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
>;
};
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
>;
};
pinctrl_usdhc3: usdhc3grp {
fsl,pins = <
MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
>;
};
2013-07-16 14:40:29 -03:00
};
};
&fec {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_enet>;
2019-04-03 19:12:41 -03:00
phy-mode = "rgmii-id";
2019-09-21 14:07:36 +02:00
phy-handle = <ðphy>;
2017-06-04 14:31:15 -03:00
phy-reset-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;
2013-07-16 14:40:29 -03:00
status = "okay";
2019-09-21 14:07:36 +02:00
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy: ethernet-phy@1 {
reg = <1>;
};
};
2013-07-16 14:40:29 -03:00
};
2019-07-22 10:45:45 -03:00
&mipi_csi {
status = "okay";
port@0 {
reg = <0>;
mipi_csi2_in: endpoint {
remote-endpoint = <&ov5645_to_mipi_csi2>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
2013-09-02 23:51:41 -03:00
&spdif {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_spdif>;
2013-09-02 23:51:41 -03:00
status = "okay";
};
2013-07-16 14:40:29 -03:00
&ssi1 {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_uart1>;
2013-07-16 14:40:29 -03:00
status = "okay";
};
&uart3 {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_uart3>;
2016-05-31 16:31:51 +02:00
uart-has-rtscts;
2013-07-16 14:40:29 -03:00
status = "okay";
};
&usbh1 {
status = "okay";
};
2013-08-21 10:27:02 -03:00
&usbotg {
2018-05-29 06:20:20 +00:00
vbus-supply = <®_usb_otg_vbus>;
2013-08-21 10:27:02 -03:00
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_usbotg>;
2013-08-21 10:27:02 -03:00
disable-over-current;
2018-05-29 06:20:20 +00:00
dr_mode = "otg";
2013-08-21 10:27:02 -03:00
status = "okay";
};
2013-07-16 14:40:29 -03:00
&usdhc1 {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_usdhc1>;
2015-07-22 20:53:02 +08:00
cd-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
2013-07-16 14:40:29 -03:00
status = "okay";
};
&usdhc3 {
pinctrl-names = "default";
2013-10-23 15:36:09 +08:00
pinctrl-0 = <&pinctrl_usdhc3>;
2015-07-22 20:53:02 +08:00
cd-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
2013-07-16 14:40:29 -03:00
status = "okay";
};