Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: fsd: fix drive strength macros as per FSD HW UM

Drive strength macros defined for FSD platform is not reflecting actual
names 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.

Fixes: 684dac402f21 ("arm64: dts: fsd: Add initial pinctrl support")
Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Link: https://lore.kernel.org/r/20221013104024.50179-2-p.rajanbabu@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

authored by

Padmanabhan Rajanbabu and committed by
Krzysztof Kozlowski
574d6c59 9abf2313

+7 -7
+4 -4
arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
··· 55 55 samsung,pins = "gpf5-0"; 56 56 samsung,pin-function = <FSD_PIN_FUNC_2>; 57 57 samsung,pin-pud = <FSD_PIN_PULL_NONE>; 58 - samsung,pin-drv = <FSD_PIN_DRV_LV2>; 58 + samsung,pin-drv = <FSD_PIN_DRV_LV4>; 59 59 }; 60 60 61 61 ufs_refclk_out: ufs-refclk-out-pins { 62 62 samsung,pins = "gpf5-1"; 63 63 samsung,pin-function = <FSD_PIN_FUNC_2>; 64 64 samsung,pin-pud = <FSD_PIN_PULL_NONE>; 65 - samsung,pin-drv = <FSD_PIN_DRV_LV2>; 65 + samsung,pin-drv = <FSD_PIN_DRV_LV4>; 66 66 }; 67 67 }; 68 68 ··· 239 239 samsung,pins = "gpb6-1"; 240 240 samsung,pin-function = <FSD_PIN_FUNC_2>; 241 241 samsung,pin-pud = <FSD_PIN_PULL_UP>; 242 - samsung,pin-drv = <FSD_PIN_DRV_LV2>; 242 + samsung,pin-drv = <FSD_PIN_DRV_LV4>; 243 243 }; 244 244 245 245 pwm1_out: pwm1-out-pins { 246 246 samsung,pins = "gpb6-5"; 247 247 samsung,pin-function = <FSD_PIN_FUNC_2>; 248 248 samsung,pin-pud = <FSD_PIN_PULL_UP>; 249 - samsung,pin-drv = <FSD_PIN_DRV_LV2>; 249 + samsung,pin-drv = <FSD_PIN_DRV_LV4>; 250 250 }; 251 251 252 252 hs_i2c0_bus: hs-i2c0-bus-pins {
+3 -3
arch/arm64/boot/dts/tesla/fsd-pinctrl.h
··· 16 16 #define FSD_PIN_PULL_UP 3 17 17 18 18 #define FSD_PIN_DRV_LV1 0 19 - #define FSD_PIN_DRV_LV2 2 20 - #define FSD_PIN_DRV_LV3 1 21 - #define FSD_PIN_DRV_LV4 3 19 + #define FSD_PIN_DRV_LV2 1 20 + #define FSD_PIN_DRV_LV4 2 21 + #define FSD_PIN_DRV_LV6 3 22 22 23 23 #define FSD_PIN_FUNC_INPUT 0 24 24 #define FSD_PIN_FUNC_OUTPUT 1