| // SPDX-License-Identifier: GPL-2.0 |
| // |
| // Copyright (C) 2014 Freescale Semiconductor, Inc. |
| |
| /dts-v1/; |
| |
| #include "imx6sx.dtsi" |
| |
| / { |
| model = "Freescale i.MX6 SoloX Sabre Auto Board"; |
| compatible = "fsl,imx6sx-sabreauto", "fsl,imx6sx"; |
| |
| memory@80000000 { |
| device_type = "memory"; |
| reg = <0x80000000 0x80000000>; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_led>; |
| |
| led-user { |
| label = "debug"; |
| gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "heartbeat"; |
| }; |
| }; |
| |
| vcc_sd3: regulator-vcc-sd3 { |
| compatible = "regulator-fixed"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_vcc_sd3>; |
| regulator-name = "VCC_SD3"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3000000>; |
| gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| reg_can_wake: regulator-can-wake { |
| compatible = "regulator-fixed"; |
| regulator-name = "can-wake"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&max7310_b 7 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| reg_can_en: regulator-can-en { |
| compatible = "regulator-fixed"; |
| regulator-name = "can-en"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&max7310_b 5 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| vin-supply = <®_can_wake>; |
| }; |
| |
| reg_can_stby: regulator-can-stby { |
| compatible = "regulator-fixed"; |
| regulator-name = "can-stby"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&max7310_b 4 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| vin-supply = <®_can_en>; |
| }; |
| |
| reg_cs42888: cs42888_supply { |
| compatible = "regulator-fixed"; |
| regulator-name = "cs42888_supply"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| sound-cs42888 { |
| compatible = "fsl,imx6-sabreauto-cs42888", |
| "fsl,imx-audio-cs42888"; |
| model = "imx-cs42888"; |
| audio-cpu = <&esai>; |
| audio-asrc = <&asrc>; |
| audio-codec = <&cs42888>; |
| audio-routing = |
| "Line Out Jack", "AOUT1L", |
| "Line Out Jack", "AOUT1R", |
| "Line Out Jack", "AOUT2L", |
| "Line Out Jack", "AOUT2R", |
| "Line Out Jack", "AOUT3L", |
| "Line Out Jack", "AOUT3R", |
| "Line Out Jack", "AOUT4L", |
| "Line Out Jack", "AOUT4R", |
| "AIN1L", "Line In Jack", |
| "AIN1R", "Line In Jack", |
| "AIN2L", "Line In Jack", |
| "AIN2R", "Line In Jack"; |
| }; |
| |
| sound-spdif { |
| compatible = "fsl,imx-audio-spdif"; |
| model = "imx-spdif"; |
| spdif-controller = <&spdif>; |
| spdif-in; |
| }; |
| }; |
| |
| &anaclk2 { |
| clock-frequency = <24576000>; |
| }; |
| |
| &clks { |
| assigned-clocks = <&clks IMX6SX_PLL4_BYPASS_SRC>, |
| <&clks IMX6SX_PLL4_BYPASS>, |
| <&clks IMX6SX_CLK_PLL4_POST_DIV>; |
| assigned-clock-parents = <&clks IMX6SX_CLK_LVDS2_IN>, |
| <&clks IMX6SX_PLL4_BYPASS_SRC>; |
| assigned-clock-rates = <0>, <0>, <24576000>; |
| }; |
| |
| &esai { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_esai>; |
| assigned-clocks = <&clks IMX6SX_CLK_ESAI_SEL>, |
| <&clks IMX6SX_CLK_ESAI_EXTAL>; |
| assigned-clock-parents = <&clks IMX6SX_CLK_PLL4_AUDIO_DIV>; |
| assigned-clock-rates = <0>, <24576000>; |
| status = "okay"; |
| }; |
| |
| &fec1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_enet1>; |
| phy-mode = "rgmii-id"; |
| phy-handle = <ðphy1>; |
| fsl,magic-packet; |
| status = "okay"; |
| |
| mdio { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| ethphy0: ethernet-phy@0 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0>; |
| }; |
| |
| ethphy1: ethernet-phy@1 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <1>; |
| }; |
| }; |
| }; |
| |
| &fec2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_enet2>; |
| phy-mode = "rgmii-id"; |
| phy-handle = <ðphy0>; |
| fsl,magic-packet; |
| status = "okay"; |
| }; |
| |
| &flexcan1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_flexcan1>; |
| xceiver-supply = <®_can_stby>; |
| status = "okay"; |
| }; |
| |
| &flexcan2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_flexcan2>; |
| xceiver-supply = <®_can_stby>; |
| status = "okay"; |
| }; |
| |
| &uart1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart1>; |
| status = "okay"; |
| }; |
| |
| &usdhc3 { |
| pinctrl-names = "default", "state_100mhz", "state_200mhz"; |
| pinctrl-0 = <&pinctrl_usdhc3>; |
| pinctrl-1 = <&pinctrl_usdhc3_100mhz>; |
| pinctrl-2 = <&pinctrl_usdhc3_200mhz>; |
| bus-width = <8>; |
| cd-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>; |
| wp-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; |
| keep-power-in-suspend; |
| wakeup-source; |
| vmmc-supply = <&vcc_sd3>; |
| status = "okay"; |
| }; |
| |
| &usdhc4 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usdhc4>; |
| bus-width = <8>; |
| cd-gpios = <&gpio7 11 GPIO_ACTIVE_LOW>; |
| no-1-8-v; |
| keep-power-in-suspend; |
| wakeup-source; |
| status = "okay"; |
| }; |
| |
| &iomuxc { |
| pinctrl_egalax_int: egalax-intgrp { |
| fsl,pins = < |
| MX6SX_PAD_SD4_RESET_B__GPIO6_IO_22 0x10b0 |
| >; |
| }; |
| |
| pinctrl_enet1: enet1grp { |
| fsl,pins = < |
| MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0b1 |
| MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0b1 |
| MX6SX_PAD_RGMII1_TXC__ENET1_RGMII_TXC 0xa0b9 |
| MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0b1 |
| MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0b1 |
| MX6SX_PAD_RGMII1_TD2__ENET1_TX_DATA_2 0xa0b1 |
| MX6SX_PAD_RGMII1_TD3__ENET1_TX_DATA_3 0xa0b1 |
| MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0b1 |
| MX6SX_PAD_RGMII1_RXC__ENET1_RX_CLK 0x3081 |
| MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x3081 |
| MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x3081 |
| MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2 0x3081 |
| MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3 0x3081 |
| MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x3081 |
| >; |
| }; |
| |
| pinctrl_enet2: enet2grp { |
| fsl,pins = < |
| MX6SX_PAD_RGMII2_TXC__ENET2_RGMII_TXC 0xa0b9 |
| MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0 0xa0b1 |
| MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1 0xa0b1 |
| MX6SX_PAD_RGMII2_TD2__ENET2_TX_DATA_2 0xa0b1 |
| MX6SX_PAD_RGMII2_TD3__ENET2_TX_DATA_3 0xa0b1 |
| MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN 0xa0b1 |
| MX6SX_PAD_RGMII2_RXC__ENET2_RX_CLK 0x3081 |
| MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0 0x3081 |
| MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1 0x3081 |
| MX6SX_PAD_RGMII2_RD2__ENET2_RX_DATA_2 0x3081 |
| MX6SX_PAD_RGMII2_RD3__ENET2_RX_DATA_3 0x3081 |
| MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN 0x3081 |
| >; |
| }; |
| |
| pinctrl_esai: esaigrp { |
| fsl,pins = < |
| MX6SX_PAD_CSI_DATA00__ESAI_TX_CLK 0x1b030 |
| MX6SX_PAD_CSI_DATA01__ESAI_TX_FS 0x1b030 |
| MX6SX_PAD_CSI_HSYNC__ESAI_TX0 0x1b030 |
| MX6SX_PAD_CSI_DATA04__ESAI_TX1 0x1b030 |
| MX6SX_PAD_CSI_DATA06__ESAI_TX2_RX3 0x1b030 |
| MX6SX_PAD_CSI_DATA07__ESAI_TX3_RX2 0x1b030 |
| MX6SX_PAD_CSI_DATA02__ESAI_RX_CLK 0x1b030 |
| MX6SX_PAD_CSI_DATA03__ESAI_RX_FS 0x1b030 |
| MX6SX_PAD_CSI_VSYNC__ESAI_TX5_RX0 0x1b030 |
| MX6SX_PAD_CSI_DATA05__ESAI_TX4_RX1 0x1b030 |
| >; |
| }; |
| |
| pinctrl_flexcan1: flexcan1grp { |
| fsl,pins = < |
| MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x1b020 |
| MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x1b020 |
| >; |
| }; |
| |
| pinctrl_flexcan2: flexcan2grp { |
| fsl,pins = < |
| MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x1b020 |
| MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x1b020 |
| >; |
| }; |
| |
| pinctrl_i2c2: i2c2grp { |
| fsl,pins = < |
| MX6SX_PAD_GPIO1_IO03__I2C2_SDA 0x4001b8b1 |
| MX6SX_PAD_GPIO1_IO02__I2C2_SCL 0x4001b8b1 |
| >; |
| }; |
| |
| pinctrl_i2c3: i2c3grp { |
| fsl,pins = < |
| MX6SX_PAD_KEY_ROW4__I2C3_SDA 0x4001b8b1 |
| MX6SX_PAD_KEY_COL4__I2C3_SCL 0x4001b8b1 |
| >; |
| }; |
| |
| pinctrl_led: ledgrp { |
| fsl,pins = < |
| MX6SX_PAD_CSI_PIXCLK__GPIO1_IO_24 0x17059 |
| >; |
| }; |
| |
| pinctrl_spdif: spdifgrp { |
| fsl,pins = < |
| MX6SX_PAD_ENET2_COL__SPDIF_IN 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_uart1: uart1grp { |
| fsl,pins = < |
| MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1 |
| MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1 |
| >; |
| }; |
| |
| pinctrl_usdhc3: usdhc3grp { |
| fsl,pins = < |
| MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x17059 |
| MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x10059 |
| MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x17059 |
| MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x17059 |
| MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x17059 |
| MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x17059 |
| MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x17059 |
| MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x17059 |
| MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x17059 |
| MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x17059 |
| MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x17059 /* CD */ |
| MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x17059 /* WP */ |
| >; |
| }; |
| |
| pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { |
| fsl,pins = < |
| MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x170b9 |
| MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x100b9 |
| MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x170b9 |
| MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x170b9 |
| MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x170b9 |
| MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x170b9 |
| MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x170b9 |
| MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x170b9 |
| MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x170b9 |
| MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x170b9 |
| >; |
| }; |
| |
| pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { |
| fsl,pins = < |
| MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x170f9 |
| MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x100f9 |
| MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x170f9 |
| MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x170f9 |
| MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x170f9 |
| MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x170f9 |
| MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x170f9 |
| MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x170f9 |
| MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x170f9 |
| MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x170f9 |
| >; |
| }; |
| |
| pinctrl_usdhc4: usdhc4grp { |
| fsl,pins = < |
| MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x17059 |
| MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x10059 |
| MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x17059 |
| MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x17059 |
| MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x17059 |
| MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x17059 |
| MX6SX_PAD_SD4_DATA7__GPIO6_IO_21 0x17059 /* CD */ |
| MX6SX_PAD_SD4_DATA6__GPIO6_IO_20 0x17059 /* WP */ |
| >; |
| }; |
| |
| pinctrl_vcc_sd3: vccsd3grp { |
| fsl,pins = < |
| MX6SX_PAD_KEY_COL1__GPIO2_IO_11 0x17059 |
| >; |
| }; |
| |
| pinctrl_wdog: wdoggrp { |
| fsl,pins = < |
| MX6SX_PAD_GPIO1_IO13__WDOG1_WDOG_ANY 0x30b0 |
| >; |
| }; |
| }; |
| |
| &i2c2 { |
| clock-frequency = <100000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_i2c2>; |
| status = "okay"; |
| |
| cs42888: cs42888@48 { |
| compatible = "cirrus,cs42888"; |
| reg = <0x48>; |
| clocks = <&anaclk2 0>; |
| clock-names = "mclk"; |
| VA-supply = <®_cs42888>; |
| VD-supply = <®_cs42888>; |
| VLS-supply = <®_cs42888>; |
| VLC-supply = <®_cs42888>; |
| }; |
| |
| touchscreen@4 { |
| compatible = "eeti,egalax_ts"; |
| reg = <0x04>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_egalax_int>; |
| interrupt-parent = <&gpio6>; |
| interrupts = <22 IRQ_TYPE_EDGE_FALLING>; |
| wakeup-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| pfuze100: pmic@8 { |
| compatible = "fsl,pfuze100"; |
| reg = <0x08>; |
| |
| regulators { |
| sw1a_reg: sw1ab { |
| regulator-min-microvolt = <300000>; |
| regulator-max-microvolt = <1875000>; |
| regulator-boot-on; |
| regulator-always-on; |
| regulator-ramp-delay = <6250>; |
| }; |
| |
| sw1c_reg: sw1c { |
| regulator-min-microvolt = <300000>; |
| regulator-max-microvolt = <1875000>; |
| regulator-boot-on; |
| regulator-always-on; |
| regulator-ramp-delay = <6250>; |
| }; |
| |
| sw2_reg: sw2 { |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| sw3a_reg: sw3a { |
| regulator-min-microvolt = <400000>; |
| regulator-max-microvolt = <1975000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| sw3b_reg: sw3b { |
| regulator-min-microvolt = <400000>; |
| regulator-max-microvolt = <1975000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| sw4_reg: sw4 { |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| swbst_reg: swbst { |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5150000>; |
| }; |
| |
| snvs_reg: vsnvs { |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <3000000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| vref_reg: vrefddr { |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| vgen1_reg: vgen1 { |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <1550000>; |
| regulator-always-on; |
| }; |
| |
| vgen2_reg: vgen2 { |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <1550000>; |
| }; |
| |
| vgen3_reg: vgen3 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| vgen4_reg: vgen4 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| vgen5_reg: vgen5 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| vgen6_reg: vgen6 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| }; |
| }; |
| |
| max7322: gpio@68 { |
| compatible = "maxim,max7322"; |
| reg = <0x68>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| }; |
| |
| &i2c3 { |
| clock-frequency = <100000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_i2c3>; |
| status = "okay"; |
| |
| max7310_a: gpio@30 { |
| compatible = "maxim,max7310"; |
| reg = <0x30>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| max7310_b: gpio@32 { |
| compatible = "maxim,max7310"; |
| reg = <0x32>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| }; |
| |
| &spdif { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_spdif>; |
| assigned-clocks = <&clks IMX6SX_CLK_SPDIF_PODF>; |
| assigned-clock-rates = <24576000>; |
| status = "okay"; |
| }; |
| |
| &wdog1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_wdog>; |
| fsl,ext-reset-output; |
| }; |