Message ID | 1598253627-25797-1-git-send-email-ping.bai@nxp.com |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | [v2,1/3] dt-bindings: arm: fsl: Add imx8mm ddr4 evk board | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/dt-meta-schema | success |
On Mon, Aug 24, 2020 at 03:20:26PM +0800, Jacky Bai wrote: > There are two type of i.MX8MM EVK board, one is populated with > LPDDR4(default dts), and one is populated with DDR4. these two > boards share most of the board design, but still have some difference. > imx8mm-evk has emmc support, imx8mm-ddr4-evk has gpmi nand support. > And also, the BT/WIFI module is different. So move the common dts > part into imx8mm-evk.dtsi for reuse. > > Signed-off-by: Jacky Bai <ping.bai@nxp.com> It doesn't apply to my branch. Can you please rebase it to my for-next or imx/dt64 branch? Shawn > --- > Change for v2: no changes. > --- > arch/arm64/boot/dts/freescale/imx8mm-evk.dts | 528 ++---------------- > arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 470 ++++++++++++++++ > 2 files changed, 506 insertions(+), 492 deletions(-) > create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi > > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts > index 0f1d7f8aeac4..09abdef8c166 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts > @@ -1,97 +1,16 @@ > // SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > - * Copyright 2019 NXP > + * Copyright 2019-2020 NXP > */ > > /dts-v1/; > > #include <dt-bindings/usb/pd.h> > -#include "imx8mm.dtsi" > +#include "imx8mm-evk.dtsi" > > / { > model = "FSL i.MX8MM EVK board"; > compatible = "fsl,imx8mm-evk", "fsl,imx8mm"; > - > - chosen { > - stdout-path = &uart2; > - }; > - > - memory@40000000 { > - device_type = "memory"; > - reg = <0x0 0x40000000 0 0x80000000>; > - }; > - > - leds { > - compatible = "gpio-leds"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_gpio_led>; > - > - status { > - label = "status"; > - gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; > - default-state = "on"; > - }; > - }; > - > - reg_usdhc2_vmmc: regulator-usdhc2 { > - compatible = "regulator-fixed"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; > - regulator-name = "VSD_3V3"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; > - enable-active-high; > - }; > - > - wm8524: audio-codec { > - #sound-dai-cells = <0>; > - compatible = "wlf,wm8524"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_gpio_wlf>; > - wlf,mute-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>; > - }; > - > - sound-wm8524 { > - compatible = "simple-audio-card"; > - simple-audio-card,name = "wm8524-audio"; > - simple-audio-card,format = "i2s"; > - simple-audio-card,frame-master = <&cpudai>; > - simple-audio-card,bitclock-master = <&cpudai>; > - simple-audio-card,widgets = > - "Line", "Left Line Out Jack", > - "Line", "Right Line Out Jack"; > - simple-audio-card,routing = > - "Left Line Out Jack", "LINEVOUTL", > - "Right Line Out Jack", "LINEVOUTR"; > - > - cpudai: simple-audio-card,cpu { > - sound-dai = <&sai3>; > - dai-tdm-slot-num = <2>; > - dai-tdm-slot-width = <32>; > - }; > - > - simple-audio-card,codec { > - sound-dai = <&wm8524>; > - clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; > - }; > - }; > -}; > - > -&A53_0 { > - cpu-supply = <&buck2_reg>; > -}; > - > -&A53_1 { > - cpu-supply = <&buck2_reg>; > -}; > - > -&A53_2 { > - cpu-supply = <&buck2_reg>; > -}; > - > -&A53_3 { > - cpu-supply = <&buck2_reg>; > }; > > &ddrc { > @@ -114,238 +33,6 @@ opp-750M { > }; > }; > > -&fec1 { > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_fec1>; > - phy-mode = "rgmii-id"; > - phy-handle = <ðphy0>; > - phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; > - phy-reset-duration = <10>; > - fsl,magic-packet; > - status = "okay"; > - > - mdio { > - #address-cells = <1>; > - #size-cells = <0>; > - > - ethphy0: ethernet-phy@0 { > - compatible = "ethernet-phy-ieee802.3-c22"; > - reg = <0>; > - }; > - }; > -}; > - > -&i2c1 { > - clock-frequency = <400000>; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_i2c1>; > - status = "okay"; > - > - pmic@4b { > - compatible = "rohm,bd71847"; > - reg = <0x4b>; > - pinctrl-0 = <&pinctrl_pmic>; > - interrupt-parent = <&gpio1>; > - interrupts = <3 GPIO_ACTIVE_LOW>; > - rohm,reset-snvs-powered; > - > - regulators { > - buck1_reg: BUCK1 { > - regulator-name = "BUCK1"; > - regulator-min-microvolt = <700000>; > - regulator-max-microvolt = <1300000>; > - regulator-boot-on; > - regulator-always-on; > - regulator-ramp-delay = <1250>; > - }; > - > - buck2_reg: BUCK2 { > - regulator-name = "BUCK2"; > - regulator-min-microvolt = <700000>; > - regulator-max-microvolt = <1300000>; > - regulator-boot-on; > - regulator-always-on; > - regulator-ramp-delay = <1250>; > - rohm,dvs-run-voltage = <1000000>; > - rohm,dvs-idle-voltage = <900000>; > - }; > - > - buck3_reg: BUCK3 { > - // BUCK5 in datasheet > - regulator-name = "BUCK3"; > - regulator-min-microvolt = <700000>; > - regulator-max-microvolt = <1350000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - buck4_reg: BUCK4 { > - // BUCK6 in datasheet > - regulator-name = "BUCK4"; > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <3300000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - buck5_reg: BUCK5 { > - // BUCK7 in datasheet > - regulator-name = "BUCK5"; > - regulator-min-microvolt = <1605000>; > - regulator-max-microvolt = <1995000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - buck6_reg: BUCK6 { > - // BUCK8 in datasheet > - regulator-name = "BUCK6"; > - regulator-min-microvolt = <800000>; > - regulator-max-microvolt = <1400000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - ldo1_reg: LDO1 { > - regulator-name = "LDO1"; > - regulator-min-microvolt = <1600000>; > - regulator-max-microvolt = <3300000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - ldo2_reg: LDO2 { > - regulator-name = "LDO2"; > - regulator-min-microvolt = <800000>; > - regulator-max-microvolt = <900000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - ldo3_reg: LDO3 { > - regulator-name = "LDO3"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <3300000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - ldo4_reg: LDO4 { > - regulator-name = "LDO4"; > - regulator-min-microvolt = <900000>; > - regulator-max-microvolt = <1800000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - ldo6_reg: LDO6 { > - regulator-name = "LDO6"; > - regulator-min-microvolt = <900000>; > - regulator-max-microvolt = <1800000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - }; > - }; > -}; > - > -&i2c2 { > - clock-frequency = <400000>; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_i2c2>; > - status = "okay"; > - > - ptn5110: tcpc@50 { > - compatible = "nxp,ptn5110"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_typec1>; > - reg = <0x50>; > - interrupt-parent = <&gpio2>; > - interrupts = <11 8>; > - status = "okay"; > - > - port { > - typec1_dr_sw: endpoint { > - remote-endpoint = <&usb1_drd_sw>; > - }; > - }; > - > - typec1_con: connector { > - compatible = "usb-c-connector"; > - label = "USB-C"; > - power-role = "dual"; > - data-role = "dual"; > - try-power-role = "sink"; > - source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; > - sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM) > - PDO_VAR(5000, 20000, 3000)>; > - op-sink-microwatt = <15000000>; > - self-powered; > - }; > - }; > -}; > - > -&i2c3 { > - clock-frequency = <400000>; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_i2c3>; > - status = "okay"; > - > - pca6416: gpio@20 { > - compatible = "ti,tca6416"; > - reg = <0x20>; > - gpio-controller; > - #gpio-cells = <2>; > - }; > -}; > - > -&sai3 { > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_sai3>; > - assigned-clocks = <&clk IMX8MM_CLK_SAI3>; > - assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; > - assigned-clock-rates = <24576000>; > - status = "okay"; > -}; > - > -&snvs_pwrkey { > - status = "okay"; > -}; > - > -&uart2 { /* console */ > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_uart2>; > - status = "okay"; > -}; > - > -&usbotg1 { > - dr_mode = "otg"; > - hnp-disable; > - srp-disable; > - adp-disable; > - usb-role-switch; > - status = "okay"; > - > - port { > - usb1_drd_sw: endpoint { > - remote-endpoint = <&typec1_dr_sw>; > - }; > - }; > -}; > - > -&usdhc2 { > - assigned-clocks = <&clk IMX8MM_CLK_USDHC2>; > - assigned-clock-rates = <200000000>; > - pinctrl-names = "default", "state_100mhz", "state_200mhz"; > - pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; > - pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; > - pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; > - cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; > - bus-width = <4>; > - vmmc-supply = <®_usdhc2_vmmc>; > - status = "okay"; > -}; > - > &usdhc3 { > assigned-clocks = <&clk IMX8MM_CLK_USDHC3_ROOT>; > assigned-clock-rates = <400000000>; > @@ -358,196 +45,53 @@ &usdhc3 { > status = "okay"; > }; > > -&wdog1 { > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_wdog>; > - fsl,ext-reset-output; > - status = "okay"; > -}; > - > &iomuxc { > - pinctrl-names = "default"; > - > - pinctrl_fec1: fec1grp { > - fsl,pins = < > - MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 > - MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 > - MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f > - MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f > - MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f > - MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f > - MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 > - MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 > - MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 > - MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 > - MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f > - MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 > - MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 > - MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f > - MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 > - >; > - }; > - > - pinctrl_gpio_led: gpioledgrp { > - fsl,pins = < > - MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19 > - >; > - }; > - > - pinctrl_gpio_wlf: gpiowlfgrp { > - fsl,pins = < > - MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0xd6 > - >; > - }; > - > - pinctrl_i2c1: i2c1grp { > - fsl,pins = < > - MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3 > - MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3 > - >; > - }; > - > - pinctrl_i2c2: i2c2grp { > - fsl,pins = < > - MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3 > - MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3 > - >; > - }; > - > - pinctrl_i2c3: i2c3grp { > - fsl,pins = < > - MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 > - MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 > - >; > - }; > - > - pinctrl_pmic: pmicirq { > - fsl,pins = < > - MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x41 > - >; > - }; > - > - pinctrl_reg_usdhc2_vmmc: regusdhc2vmmc { > - fsl,pins = < > - MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 > - >; > - }; > - > - pinctrl_sai3: sai3grp { > - fsl,pins = < > - MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 > - MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 > - MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 > - MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 > - >; > - }; > - > - pinctrl_typec1: typec1grp { > - fsl,pins = < > - MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x159 > - >; > - }; > - > - pinctrl_uart2: uart2grp { > - fsl,pins = < > - MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 > - MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 > - >; > - }; > - > - pinctrl_usdhc2_gpio: usdhc2grpgpio { > - fsl,pins = < > - MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x1c4 > - >; > - }; > - > - pinctrl_usdhc2: usdhc2grp { > - fsl,pins = < > - MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 > - MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 > - MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 > - MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 > - MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 > - MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 > - MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > - >; > - }; > - > - pinctrl_usdhc2_100mhz: usdhc2grp100mhz { > - fsl,pins = < > - MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 > - MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 > - MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 > - MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 > - MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 > - MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 > - MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > - >; > - }; > - > - pinctrl_usdhc2_200mhz: usdhc2grp200mhz { > - fsl,pins = < > - MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 > - MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 > - MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 > - MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 > - MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 > - MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 > - MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > - >; > - }; > - > pinctrl_usdhc3: usdhc3grp { > fsl,pins = < > - MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190 > - MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0 > - MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0 > - MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0 > - MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0 > - MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0 > - MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0 > - MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0 > - MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0 > - MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0 > - MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190 > + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190 > + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0 > + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0 > + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0 > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0 > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0 > + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0 > + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0 > + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0 > + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0 > + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0 > + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190 > >; > }; > > pinctrl_usdhc3_100mhz: usdhc3grp100mhz { > fsl,pins = < > - MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194 > - MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4 > - MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4 > - MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4 > - MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4 > - MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4 > - MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4 > - MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4 > - MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4 > - MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4 > - MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194 > + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194 > + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4 > + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4 > + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4 > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4 > + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4 > + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4 > + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4 > + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4 > + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4 > + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194 > >; > }; > > pinctrl_usdhc3_200mhz: usdhc3grp200mhz { > fsl,pins = < > - MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196 > - MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6 > - MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6 > - MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6 > - MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6 > - MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6 > - MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6 > - MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6 > - MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6 > - MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6 > - MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196 > - >; > - }; > - > - pinctrl_wdog: wdoggrp { > - fsl,pins = < > - MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 > + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196 > + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6 > + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6 > + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6 > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6 > + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6 > + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6 > + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6 > + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6 > + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6 > + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196 > >; > }; > }; > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi > new file mode 100644 > index 000000000000..ddb3e8715733 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi > @@ -0,0 +1,470 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright 2020 NXP > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/usb/pd.h> > +#include "imx8mm.dtsi" > + > +/ { > + chosen { > + stdout-path = &uart2; > + }; > + > + memory@40000000 { > + device_type = "memory"; > + reg = <0x0 0x40000000 0 0x80000000>; > + }; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_gpio_led>; > + > + status { > + label = "status"; > + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; > + default-state = "on"; > + }; > + }; > + > + reg_usdhc2_vmmc: regulator-usdhc2 { > + compatible = "regulator-fixed"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; > + regulator-name = "VSD_3V3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > + wm8524: audio-codec { > + #sound-dai-cells = <0>; > + compatible = "wlf,wm8524"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_gpio_wlf>; > + wlf,mute-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>; > + }; > + > + sound-wm8524 { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "wm8524-audio"; > + simple-audio-card,format = "i2s"; > + simple-audio-card,frame-master = <&cpudai>; > + simple-audio-card,bitclock-master = <&cpudai>; > + simple-audio-card,widgets = > + "Line", "Left Line Out Jack", > + "Line", "Right Line Out Jack"; > + simple-audio-card,routing = > + "Left Line Out Jack", "LINEVOUTL", > + "Right Line Out Jack", "LINEVOUTR"; > + > + cpudai: simple-audio-card,cpu { > + sound-dai = <&sai3>; > + dai-tdm-slot-num = <2>; > + dai-tdm-slot-width = <32>; > + }; > + > + simple-audio-card,codec { > + sound-dai = <&wm8524>; > + clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; > + }; > + }; > +}; > + > +&A53_0 { > + cpu-supply = <&buck2_reg>; > +}; > + > +&A53_1 { > + cpu-supply = <&buck2_reg>; > +}; > + > +&A53_2 { > + cpu-supply = <&buck2_reg>; > +}; > + > +&A53_3 { > + cpu-supply = <&buck2_reg>; > +}; > + > +&fec1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_fec1>; > + phy-mode = "rgmii-id"; > + phy-handle = <ðphy0>; > + phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; > + phy-reset-duration = <10>; > + fsl,magic-packet; > + status = "okay"; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethphy0: ethernet-phy@0 { > + compatible = "ethernet-phy-ieee802.3-c22"; > + reg = <0>; > + }; > + }; > +}; > + > +&i2c1 { > + clock-frequency = <400000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_i2c1>; > + status = "okay"; > + > + pmic@4b { > + compatible = "rohm,bd71847"; > + reg = <0x4b>; > + pinctrl-0 = <&pinctrl_pmic>; > + interrupt-parent = <&gpio1>; > + interrupts = <3 GPIO_ACTIVE_LOW>; > + rohm,reset-snvs-powered; > + > + regulators { > + buck1_reg: BUCK1 { > + regulator-name = "BUCK1"; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1300000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-ramp-delay = <1250>; > + }; > + > + buck2_reg: BUCK2 { > + regulator-name = "BUCK2"; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1300000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-ramp-delay = <1250>; > + rohm,dvs-run-voltage = <1000000>; > + rohm,dvs-idle-voltage = <900000>; > + }; > + > + buck3_reg: BUCK3 { > + // BUCK5 in datasheet > + regulator-name = "BUCK3"; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1350000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck4_reg: BUCK4 { > + // BUCK6 in datasheet > + regulator-name = "BUCK4"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck5_reg: BUCK5 { > + // BUCK7 in datasheet > + regulator-name = "BUCK5"; > + regulator-min-microvolt = <1605000>; > + regulator-max-microvolt = <1995000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck6_reg: BUCK6 { > + // BUCK8 in datasheet > + regulator-name = "BUCK6"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <1400000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo1_reg: LDO1 { > + regulator-name = "LDO1"; > + regulator-min-microvolt = <1600000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo2_reg: LDO2 { > + regulator-name = "LDO2"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <900000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo3_reg: LDO3 { > + regulator-name = "LDO3"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo4_reg: LDO4 { > + regulator-name = "LDO4"; > + regulator-min-microvolt = <900000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo6_reg: LDO6 { > + regulator-name = "LDO6"; > + regulator-min-microvolt = <900000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + }; > + }; > +}; > + > +&i2c2 { > + clock-frequency = <400000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_i2c2>; > + status = "okay"; > + > + ptn5110: tcpc@50 { > + compatible = "nxp,ptn5110"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_typec1>; > + reg = <0x50>; > + interrupt-parent = <&gpio2>; > + interrupts = <11 8>; > + status = "okay"; > + > + port { > + typec1_dr_sw: endpoint { > + remote-endpoint = <&usb1_drd_sw>; > + }; > + }; > + > + typec1_con: connector { > + compatible = "usb-c-connector"; > + label = "USB-C"; > + power-role = "dual"; > + data-role = "dual"; > + try-power-role = "sink"; > + source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; > + sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM) > + PDO_VAR(5000, 20000, 3000)>; > + op-sink-microwatt = <15000000>; > + self-powered; > + }; > + }; > +}; > + > +&i2c3 { > + clock-frequency = <400000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_i2c3>; > + status = "okay"; > + > + pca6416: gpio@20 { > + compatible = "ti,tca6416"; > + reg = <0x20>; > + gpio-controller; > + #gpio-cells = <2>; > + }; > +}; > + > +&sai3 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai3>; > + assigned-clocks = <&clk IMX8MM_CLK_SAI3>; > + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; > + assigned-clock-rates = <24576000>; > + status = "okay"; > +}; > + > +&snvs_pwrkey { > + status = "okay"; > +}; > + > +&uart2 { /* console */ > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_uart2>; > + status = "okay"; > +}; > + > +&usbotg1 { > + dr_mode = "otg"; > + hnp-disable; > + srp-disable; > + adp-disable; > + usb-role-switch; > + status = "okay"; > + > + port { > + usb1_drd_sw: endpoint { > + remote-endpoint = <&typec1_dr_sw>; > + }; > + }; > +}; > + > +&usdhc2 { > + assigned-clocks = <&clk IMX8MM_CLK_USDHC2>; > + assigned-clock-rates = <200000000>; > + pinctrl-names = "default", "state_100mhz", "state_200mhz"; > + pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; > + pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; > + pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; > + cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; > + bus-width = <4>; > + vmmc-supply = <®_usdhc2_vmmc>; > + status = "okay"; > +}; > + > +&wdog1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_wdog>; > + fsl,ext-reset-output; > + status = "okay"; > +}; > + > +&iomuxc { > + pinctrl-names = "default"; > + > + pinctrl_fec1: fec1grp { > + fsl,pins = < > + MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 > + MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 > + MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f > + MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f > + MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f > + MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f > + MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 > + MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 > + MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 > + MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 > + MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f > + MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 > + MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 > + MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f > + MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 > + >; > + }; > + > + pinctrl_gpio_led: gpioledgrp { > + fsl,pins = < > + MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19 > + >; > + }; > + > + pinctrl_gpio_wlf: gpiowlfgrp { > + fsl,pins = < > + MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0xd6 > + >; > + }; > + > + pinctrl_i2c1: i2c1grp { > + fsl,pins = < > + MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3 > + MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3 > + >; > + }; > + > + pinctrl_i2c2: i2c2grp { > + fsl,pins = < > + MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3 > + MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3 > + >; > + }; > + > + pinctrl_i2c3: i2c3grp { > + fsl,pins = < > + MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 > + MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 > + >; > + }; > + > + pinctrl_pmic: pmicirq { > + fsl,pins = < > + MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x41 > + >; > + }; > + > + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmc { > + fsl,pins = < > + MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 > + >; > + }; > + > + pinctrl_sai3: sai3grp { > + fsl,pins = < > + MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 > + MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 > + MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 > + MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 > + >; > + }; > + > + pinctrl_typec1: typec1grp { > + fsl,pins = < > + MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x159 > + >; > + }; > + > + pinctrl_uart2: uart2grp { > + fsl,pins = < > + MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 > + MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 > + >; > + }; > + > + pinctrl_usdhc2_gpio: usdhc2grpgpio { > + fsl,pins = < > + MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x1c4 > + >; > + }; > + > + pinctrl_usdhc2: usdhc2grp { > + fsl,pins = < > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 > + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > + >; > + }; > + > + pinctrl_usdhc2_100mhz: usdhc2grp100mhz { > + fsl,pins = < > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 > + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > + >; > + }; > + > + pinctrl_usdhc2_200mhz: usdhc2grp200mhz { > + fsl,pins = < > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 > + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > + >; > + }; > + > + pinctrl_wdog: wdoggrp { > + fsl,pins = < > + MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 > + >; > + }; > +}; > -- > 2.26.2 >
> -----Original Message----- > From: Shawn Guo [mailto:shawnguo@kernel.org] > Sent: Sunday, August 30, 2020 9:45 PM > To: Jacky Bai <ping.bai@nxp.com> > Cc: robh+dt@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com; > kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; > devicetree@vger.kernel.org > Subject: Re: [PATCH v2 2/3] arm64: dts: imx8mm: Split the imx8mm evk board > dts to a common dtsi > > On Mon, Aug 24, 2020 at 03:20:26PM +0800, Jacky Bai wrote: > > There are two type of i.MX8MM EVK board, one is populated with > > LPDDR4(default dts), and one is populated with DDR4. these two boards > > share most of the board design, but still have some difference. > > imx8mm-evk has emmc support, imx8mm-ddr4-evk has gpmi nand support. > > And also, the BT/WIFI module is different. So move the common dts part > > into imx8mm-evk.dtsi for reuse. > > > > Signed-off-by: Jacky Bai <ping.bai@nxp.com> > > It doesn't apply to my branch. Can you please rebase it to my for-next or > imx/dt64 branch? > ok, thanks BR Jacky Bai > Shawn > > > --- > > Change for v2: no changes. > > --- > > arch/arm64/boot/dts/freescale/imx8mm-evk.dts | 528 > > ++---------------- arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | > > 470 ++++++++++++++++ > > 2 files changed, 506 insertions(+), 492 deletions(-) create mode > > 100644 arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts > > b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts > > index 0f1d7f8aeac4..09abdef8c166 100644 > > --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts > > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts > > @@ -1,97 +1,16 @@ > > // SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > /* > > - * Copyright 2019 NXP > > + * Copyright 2019-2020 NXP > > */ > > > > /dts-v1/; > > > > #include <dt-bindings/usb/pd.h> > > -#include "imx8mm.dtsi" > > +#include "imx8mm-evk.dtsi" > > > > / { > > model = "FSL i.MX8MM EVK board"; > > compatible = "fsl,imx8mm-evk", "fsl,imx8mm"; > > - > > - chosen { > > - stdout-path = &uart2; > > - }; > > - > > - memory@40000000 { > > - device_type = "memory"; > > - reg = <0x0 0x40000000 0 0x80000000>; > > - }; > > - > > - leds { > > - compatible = "gpio-leds"; > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_gpio_led>; > > - > > - status { > > - label = "status"; > > - gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; > > - default-state = "on"; > > - }; > > - }; > > - > > - reg_usdhc2_vmmc: regulator-usdhc2 { > > - compatible = "regulator-fixed"; > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; > > - regulator-name = "VSD_3V3"; > > - regulator-min-microvolt = <3300000>; > > - regulator-max-microvolt = <3300000>; > > - gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; > > - enable-active-high; > > - }; > > - > > - wm8524: audio-codec { > > - #sound-dai-cells = <0>; > > - compatible = "wlf,wm8524"; > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_gpio_wlf>; > > - wlf,mute-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>; > > - }; > > - > > - sound-wm8524 { > > - compatible = "simple-audio-card"; > > - simple-audio-card,name = "wm8524-audio"; > > - simple-audio-card,format = "i2s"; > > - simple-audio-card,frame-master = <&cpudai>; > > - simple-audio-card,bitclock-master = <&cpudai>; > > - simple-audio-card,widgets = > > - "Line", "Left Line Out Jack", > > - "Line", "Right Line Out Jack"; > > - simple-audio-card,routing = > > - "Left Line Out Jack", "LINEVOUTL", > > - "Right Line Out Jack", "LINEVOUTR"; > > - > > - cpudai: simple-audio-card,cpu { > > - sound-dai = <&sai3>; > > - dai-tdm-slot-num = <2>; > > - dai-tdm-slot-width = <32>; > > - }; > > - > > - simple-audio-card,codec { > > - sound-dai = <&wm8524>; > > - clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; > > - }; > > - }; > > -}; > > - > > -&A53_0 { > > - cpu-supply = <&buck2_reg>; > > -}; > > - > > -&A53_1 { > > - cpu-supply = <&buck2_reg>; > > -}; > > - > > -&A53_2 { > > - cpu-supply = <&buck2_reg>; > > -}; > > - > > -&A53_3 { > > - cpu-supply = <&buck2_reg>; > > }; > > > > &ddrc { > > @@ -114,238 +33,6 @@ opp-750M { > > }; > > }; > > > > -&fec1 { > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_fec1>; > > - phy-mode = "rgmii-id"; > > - phy-handle = <ðphy0>; > > - phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; > > - phy-reset-duration = <10>; > > - fsl,magic-packet; > > - status = "okay"; > > - > > - mdio { > > - #address-cells = <1>; > > - #size-cells = <0>; > > - > > - ethphy0: ethernet-phy@0 { > > - compatible = "ethernet-phy-ieee802.3-c22"; > > - reg = <0>; > > - }; > > - }; > > -}; > > - > > -&i2c1 { > > - clock-frequency = <400000>; > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_i2c1>; > > - status = "okay"; > > - > > - pmic@4b { > > - compatible = "rohm,bd71847"; > > - reg = <0x4b>; > > - pinctrl-0 = <&pinctrl_pmic>; > > - interrupt-parent = <&gpio1>; > > - interrupts = <3 GPIO_ACTIVE_LOW>; > > - rohm,reset-snvs-powered; > > - > > - regulators { > > - buck1_reg: BUCK1 { > > - regulator-name = "BUCK1"; > > - regulator-min-microvolt = <700000>; > > - regulator-max-microvolt = <1300000>; > > - regulator-boot-on; > > - regulator-always-on; > > - regulator-ramp-delay = <1250>; > > - }; > > - > > - buck2_reg: BUCK2 { > > - regulator-name = "BUCK2"; > > - regulator-min-microvolt = <700000>; > > - regulator-max-microvolt = <1300000>; > > - regulator-boot-on; > > - regulator-always-on; > > - regulator-ramp-delay = <1250>; > > - rohm,dvs-run-voltage = <1000000>; > > - rohm,dvs-idle-voltage = <900000>; > > - }; > > - > > - buck3_reg: BUCK3 { > > - // BUCK5 in datasheet > > - regulator-name = "BUCK3"; > > - regulator-min-microvolt = <700000>; > > - regulator-max-microvolt = <1350000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - buck4_reg: BUCK4 { > > - // BUCK6 in datasheet > > - regulator-name = "BUCK4"; > > - regulator-min-microvolt = <3000000>; > > - regulator-max-microvolt = <3300000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - buck5_reg: BUCK5 { > > - // BUCK7 in datasheet > > - regulator-name = "BUCK5"; > > - regulator-min-microvolt = <1605000>; > > - regulator-max-microvolt = <1995000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - buck6_reg: BUCK6 { > > - // BUCK8 in datasheet > > - regulator-name = "BUCK6"; > > - regulator-min-microvolt = <800000>; > > - regulator-max-microvolt = <1400000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - ldo1_reg: LDO1 { > > - regulator-name = "LDO1"; > > - regulator-min-microvolt = <1600000>; > > - regulator-max-microvolt = <3300000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - ldo2_reg: LDO2 { > > - regulator-name = "LDO2"; > > - regulator-min-microvolt = <800000>; > > - regulator-max-microvolt = <900000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - ldo3_reg: LDO3 { > > - regulator-name = "LDO3"; > > - regulator-min-microvolt = <1800000>; > > - regulator-max-microvolt = <3300000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - ldo4_reg: LDO4 { > > - regulator-name = "LDO4"; > > - regulator-min-microvolt = <900000>; > > - regulator-max-microvolt = <1800000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - > > - ldo6_reg: LDO6 { > > - regulator-name = "LDO6"; > > - regulator-min-microvolt = <900000>; > > - regulator-max-microvolt = <1800000>; > > - regulator-boot-on; > > - regulator-always-on; > > - }; > > - }; > > - }; > > -}; > > - > > -&i2c2 { > > - clock-frequency = <400000>; > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_i2c2>; > > - status = "okay"; > > - > > - ptn5110: tcpc@50 { > > - compatible = "nxp,ptn5110"; > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_typec1>; > > - reg = <0x50>; > > - interrupt-parent = <&gpio2>; > > - interrupts = <11 8>; > > - status = "okay"; > > - > > - port { > > - typec1_dr_sw: endpoint { > > - remote-endpoint = <&usb1_drd_sw>; > > - }; > > - }; > > - > > - typec1_con: connector { > > - compatible = "usb-c-connector"; > > - label = "USB-C"; > > - power-role = "dual"; > > - data-role = "dual"; > > - try-power-role = "sink"; > > - source-pdos = <PDO_FIXED(5000, 3000, > PDO_FIXED_USB_COMM)>; > > - sink-pdos = <PDO_FIXED(5000, 3000, > PDO_FIXED_USB_COMM) > > - PDO_VAR(5000, 20000, 3000)>; > > - op-sink-microwatt = <15000000>; > > - self-powered; > > - }; > > - }; > > -}; > > - > > -&i2c3 { > > - clock-frequency = <400000>; > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_i2c3>; > > - status = "okay"; > > - > > - pca6416: gpio@20 { > > - compatible = "ti,tca6416"; > > - reg = <0x20>; > > - gpio-controller; > > - #gpio-cells = <2>; > > - }; > > -}; > > - > > -&sai3 { > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_sai3>; > > - assigned-clocks = <&clk IMX8MM_CLK_SAI3>; > > - assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; > > - assigned-clock-rates = <24576000>; > > - status = "okay"; > > -}; > > - > > -&snvs_pwrkey { > > - status = "okay"; > > -}; > > - > > -&uart2 { /* console */ > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_uart2>; > > - status = "okay"; > > -}; > > - > > -&usbotg1 { > > - dr_mode = "otg"; > > - hnp-disable; > > - srp-disable; > > - adp-disable; > > - usb-role-switch; > > - status = "okay"; > > - > > - port { > > - usb1_drd_sw: endpoint { > > - remote-endpoint = <&typec1_dr_sw>; > > - }; > > - }; > > -}; > > - > > -&usdhc2 { > > - assigned-clocks = <&clk IMX8MM_CLK_USDHC2>; > > - assigned-clock-rates = <200000000>; > > - pinctrl-names = "default", "state_100mhz", "state_200mhz"; > > - pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; > > - pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; > > - pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; > > - cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; > > - bus-width = <4>; > > - vmmc-supply = <®_usdhc2_vmmc>; > > - status = "okay"; > > -}; > > - > > &usdhc3 { > > assigned-clocks = <&clk IMX8MM_CLK_USDHC3_ROOT>; > > assigned-clock-rates = <400000000>; > > @@ -358,196 +45,53 @@ &usdhc3 { > > status = "okay"; > > }; > > > > -&wdog1 { > > - pinctrl-names = "default"; > > - pinctrl-0 = <&pinctrl_wdog>; > > - fsl,ext-reset-output; > > - status = "okay"; > > -}; > > - > > &iomuxc { > > - pinctrl-names = "default"; > > - > > - pinctrl_fec1: fec1grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 > > - MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 > > - MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f > > - MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f > > - MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f > > - MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f > > - MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 > > - MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 > > - MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 > > - MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 > > - MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f > > - MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 > > - MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL > 0x91 > > - MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL > 0x1f > > - MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 > > - >; > > - }; > > - > > - pinctrl_gpio_led: gpioledgrp { > > - fsl,pins = < > > - MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19 > > - >; > > - }; > > - > > - pinctrl_gpio_wlf: gpiowlfgrp { > > - fsl,pins = < > > - MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0xd6 > > - >; > > - }; > > - > > - pinctrl_i2c1: i2c1grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL > 0x400001c3 > > - MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA > 0x400001c3 > > - >; > > - }; > > - > > - pinctrl_i2c2: i2c2grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL > 0x400001c3 > > - MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA > 0x400001c3 > > - >; > > - }; > > - > > - pinctrl_i2c3: i2c3grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL > 0x400001c3 > > - MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA > 0x400001c3 > > - >; > > - }; > > - > > - pinctrl_pmic: pmicirq { > > - fsl,pins = < > > - MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x41 > > - >; > > - }; > > - > > - pinctrl_reg_usdhc2_vmmc: regusdhc2vmmc { > > - fsl,pins = < > > - MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 > > - >; > > - }; > > - > > - pinctrl_sai3: sai3grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 > > - MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 > > - MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 > > - MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 > > - >; > > - }; > > - > > - pinctrl_typec1: typec1grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x159 > > - >; > > - }; > > - > > - pinctrl_uart2: uart2grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 > > - MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 > > - >; > > - }; > > - > > - pinctrl_usdhc2_gpio: usdhc2grpgpio { > > - fsl,pins = < > > - MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x1c4 > > - >; > > - }; > > - > > - pinctrl_usdhc2: usdhc2grp { > > - fsl,pins = < > > - MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 > > - MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 > > - MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 > > - MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 > > - MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 > > - MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 > > - MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > > - >; > > - }; > > - > > - pinctrl_usdhc2_100mhz: usdhc2grp100mhz { > > - fsl,pins = < > > - MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 > > - MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 > > - MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 > > - MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 > > - MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 > > - MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 > > - MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > > - >; > > - }; > > - > > - pinctrl_usdhc2_200mhz: usdhc2grp200mhz { > > - fsl,pins = < > > - MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 > > - MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 > > - MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 > > - MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 > > - MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 > > - MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 > > - MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > > - >; > > - }; > > - > > pinctrl_usdhc3: usdhc3grp { > > fsl,pins = < > > - MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190 > > - MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD > 0x1d0 > > - MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 > 0x1d0 > > - MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 > 0x1d0 > > - MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 > 0x1d0 > > - MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 > 0x1d0 > > - MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 > 0x1d0 > > - MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 > 0x1d0 > > - MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 > 0x1d0 > > - MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 > 0x1d0 > > - MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE > 0x190 > > + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK > 0x190 > > + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD > 0x1d0 > > + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 > 0x1d0 > > + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 > 0x1d0 > > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 > 0x1d0 > > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 > 0x1d0 > > + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 > 0x1d0 > > + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 > 0x1d0 > > + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 > 0x1d0 > > + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 > 0x1d0 > > + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 > 0x1d0 > > + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE > 0x190 > > >; > > }; > > > > pinctrl_usdhc3_100mhz: usdhc3grp100mhz { > > fsl,pins = < > > - MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194 > > - MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD > 0x1d4 > > - MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 > 0x1d4 > > - MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 > 0x1d4 > > - MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 > 0x1d4 > > - MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 > 0x1d4 > > - MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 > 0x1d4 > > - MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 > 0x1d4 > > - MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 > 0x1d4 > > - MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 > 0x1d4 > > - MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE > 0x194 > > + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK > 0x194 > > + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD > 0x1d4 > > + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 > 0x1d4 > > + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 > 0x1d4 > > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 > 0x1d4 > > + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 > 0x1d4 > > + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 > 0x1d4 > > + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 > 0x1d4 > > + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 > 0x1d4 > > + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 > 0x1d4 > > + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE > 0x194 > > >; > > }; > > > > pinctrl_usdhc3_200mhz: usdhc3grp200mhz { > > fsl,pins = < > > - MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196 > > - MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD > 0x1d6 > > - MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 > 0x1d6 > > - MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 > 0x1d6 > > - MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 > 0x1d6 > > - MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 > 0x1d6 > > - MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 > 0x1d6 > > - MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 > 0x1d6 > > - MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 > 0x1d6 > > - MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 > 0x1d6 > > - MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE > 0x196 > > - >; > > - }; > > - > > - pinctrl_wdog: wdoggrp { > > - fsl,pins = < > > - MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 > > + MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK > 0x196 > > + MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD > 0x1d6 > > + MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 > 0x1d6 > > + MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 > 0x1d6 > > + MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 > 0x1d6 > > + MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 > 0x1d6 > > + MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 > 0x1d6 > > + MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 > 0x1d6 > > + MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 > 0x1d6 > > + MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 > 0x1d6 > > + MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE > 0x196 > > >; > > }; > > }; > > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi > > b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi > > new file mode 100644 > > index 000000000000..ddb3e8715733 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi > > @@ -0,0 +1,470 @@ > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > +/* > > + * Copyright 2020 NXP > > + */ > > + > > +/dts-v1/; > > + > > +#include <dt-bindings/usb/pd.h> > > +#include "imx8mm.dtsi" > > + > > +/ { > > + chosen { > > + stdout-path = &uart2; > > + }; > > + > > + memory@40000000 { > > + device_type = "memory"; > > + reg = <0x0 0x40000000 0 0x80000000>; > > + }; > > + > > + leds { > > + compatible = "gpio-leds"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_gpio_led>; > > + > > + status { > > + label = "status"; > > + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; > > + default-state = "on"; > > + }; > > + }; > > + > > + reg_usdhc2_vmmc: regulator-usdhc2 { > > + compatible = "regulator-fixed"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; > > + regulator-name = "VSD_3V3"; > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; > > + enable-active-high; > > + }; > > + > > + wm8524: audio-codec { > > + #sound-dai-cells = <0>; > > + compatible = "wlf,wm8524"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_gpio_wlf>; > > + wlf,mute-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>; > > + }; > > + > > + sound-wm8524 { > > + compatible = "simple-audio-card"; > > + simple-audio-card,name = "wm8524-audio"; > > + simple-audio-card,format = "i2s"; > > + simple-audio-card,frame-master = <&cpudai>; > > + simple-audio-card,bitclock-master = <&cpudai>; > > + simple-audio-card,widgets = > > + "Line", "Left Line Out Jack", > > + "Line", "Right Line Out Jack"; > > + simple-audio-card,routing = > > + "Left Line Out Jack", "LINEVOUTL", > > + "Right Line Out Jack", "LINEVOUTR"; > > + > > + cpudai: simple-audio-card,cpu { > > + sound-dai = <&sai3>; > > + dai-tdm-slot-num = <2>; > > + dai-tdm-slot-width = <32>; > > + }; > > + > > + simple-audio-card,codec { > > + sound-dai = <&wm8524>; > > + clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; > > + }; > > + }; > > +}; > > + > > +&A53_0 { > > + cpu-supply = <&buck2_reg>; > > +}; > > + > > +&A53_1 { > > + cpu-supply = <&buck2_reg>; > > +}; > > + > > +&A53_2 { > > + cpu-supply = <&buck2_reg>; > > +}; > > + > > +&A53_3 { > > + cpu-supply = <&buck2_reg>; > > +}; > > + > > +&fec1 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_fec1>; > > + phy-mode = "rgmii-id"; > > + phy-handle = <ðphy0>; > > + phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; > > + phy-reset-duration = <10>; > > + fsl,magic-packet; > > + status = "okay"; > > + > > + mdio { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + ethphy0: ethernet-phy@0 { > > + compatible = "ethernet-phy-ieee802.3-c22"; > > + reg = <0>; > > + }; > > + }; > > +}; > > + > > +&i2c1 { > > + clock-frequency = <400000>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_i2c1>; > > + status = "okay"; > > + > > + pmic@4b { > > + compatible = "rohm,bd71847"; > > + reg = <0x4b>; > > + pinctrl-0 = <&pinctrl_pmic>; > > + interrupt-parent = <&gpio1>; > > + interrupts = <3 GPIO_ACTIVE_LOW>; > > + rohm,reset-snvs-powered; > > + > > + regulators { > > + buck1_reg: BUCK1 { > > + regulator-name = "BUCK1"; > > + regulator-min-microvolt = <700000>; > > + regulator-max-microvolt = <1300000>; > > + regulator-boot-on; > > + regulator-always-on; > > + regulator-ramp-delay = <1250>; > > + }; > > + > > + buck2_reg: BUCK2 { > > + regulator-name = "BUCK2"; > > + regulator-min-microvolt = <700000>; > > + regulator-max-microvolt = <1300000>; > > + regulator-boot-on; > > + regulator-always-on; > > + regulator-ramp-delay = <1250>; > > + rohm,dvs-run-voltage = <1000000>; > > + rohm,dvs-idle-voltage = <900000>; > > + }; > > + > > + buck3_reg: BUCK3 { > > + // BUCK5 in datasheet > > + regulator-name = "BUCK3"; > > + regulator-min-microvolt = <700000>; > > + regulator-max-microvolt = <1350000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + buck4_reg: BUCK4 { > > + // BUCK6 in datasheet > > + regulator-name = "BUCK4"; > > + regulator-min-microvolt = <3000000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + buck5_reg: BUCK5 { > > + // BUCK7 in datasheet > > + regulator-name = "BUCK5"; > > + regulator-min-microvolt = <1605000>; > > + regulator-max-microvolt = <1995000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + buck6_reg: BUCK6 { > > + // BUCK8 in datasheet > > + regulator-name = "BUCK6"; > > + regulator-min-microvolt = <800000>; > > + regulator-max-microvolt = <1400000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + ldo1_reg: LDO1 { > > + regulator-name = "LDO1"; > > + regulator-min-microvolt = <1600000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + ldo2_reg: LDO2 { > > + regulator-name = "LDO2"; > > + regulator-min-microvolt = <800000>; > > + regulator-max-microvolt = <900000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + ldo3_reg: LDO3 { > > + regulator-name = "LDO3"; > > + regulator-min-microvolt = <1800000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + ldo4_reg: LDO4 { > > + regulator-name = "LDO4"; > > + regulator-min-microvolt = <900000>; > > + regulator-max-microvolt = <1800000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + > > + ldo6_reg: LDO6 { > > + regulator-name = "LDO6"; > > + regulator-min-microvolt = <900000>; > > + regulator-max-microvolt = <1800000>; > > + regulator-boot-on; > > + regulator-always-on; > > + }; > > + }; > > + }; > > +}; > > + > > +&i2c2 { > > + clock-frequency = <400000>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_i2c2>; > > + status = "okay"; > > + > > + ptn5110: tcpc@50 { > > + compatible = "nxp,ptn5110"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_typec1>; > > + reg = <0x50>; > > + interrupt-parent = <&gpio2>; > > + interrupts = <11 8>; > > + status = "okay"; > > + > > + port { > > + typec1_dr_sw: endpoint { > > + remote-endpoint = <&usb1_drd_sw>; > > + }; > > + }; > > + > > + typec1_con: connector { > > + compatible = "usb-c-connector"; > > + label = "USB-C"; > > + power-role = "dual"; > > + data-role = "dual"; > > + try-power-role = "sink"; > > + source-pdos = <PDO_FIXED(5000, 3000, > PDO_FIXED_USB_COMM)>; > > + sink-pdos = <PDO_FIXED(5000, 3000, > PDO_FIXED_USB_COMM) > > + PDO_VAR(5000, 20000, 3000)>; > > + op-sink-microwatt = <15000000>; > > + self-powered; > > + }; > > + }; > > +}; > > + > > +&i2c3 { > > + clock-frequency = <400000>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_i2c3>; > > + status = "okay"; > > + > > + pca6416: gpio@20 { > > + compatible = "ti,tca6416"; > > + reg = <0x20>; > > + gpio-controller; > > + #gpio-cells = <2>; > > + }; > > +}; > > + > > +&sai3 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_sai3>; > > + assigned-clocks = <&clk IMX8MM_CLK_SAI3>; > > + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; > > + assigned-clock-rates = <24576000>; > > + status = "okay"; > > +}; > > + > > +&snvs_pwrkey { > > + status = "okay"; > > +}; > > + > > +&uart2 { /* console */ > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_uart2>; > > + status = "okay"; > > +}; > > + > > +&usbotg1 { > > + dr_mode = "otg"; > > + hnp-disable; > > + srp-disable; > > + adp-disable; > > + usb-role-switch; > > + status = "okay"; > > + > > + port { > > + usb1_drd_sw: endpoint { > > + remote-endpoint = <&typec1_dr_sw>; > > + }; > > + }; > > +}; > > + > > +&usdhc2 { > > + assigned-clocks = <&clk IMX8MM_CLK_USDHC2>; > > + assigned-clock-rates = <200000000>; > > + pinctrl-names = "default", "state_100mhz", "state_200mhz"; > > + pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; > > + pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; > > + pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; > > + cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; > > + bus-width = <4>; > > + vmmc-supply = <®_usdhc2_vmmc>; > > + status = "okay"; > > +}; > > + > > +&wdog1 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_wdog>; > > + fsl,ext-reset-output; > > + status = "okay"; > > +}; > > + > > +&iomuxc { > > + pinctrl-names = "default"; > > + > > + pinctrl_fec1: fec1grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 > > + MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 > > + MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f > > + MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f > > + MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f > > + MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f > > + MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 > > + MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 > > + MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 > > + MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 > > + MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f > > + MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 > > + MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL > 0x91 > > + MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL > 0x1f > > + MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 > > + >; > > + }; > > + > > + pinctrl_gpio_led: gpioledgrp { > > + fsl,pins = < > > + MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19 > > + >; > > + }; > > + > > + pinctrl_gpio_wlf: gpiowlfgrp { > > + fsl,pins = < > > + MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0xd6 > > + >; > > + }; > > + > > + pinctrl_i2c1: i2c1grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL > 0x400001c3 > > + MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA > 0x400001c3 > > + >; > > + }; > > + > > + pinctrl_i2c2: i2c2grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL > 0x400001c3 > > + MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA > 0x400001c3 > > + >; > > + }; > > + > > + pinctrl_i2c3: i2c3grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL > 0x400001c3 > > + MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA > 0x400001c3 > > + >; > > + }; > > + > > + pinctrl_pmic: pmicirq { > > + fsl,pins = < > > + MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x41 > > + >; > > + }; > > + > > + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmc { > > + fsl,pins = < > > + MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 > > + >; > > + }; > > + > > + pinctrl_sai3: sai3grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 > > + MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 > > + MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 > > + MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 > > + >; > > + }; > > + > > + pinctrl_typec1: typec1grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x159 > > + >; > > + }; > > + > > + pinctrl_uart2: uart2grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 > > + MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 > > + >; > > + }; > > + > > + pinctrl_usdhc2_gpio: usdhc2grpgpio { > > + fsl,pins = < > > + MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x1c4 > > + >; > > + }; > > + > > + pinctrl_usdhc2: usdhc2grp { > > + fsl,pins = < > > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 > > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 > > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 > > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 > > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 > > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 > > + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > > + >; > > + }; > > + > > + pinctrl_usdhc2_100mhz: usdhc2grp100mhz { > > + fsl,pins = < > > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 > > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 > > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 > > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 > > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 > > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 > > + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > > + >; > > + }; > > + > > + pinctrl_usdhc2_200mhz: usdhc2grp200mhz { > > + fsl,pins = < > > + MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 > > + MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 > > + MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 > > + MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 > > + MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 > > + MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 > > + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 > > + >; > > + }; > > + > > + pinctrl_wdog: wdoggrp { > > + fsl,pins = < > > + MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 > > + >; > > + }; > > +}; > > -- > > 2.26.2 > >
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml index 6da9d734cdb7..a3340d5c77f7 100644 --- a/Documentation/devicetree/bindings/arm/fsl.yaml +++ b/Documentation/devicetree/bindings/arm/fsl.yaml @@ -344,7 +344,8 @@ properties: - description: i.MX8MM based Boards items: - enum: - - fsl,imx8mm-evk # i.MX8MM EVK Board + - fsl,imx8mm-ddr4-evk # i.MX8MM DDR4 EVK Board + - fsl,imx8mm-evk # i.MX8MM LPDDR4 EVK Board - const: fsl,imx8mm - description: i.MX8MN based Boards