>-----Original Message----- >From: Padmanabhan Rajanbabu [mailto:p.rajanbabu@xxxxxxxxxxx] >Sent: Tuesday, October 11, 2022 1:34 PM >To: robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx; >alim.akhtar@xxxxxxxxxxx; chanho61.park@xxxxxxxxxxx; >linus.walleij@xxxxxxxxxx; pankaj.dubey@xxxxxxxxxxx >Cc: devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux- >samsung-soc@xxxxxxxxxxxxxxx; Padmanabhan Rajanbabu ><p.rajanbabu@xxxxxxxxxxx> >Subject: [PATCH V2] arm64: dts: fix drive strength macros as per FSD HW UM > >Drive strength macros defined for FSD platform is not reflecting actual name >and values as per HW UM. FSD SoC pinctrl has following four levels of drive- >strength and their corresponding values: >Level-1 <-> 0 >Level-2 <-> 1 >Level-4 <-> 2 >Level-6 <-> 3 > >The commit 684dac402f21 ("arm64: dts: fsd: Add initial pinctrl support") used >drive strength macros defined for Exynos4 SoC family. For some IPs the >macros values of Exynos4 matched and worked well, but Exynos4 SoC family >drive-strength (names and values) is not exactly matching with FSD SoC. > >Fix the drive strength macros to reflect actual names and values given in FSD >HW UM. This also ensures that the existing peripherals in device tree file is >using correct drive strength MACROs to function as expected. > >Fixes: 684dac402f21 ("arm64: dts: fsd: Add initial pinctrl support") >Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@xxxxxxxxxxx> >--- Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> > arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 34 +++++++++++----------- > arch/arm64/boot/dts/tesla/fsd-pinctrl.h | 6 ++-- > 2 files changed, 20 insertions(+), 20 deletions(-) > >diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >index d0abb9aa0e9e..e3852c946352 100644 >--- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >+++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >@@ -55,14 +55,14 @@ > samsung,pins = "gpf5-0"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_NONE>; >- samsung,pin-drv = <FSD_PIN_DRV_LV2>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > ufs_refclk_out: ufs-refclk-out-pins { > samsung,pins = "gpf5-1"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_NONE>; >- samsung,pin-drv = <FSD_PIN_DRV_LV2>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > }; > >@@ -239,105 +239,105 @@ > samsung,pins = "gpb6-1"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV2>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > pwm1_out: pwm1-out-pins { > samsung,pins = "gpb6-5"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV2>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c0_bus: hs-i2c0-bus-pins { > samsung,pins = "gpb0-0", "gpb0-1"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c1_bus: hs-i2c1-bus-pins { > samsung,pins = "gpb0-2", "gpb0-3"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c2_bus: hs-i2c2-bus-pins { > samsung,pins = "gpb0-4", "gpb0-5"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c3_bus: hs-i2c3-bus-pins { > samsung,pins = "gpb0-6", "gpb0-7"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c4_bus: hs-i2c4-bus-pins { > samsung,pins = "gpb1-0", "gpb1-1"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c5_bus: hs-i2c5-bus-pins { > samsung,pins = "gpb1-2", "gpb1-3"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c6_bus: hs-i2c6-bus-pins { > samsung,pins = "gpb1-4", "gpb1-5"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > hs_i2c7_bus: hs-i2c7-bus-pins { > samsung,pins = "gpb1-6", "gpb1-7"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > uart0_data: uart0-data-pins { > samsung,pins = "gpb7-0", "gpb7-1"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_NONE>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > uart1_data: uart1-data-pins { > samsung,pins = "gpb7-4", "gpb7-5"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_NONE>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > spi0_bus: spi0-bus-pins { > samsung,pins = "gpb4-0", "gpb4-2", "gpb4-3"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > spi1_bus: spi1-bus-pins { > samsung,pins = "gpb4-4", "gpb4-6", "gpb4-7"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > > spi2_bus: spi2-bus-pins { > samsung,pins = "gpb5-0", "gpb5-2", "gpb5-3"; > samsung,pin-function = <FSD_PIN_FUNC_2>; > samsung,pin-pud = <FSD_PIN_PULL_UP>; >- samsung,pin-drv = <FSD_PIN_DRV_LV1>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > }; > >diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.h >b/arch/arm64/boot/dts/tesla/fsd-pinctrl.h >index 6ffbda362493..c397d02208a0 100644 >--- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.h >+++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.h >@@ -16,9 +16,9 @@ > #define FSD_PIN_PULL_UP 3 > > #define FSD_PIN_DRV_LV1 0 >-#define FSD_PIN_DRV_LV2 2 >-#define FSD_PIN_DRV_LV3 1 >-#define FSD_PIN_DRV_LV4 3 >+#define FSD_PIN_DRV_LV2 1 >+#define FSD_PIN_DRV_LV4 2 >+#define FSD_PIN_DRV_LV6 3 > > #define FSD_PIN_FUNC_INPUT 0 > #define FSD_PIN_FUNC_OUTPUT 1 >-- >2.17.1