Message ID | 20230601193112.4083934-1-tharvey@gateworks.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm64: dts: imx8mp-venice-gw74xx: update to revB PCB | expand |
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@gateworks.com> > --- > .../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 >
On Sun, Jun 4, 2023 at 5:22 PM Shawn Guo <shawnguo@kernel.org> wrote: > > 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@gateworks.com> > > --- > > .../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 > Shawn, Thanks - I'll fix this in v2 Best Regards, Tim
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 { + 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 >; };
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@gateworks.com> --- .../dts/freescale/imx8mp-venice-gw74xx.dts | 261 +++++++++++------- 1 file changed, 159 insertions(+), 102 deletions(-)