Skip to content

pinctrl: exynos/samsung: Add header with values used for configuration

Krzysztof Kozlowski linux-arm-kernel linux-devicetree linux-samsung-soc lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v3 Latest17 patches 9 repliesIn review

Changes in v3 from the cover letter

================
1. Combine separate patchsets into one. Previously I sent separately the fixes and changes for S3C platforms.
2. Fix issues pointed during review.
3. Add review tags.

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/17pinctrl: dt-bindings: samsung: Add header with values used for configurationMAINTAINERS include/dt-bindings/pinctrl/samsung.h+59 -02 replies
2/17pinctrl: dt-bindings: samsung: Update documentation with new macrosDocumentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt+23 -212 replies
3/17ARM: dts: exynos: Use common macros for pinctrl configurationarch/arm/boot/dts/exynos3250-pinctrl.dtsi arch/arm/boot/dts/exynos4210-pinctrl.dtsi arch/arm/boot/dts/exynos4415-pinctrl.dtsi +5 more+96 -1070 replies
4/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos3250arch/arm/boot/dts/exynos3250-pinctrl.dtsi+135 -1350 replies
5/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos4210arch/arm/boot/dts/exynos4210-pinctrl.dtsi arch/arm/boot/dts/exynos4210-smdkv310.dts arch/arm/boot/dts/exynos4210-universal_c210.dts+237 -2370 replies
6/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos4x12arch/arm/boot/dts/exynos4412-odroid-common.dtsi arch/arm/boot/dts/exynos4412-odroidx.dts arch/arm/boot/dts/exynos4412-origen.dts +2 more+272 -2720 replies
7/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos4415arch/arm/boot/dts/exynos4415-pinctrl.dtsi+143 -1430 replies
8/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos5250arch/arm/boot/dts/exynos5250-pinctrl.dtsi arch/arm/boot/dts/exynos5250-smdk5250.dts arch/arm/boot/dts/exynos5250-snow-common.dtsi +3 more+284 -2840 replies
9/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos5260arch/arm/boot/dts/exynos5260-pinctrl.dtsi arch/arm/boot/dts/exynos5260-xyref5260.dts+95 -950 replies
10/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos5410arch/arm/boot/dts/exynos5410-odroidxu.dts arch/arm/boot/dts/exynos5410-pinctrl.dtsi arch/arm/boot/dts/exynos5410-smdk5410.dts+110 -1100 replies
11/17ARM: dts: exynos: Use macros for pinctrl configuration on exynos542x/exynos5800arch/arm/boot/dts/exynos5420-arndale-octa.dts arch/arm/boot/dts/exynos5420-peach-pit.dts arch/arm/boot/dts/exynos5420-pinctrl.dtsi +3 more+324 -3240 replies
12/17ARM: dts: exynos: Fix mismatched value for SD4 pull up/down configuration on exynos4210arch/arm/boot/dts/exynos4210-pinctrl.dtsi+1 -10 replies
13/17ARM: dts: exynos: Fix mismatched values of SD drive strengh configuration on exynos4415arch/arm/boot/dts/exynos4415-pinctrl.dtsi+4 -40 replies
14/17ARM: dts: s3c64xx: Use common macros for pinctrl configurationarch/arm/boot/dts/s3c6410-mini6410.dts arch/arm/boot/dts/s3c64xx-pinctrl.dtsi+91 -930 replies
15/17ARM: dts: s5pv210: Use macros for pinctrl configurationarch/arm/boot/dts/s5pv210-aquila.dts arch/arm/boot/dts/s5pv210-pinctrl.dtsi+241 -2390 replies
16/17ARM: dts: s3c2416: Use macros for pinctrl configurationarch/arm/boot/dts/s3c2416-pinctrl.dtsi+20 -180 replies
17/17ARM: dts: s3c64xx: Use macros for pinctrl configurationarch/arm/boot/dts/s3c64xx-pinctrl.dtsi+88 -880 replies

Reviews trailers per patch

All 17 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchJavier Martinez CanillasBartlomiej ZolnierkiewiczLinus WalleijRob Herring
SeriesA-b
1/17R-b A-b
2/17R-b A-b A-b
3/17R-b
4/17R-b
5/17R-b
6/17R-b
7/17R-b
8/17R-b
9/17R-b
10/17R-b
11/17R-b
12/17R-b R-b
13/17R-b R-b
14/17R-b
15/17R-b
16/17R-b
17/17R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v3 thread

Cover letter [PATCH v3 00/17] pinctrl: exynos/samsung: Add header with values used for configuration

