[PATCH 4.4.y-cip 0/3] ARM: dts: am335x: Replace numeric pinmux address with macro defines


johnsonch.chen@moxa.com
 

Hello all,

This patchset replaces the register offsets for am335x with macro defines.
The values are extraced from the "AM335x SitaraTM Processors Technical
Reference Manual".

Use AM33XX_PADCONF to take three instead of two parameters for AM33XX_IOPAD, to make
future changes to #pinctrl-cells easier, and adjust pin direction and mux mode intuitively.

For now, only the am335x-moxa-uc-8100-me-t.dts changes are attached.

1. Add macros for numeric pinmux addresses.
2. Add AM33XX_PADCONF macro.
3. Replace register offsets with define for moxa-uc8100-me-t.

It's tested with a Moxa UC-8100-ME-T platform.

Thanks!
Johnson

Christina Quast (2):
ARM: dts: am33xx: Added macros for numeric pinmux addresses
ARM: dts: am335x: moxa-uc-8100-me-t: Replaced register offsets with
defines

Tony Lindgren (1):
ARM: dts: am33xx: Added AM33XX_PADCONF macro

arch/arm/boot/dts/am335x-moxa-uc-8100-me-t.dts | 116 +++++++++++-----------
include/dt-bindings/pinctrl/am33xx.h | 130 ++++++++++++++++++++++++-
include/dt-bindings/pinctrl/omap.h | 1 +
3 files changed, 188 insertions(+), 59 deletions(-)

--
2.11.0


johnsonch.chen@moxa.com
 

Hi all,

Christina Quast (2):
ARM: dts: am33xx: Added macros for numeric pinmux addresses
ARM: dts: am335x: moxa-uc-8100-me-t: Replaced register offsets with
defines

Tony Lindgren (1):
ARM: dts: am33xx: Added AM33XX_PADCONF macro

arch/arm/boot/dts/am335x-moxa-uc-8100-me-t.dts | 116 +++++++++++-----------
include/dt-bindings/pinctrl/am33xx.h | 130 ++++++++++++++++++++++++-
include/dt-bindings/pinctrl/omap.h | 1 +
3 files changed, 188 insertions(+), 59 deletions(-)
These should be the following:

Christina Quast (3):
ARM: dts: am33xx: Added macros for numeric pinmux addresses
ARM: dts: am33xx: Added AM33XX_PADCONF macro
ARM: dts: am335x: moxa-uc-8100-me-t: Replaced register offsets with
defines

.../arm/boot/dts/am335x-moxa-uc-8100-me-t.dts | 116 ++++++++--------
include/dt-bindings/pinctrl/am33xx.h | 131 +++++++++++++++++-
include/dt-bindings/pinctrl/omap.h | 2 +
3 files changed, 190 insertions(+), 59 deletions(-)


Best regards,
Johnson

--
2.11.0


Pavel Machek
 

Hi!

Tony Lindgren (1):
ARM: dts: am33xx: Added AM33XX_PADCONF macro

arch/arm/boot/dts/am335x-moxa-uc-8100-me-t.dts | 116 +++++++++++-----------
include/dt-bindings/pinctrl/am33xx.h | 130 ++++++++++++++++++++++++-
include/dt-bindings/pinctrl/omap.h | 1 +
3 files changed, 188 insertions(+), 59 deletions(-)
These should be the following:

Christina Quast (3):
ARM: dts: am33xx: Added macros for numeric pinmux addresses
ARM: dts: am33xx: Added AM33XX_PADCONF macro
ARM: dts: am335x: moxa-uc-8100-me-t: Replaced register offsets with
defines
There's nothing obviously wrong with the patches (and they won't break
anything but am335x-moxa platform, so they are low risk).

On the other hand, I don't see any obvious benefit. Whether we use hex
constants or symbolic constants affects readability, but has no effect
on functionality.

Do you have any patches on top of these that rely on symbolic
constants in the dts? Are there any changes in the generated .dtb?
What is the benefit of this series (besides cleanup)?

Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


johnsonch.chen@moxa.com
 

Hi,

Hi!

Tony Lindgren (1):
ARM: dts: am33xx: Added AM33XX_PADCONF macro

arch/arm/boot/dts/am335x-moxa-uc-8100-me-t.dts | 116
+++++++++++-----------
include/dt-bindings/pinctrl/am33xx.h | 130
++++++++++++++++++++++++-
include/dt-bindings/pinctrl/omap.h | 1 +
3 files changed, 188 insertions(+), 59 deletions(-)
These should be the following:

Christina Quast (3):
ARM: dts: am33xx: Added macros for numeric pinmux addresses
ARM: dts: am33xx: Added AM33XX_PADCONF macro
ARM: dts: am335x: moxa-uc-8100-me-t: Replaced register offsets with
defines
There's nothing obviously wrong with the patches (and they won't break
anything but am335x-moxa platform, so they are low risk).

On the other hand, I don't see any obvious benefit. Whether we use hex
constants or symbolic constants affects readability, but has no effect on
functionality.

Do you have any patches on top of these that rely on symbolic constants in the
dts? Are there any changes in the generated .dtb?
What is the benefit of this series (besides cleanup)?
Thanks for your response!

If macros of numeric pinmux addresses is used, we don't need to see AM335X's Technical Reference Manual again and again to find out the meaning of each pinmux address, just check "am33xx.h". Besides, it helps us to configure module pin's for different device trees easily. For example of mii, If we want to configure module of mii pin, we check module in "am33xx.h" can pick register names we want to modify. It's hard to remember pin address number for the specific module to us.

If AM33XX_PADCONF is taken, we can make sure both of pin's direction and mux mode are actually set, and it helps us to debug.

We have many boards based on AM335x SoC. Some dts rely on symbolic constants and some dts are not. I think this patch series can let us develop boards with AM335x SoC easiler.

Best regards,

Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Best regards,
Johnson


Pavel Machek
 

Hi!

On the other hand, I don't see any obvious benefit. Whether we use hex
constants or symbolic constants affects readability, but has no effect on
functionality.

Do you have any patches on top of these that rely on symbolic constants in the
dts? Are there any changes in the generated .dtb?
What is the benefit of this series (besides cleanup)?
Thanks for your response!

If macros of numeric pinmux addresses is used, we don't need to see AM335X's Technical Reference Manual again and again to find out the meaning of each pinmux address, just check "am33xx.h". Besides, it helps us to configure module pin's for different device trees easily. For example of mii, If we want to configure module of mii pin, we check module in "am33xx.h" can pick register names we want to modify. It's hard to remember pin address number for the specific module to us.

If AM33XX_PADCONF is taken, we can make sure both of pin's direction and mux mode are actually set, and it helps us to debug.

We have many boards based on AM335x SoC. Some dts rely on symbolic constants and some dts are not. I think this patch series can let us develop boards with AM335x SoC easiler.
Aha, ok, having more boards like this certainly explains the
benefits. Thanks for an explanation.

I have applied patches, I'll run some basic tests and push the
results.

Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany