[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <013501d8de05$cd3190d0$6794b270$@samsung.com>
Date: Wed, 12 Oct 2022 12:12:28 +0530
From: "Alim Akhtar" <alim.akhtar@...sung.com>
To: "'Padmanabhan Rajanbabu'" <p.rajanbabu@...sung.com>,
<robh+dt@...nel.org>, <krzysztof.kozlowski+dt@...aro.org>,
<chanho61.park@...sung.com>, <linus.walleij@...aro.org>,
<pankaj.dubey@...sung.com>
Cc: <devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-samsung-soc@...r.kernel.org>
Subject: RE: [PATCH V2] arm64: dts: fix drive strength macros as per FSD HW
UM
>-----Original Message-----
>From: Padmanabhan Rajanbabu [mailto:p.rajanbabu@...sung.com]
>Sent: Tuesday, October 11, 2022 1:34 PM
>To: robh+dt@...nel.org; krzysztof.kozlowski+dt@...aro.org;
>alim.akhtar@...sung.com; chanho61.park@...sung.com;
>linus.walleij@...aro.org; pankaj.dubey@...sung.com
>Cc: devicetree@...r.kernel.org; linux-kernel@...r.kernel.org; linux-
>samsung-soc@...r.kernel.org; Padmanabhan Rajanbabu
><p.rajanbabu@...sung.com>
>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@...sung.com>
>---
Reviewed-by: Alim Akhtar <alim.akhtar@...sung.com>
> 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
Powered by blists - more mailing lists