Hi,

Changes since v2
================
1. Combine separate patchsets into one. Previously I sent separately the fixes and changes for S3C platforms.
2. Fix issues pointed during review.
3. Add review tags.

Changes since v1
================
1. Follow Arnd's suggestion about moving the macros to common place.
2. Subjects: replace "GPIO" with "pinctrl".
3. There were some major changes here so I did not add Javier's reviewed-by and tested-by tags.

Merging
=======
Patches #1 and #2 should probably go through pinctrl tree. In that case I would appreciate a stable branch/tag so DTS could base on top of it.

Goal
====
Increase readability:
uart0_data: uart0-data {
samsung,pins = "gpa0-0", "gpa0-1";
- samsung,pin-function = <2>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
+ samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};

Everything generated with sed:
sed -i -e 's/samsung,pin-pud = <0>;$/samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-pud = <1>;$/samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-pud = <3>;$/samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;/' arch/arm/boot/dts/exynos*

sed -i -e 's/samsung,pin-drv = <0>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;/' arch/arm/boot/dts/exynos[34]* arch/arm/boot/dts/exynos5250* sed -i -e 's/samsung,pin-drv = <2>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV2>;/' arch/arm/boot/dts/exynos[34]* arch/arm/boot/dts/exynos5250* sed -i -e 's/samsung,pin-drv = <1>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;/' arch/arm/boot/dts/exynos[34]* arch/arm/boot/dts/exynos5250* sed -i -e 's/samsung,pin-drv = <3>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;/' arch/arm/boot/dts/exynos[34]* arch/arm/boot/dts/exynos5250*

sed -i -e 's/samsung,pin-drv = <0>;$/samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;/' arch/arm/boot/dts/exynos5260* sed -i -e 's/samsung,pin-drv = <1>;$/samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV2>;/' arch/arm/boot/dts/exynos5260* sed -i -e 's/samsung,pin-drv = <2>;$/samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV4>;/' arch/arm/boot/dts/exynos5260* sed -i -e 's/samsung,pin-drv = <3>;$/samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;/' arch/arm/boot/dts/exynos5260*

sed -i -e 's/samsung,pin-drv = <0>;$/samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;/' arch/arm/boot/dts/exynos5[48]* sed -i -e 's/samsung,pin-drv = <1>;$/samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV2>;/' arch/arm/boot/dts/exynos5[48]* sed -i -e 's/samsung,pin-drv = <2>;$/samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;/' arch/arm/boot/dts/exynos5[48]* sed -i -e 's/samsung,pin-drv = <3>;$/samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;/' arch/arm/boot/dts/exynos5[48]*

sed -i -e 's/samsung,pin-function = <0>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <1>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;/' arch/arm/boot/dts/exynos*

sed -i -e 's/samsung,pin-function = <2>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_2>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <\(0x\)\?2>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_2>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <\(0x\)\?3>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_3>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <3>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_3>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <4>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_4>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <5>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_5>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <6>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_6>;/' arch/arm/boot/dts/exynos* sed -i -e 's/samsung,pin-function = <0xf>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_F>;/' arch/arm/boot/dts/exynos*

sed -i -e 's/samsung,pin-drv = <0>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;/' arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-drv = <2>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV2>;/' arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-drv = <1>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;/' arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-drv = <3>;$/samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;/' arch/arm/boot/dts/s5p*

sed -i -e 's/samsung,pin-pud = <0>;$/samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-pud = <1>;$/samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-pud = <2>;$/samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p*

sed -i -e 's/samsung,pin-function = <0>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <2>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_2>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <\(0x\)\?2>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_2>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <\(0x\)\?3>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_3>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <3>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_3>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <4>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_4>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <5>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_5>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <6>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_6>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p* sed -i -e 's/samsung,pin-function = <0xf>;$/samsung,pin-function = <EXYNOS_PIN_FUNC_F>;/' arch/arm/boot/dts/s3c* arch/arm/boot/dts/s5p*

Tested with:
rm -fr dts-old; cp -r out/arch/arm/boot/dts dts-old
rm -fr dts-new; cp -r out/arch/arm/boot/dts dts-new
for i in dts-old/exynos*dtb; do scripts/dtc/dtx_diff $i dts-new/$(basename $i); done for i in dts-old/s3c*dtb; do scripts/dtc/dtx_diff $i dts-new/$(basename $i); done for i in dts-old/s5p*dtb; do scripts/dtc/dtx_diff $i dts-new/$(basename $i); done

Best regards,
Krzysztof

