On Thu, Jun 01, 2023 at 12:31:12PM -0700, Tim Harvey wrote: > Update the imx8mp-venice-gw74xx for revB: > - add CAN1 > - add TIS-TPM on SPI2 > - add FAN controller > - fix PMIC I2C bus (revA PMIC I2C was non-functional so no need for > backward compatible option) > - M2 socket GPIO's moved > > Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> > --- > .../dts/freescale/imx8mp-venice-gw74xx.dts | 261 +++++++++++------- > 1 file changed, 159 insertions(+), 102 deletions(-) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts > index eb51d648359b..0e389ec5c2d4 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts > @@ -125,12 +125,22 @@ reg_usb2_vbus: regulator-usb2 { > regulator-max-microvolt = <5000000>; > }; > > + reg_can1_stby: regulator-can1-stby { > + compatible = "regulator-fixed"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_reg_can1>; > + regulator-name = "can1_stby"; > + gpio = <&gpio3 19 GPIO_ACTIVE_LOW>; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > reg_can2_stby: regulator-can2-stby { > compatible = "regulator-fixed"; > pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_reg_can>; > + pinctrl-0 = <&pinctrl_reg_can2>; > regulator-name = "can2_stby"; > - gpio = <&gpio3 19 GPIO_ACTIVE_LOW>; > + gpio = <&gpio5 5 GPIO_ACTIVE_LOW>; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > }; > @@ -164,6 +174,21 @@ &A53_3 { > cpu-supply = <®_arm>; > }; > > +&ecspi1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_spi1>; > + cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; > + status = "okay"; > + > + tpm@0 { > + compatible = "tcg,tpm_tis-spi"; > + #address-cells = <0x1>; > + #size-cells = <0x1>; > + reg = <0x0>; > + spi-max-frequency = <36000000>; > + }; > +}; > + > /* off-board header */ > &ecspi2 { > pinctrl-names = "default"; > @@ -204,6 +229,13 @@ fixed-link { > }; > }; > > +&flexcan1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_flexcan1>; > + xceiver-supply = <®_can1_stby>; > + status = "okay"; > +}; > + > &flexcan2 { > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_flexcan2>; > @@ -214,38 +246,38 @@ &flexcan2 { > &gpio1 { > gpio-line-names = > "", "", "", "", "", "", "", "", > - "", "", "dio0", "", "dio1", "", "", "", > + "", "dio0", "", "dio1", "", "", "", "", > "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", ""; > }; > > &gpio2 { > gpio-line-names = > - "", "", "", "", "", "", "", "", > - "", "", "", "", "", "", "pcie3_wdis#", "", > + "", "", "", "", "", "", "m2_pin20", "", > + "", "", "", "", "", "pcie1_wdis#", "pcie3_wdis#", "", > "", "", "pcie2_wdis#", "", "", "", "", "", > "", "", "", "", "", "", "", ""; > }; > > &gpio3 { > gpio-line-names = > - "m2_gdis#", "", "", "", "", "", "", "m2_rst#", > + "", "", "", "", "", "", "m2_rst", "", > + "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", > - "m2_off#", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", ""; > }; > > &gpio4 { > gpio-line-names = > + "", "", "m2_off#", "", "", "", "", "", > "", "", "", "", "", "", "", "", > - "", "", "", "", "", "", "", "", > - "", "", "", "", "m2_wdis#", "", "", "", > - "", "", "", "", "", "", "", "uart_rs485"; > + "", "", "m2_wdis#", "", "", "", "", "", > + "", "", "", "", "", "", "", "rs485_en"; > }; > > &gpio5 { > gpio-line-names = > - "uart_half", "uart_term", "", "", "", "", "", "", > + "rs485_hd", "rs485_term", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", ""; > @@ -286,6 +318,12 @@ channel@8 { > label = "vdd_bat"; > }; > > + channel@16 { > + gw,mode = <4>; > + reg = <0x16>; > + label = "fan_tach"; > + }; > + > channel@82 { > gw,mode = <2>; > reg = <0x82>; > @@ -358,6 +396,11 @@ channel@a2 { > gw,voltage-divider-ohms = <10000 10000>; > }; > }; > + > + fan-controller@0 { The unit-address doesn't match 'reg' property below. Shawn > + compatible = "gw,gsc-fan"; > + reg = <0x0a>; > + }; > }; > > gpio: gpio@23 { > @@ -369,85 +412,6 @@ gpio: gpio@23 { > interrupts = <4>; > }; > > - pmic@25 { > - compatible = "nxp,pca9450c"; > - reg = <0x25>; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_pmic>; > - interrupt-parent = <&gpio3>; > - interrupts = <7 IRQ_TYPE_LEVEL_LOW>; > - > - regulators { > - BUCK1 { > - regulator-name = "BUCK1"; > - regulator-min-microvolt = <720000>; > - regulator-max-microvolt = <1000000>; > - regulator-boot-on; > - regulator-always-on; > - regulator-ramp-delay = <3125>; > - }; > - > - reg_arm: BUCK2 { > - regulator-name = "BUCK2"; > - regulator-min-microvolt = <720000>; > - regulator-max-microvolt = <1025000>; > - regulator-boot-on; > - regulator-always-on; > - regulator-ramp-delay = <3125>; > - nxp,dvs-run-voltage = <950000>; > - nxp,dvs-standby-voltage = <850000>; > - }; > - > - BUCK4 { > - regulator-name = "BUCK4"; > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <3600000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - BUCK5 { > - regulator-name = "BUCK5"; > - regulator-min-microvolt = <1650000>; > - regulator-max-microvolt = <1950000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - BUCK6 { > - regulator-name = "BUCK6"; > - regulator-min-microvolt = <1045000>; > - regulator-max-microvolt = <1155000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - LDO1 { > - regulator-name = "LDO1"; > - regulator-min-microvolt = <1650000>; > - regulator-max-microvolt = <1950000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - LDO3 { > - regulator-name = "LDO3"; > - regulator-min-microvolt = <1710000>; > - regulator-max-microvolt = <1890000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - LDO5 { > - regulator-name = "LDO5"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <3300000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - }; > - }; > - > eeprom@50 { > compatible = "atmel,24c02"; > reg = <0x50>; > @@ -559,7 +523,6 @@ fixed-link { > }; > }; > > -/* off-board header */ > &i2c3 { > clock-frequency = <400000>; > pinctrl-names = "default", "gpio"; > @@ -568,6 +531,85 @@ &i2c3 { > scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; > sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; > status = "okay"; > + > + pmic@25 { > + compatible = "nxp,pca9450c"; > + reg = <0x25>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_pmic>; > + interrupt-parent = <&gpio3>; > + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; > + > + regulators { > + BUCK1 { > + regulator-name = "BUCK1"; > + regulator-min-microvolt = <720000>; > + regulator-max-microvolt = <1000000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-ramp-delay = <3125>; > + }; > + > + reg_arm: BUCK2 { > + regulator-name = "BUCK2"; > + regulator-min-microvolt = <720000>; > + regulator-max-microvolt = <1025000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-ramp-delay = <3125>; > + nxp,dvs-run-voltage = <950000>; > + nxp,dvs-standby-voltage = <850000>; > + }; > + > + BUCK4 { > + regulator-name = "BUCK4"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3600000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + BUCK5 { > + regulator-name = "BUCK5"; > + regulator-min-microvolt = <1650000>; > + regulator-max-microvolt = <1950000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + BUCK6 { > + regulator-name = "BUCK6"; > + regulator-min-microvolt = <1045000>; > + regulator-max-microvolt = <1155000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + LDO1 { > + regulator-name = "LDO1"; > + regulator-min-microvolt = <1650000>; > + regulator-max-microvolt = <1950000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + LDO3 { > + regulator-name = "LDO3"; > + regulator-min-microvolt = <1710000>; > + regulator-max-microvolt = <1890000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + LDO5 { > + regulator-name = "LDO5"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + }; > + }; > }; > > /* off-board header */ > @@ -726,12 +768,14 @@ pinctrl_hog: hoggrp { > fsl,pins = < > MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x40000040 /* DIO0 */ > MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x40000040 /* DIO1 */ > - MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000040 /* M2SKT_OFF# */ > - MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x40000150 /* PCIE2_WDIS# */ > + MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x40000040 /* M2SKT_OFF# */ > + MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000150 /* M2SKT_WDIS# */ > + MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x40000040 /* M2SKT_PIN20 */ > + MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x40000040 /* M2SKT_PIN22 */ > + MX8MP_IOMUXC_SD2_CLK__GPIO2_IO13 0x40000150 /* PCIE1_WDIS# */ > MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14 0x40000150 /* PCIE3_WDIS# */ > + MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x40000150 /* PCIE2_WDIS# */ > MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x40000040 /* M2SKT_RST# */ > - MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000150 /* M2SKT_WDIS# */ > - MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00 0x40000150 /* M2SKT_GDIS# */ > MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x40000104 /* UART_TERM */ > MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31 0x40000104 /* UART_RS485 */ > MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00 0x40000104 /* UART_HALF */ > @@ -784,6 +828,13 @@ MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT 0x140 > >; > }; > > + pinctrl_flexcan1: flexcan1grp { > + fsl,pins = < > + MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x154 > + MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x154 > + >; > + }; > + > pinctrl_flexcan2: flexcan2grp { > fsl,pins = < > MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154 > @@ -869,7 +920,7 @@ MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16 0x10 > > pinctrl_pcie0: pciegrp { > fsl,pins = < > - MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17 0x110 > + MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17 0x106 > >; > }; > > @@ -885,12 +936,18 @@ MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x140 > >; > }; > > - pinctrl_reg_can: regcangrp { > + pinctrl_reg_can1: regcan1grp { > fsl,pins = < > MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x154 > >; > }; > > + pinctrl_reg_can2: regcan2grp { > + fsl,pins = < > + MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x154 > + >; > + }; > + > pinctrl_reg_usb2: regusb2grp { > fsl,pins = < > MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x140 > @@ -903,12 +960,12 @@ MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09 0x110 > >; > }; > > - pinctrl_sai2: sai2grp { > + pinctrl_spi1: spi1grp { > fsl,pins = < > - MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC 0xd6 > - MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6 > - MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0xd6 > - MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK 0xd6 > + MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x82 > + MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x82 > + MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x82 > + MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x140 > >; > }; > > -- > 2.25.1 >