Krzysztof Kozlowski (17):
pinctrl: dt-bindings: samsung: Add header with values used for
configuration
pinctrl: dt-bindings: samsung: Update documentation with new macros
ARM: dts: exynos: Use common macros for pinctrl configuration
ARM: dts: exynos: Use macros for pinctrl configuration on exynos3250
ARM: dts: exynos: Use macros for pinctrl configuration on exynos4210
ARM: dts: exynos: Use macros for pinctrl configuration on exynos4x12
ARM: dts: exynos: Use macros for pinctrl configuration on exynos4415
ARM: dts: exynos: Use macros for pinctrl configuration on exynos5250
ARM: dts: exynos: Use macros for pinctrl configuration on exynos5260
ARM: dts: exynos: Use macros for pinctrl configuration on exynos5410
ARM: dts: exynos: Use macros for pinctrl configuration on

    exynos542x/exynos5800

ARM: dts: exynos: Fix mismatched value for SD4 pull up/down
configuration on exynos4210
ARM: dts: exynos: Fix mismatched values of SD drive strengh
configuration on exynos4415
ARM: dts: s3c64xx: Use common macros for pinctrl configuration
ARM: dts: s5pv210: Use macros for pinctrl configuration
ARM: dts: s3c2416: Use macros for pinctrl configuration
ARM: dts: s3c64xx: Use macros for pinctrl configuration

 .../bindings/pinctrl/samsung-pinctrl.txt           |  44 +-
 MAINTAINERS                                        |   2 +
 arch/arm/boot/dts/exynos3250-pinctrl.dtsi          | 346 +++++++-------
 arch/arm/boot/dts/exynos4210-pinctrl.dtsi          | 458 +++++++++---------
 arch/arm/boot/dts/exynos4210-smdkv310.dts          |  12 +-
 arch/arm/boot/dts/exynos4210-universal_c210.dts    |   8 +-
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi    |  14 +-
 arch/arm/boot/dts/exynos4412-odroidx.dts           |   2 +-
 arch/arm/boot/dts/exynos4412-origen.dts            |  12 +-
 arch/arm/boot/dts/exynos4412-smdk4412.dts          |  12 +-
 arch/arm/boot/dts/exynos4415-pinctrl.dtsi          | 296 ++++++------
 arch/arm/boot/dts/exynos4x12-pinctrl.dtsi          | 525 ++++++++++-----------
 arch/arm/boot/dts/exynos5250-pinctrl.dtsi          | 404 ++++++++--------
 arch/arm/boot/dts/exynos5250-smdk5250.dts          |   6 +-
 arch/arm/boot/dts/exynos5250-snow-common.dtsi      |  76 +--
 arch/arm/boot/dts/exynos5250-snow-rev5.dts         |   6 +-
 arch/arm/boot/dts/exynos5250-snow.dts              |   6 +-
 arch/arm/boot/dts/exynos5250-spring.dts            |  72 +--
 arch/arm/boot/dts/exynos5260-pinctrl.dtsi          | 280 ++++++-----
 arch/arm/boot/dts/exynos5260-xyref5260.dts         |   6 +-
 arch/arm/boot/dts/exynos5410-odroidxu.dts          |  30 +-
 arch/arm/boot/dts/exynos5410-pinctrl.dtsi          | 182 +++----
 arch/arm/boot/dts/exynos5410-smdk5410.dts          |  10 +-
 arch/arm/boot/dts/exynos5420-arndale-octa.dts      |   6 +-
 arch/arm/boot/dts/exynos5420-peach-pit.dts         | 126 ++---
 arch/arm/boot/dts/exynos5420-pinctrl.dtsi          | 356 +++++++-------
 arch/arm/boot/dts/exynos5420-smdk5420.dts          |  18 +-
 arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi |  18 +-
 arch/arm/boot/dts/exynos5800-peach-pi.dts          | 126 ++---
 arch/arm/boot/dts/s3c2416-pinctrl.dtsi             |  38 +-
 arch/arm/boot/dts/s3c6410-mini6410.dts             |   4 +-
 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi             | 356 +++++++-------
 arch/arm/boot/dts/s5pv210-aquila.dts               |   4 +-
 arch/arm/boot/dts/s5pv210-pinctrl.dtsi             | 476 +++++++++----------
 include/dt-bindings/pinctrl/samsung.h              |  57 +++
 35 files changed, 2223 insertions(+), 2171 deletions(-)
 create mode 100644 include/dt-bindings/pinctrl/samsung.h
Signature · 1 line
2.7.4