[U-Boot] [PATCH v10 0/2] S5P: Exynos: Add GPIO numbering feature

Przemyslaw Marczak p.marczak at samsung.com
Mon Apr 28 20:14:18 CEST 2014


Hi Akshay,

On 04/28/2014 03:59 PM, Akshay Saraswat wrote:
> Used a script to recheck/verify pin mapping and existing mapping
> appears to be fine, returning correct bank and pin values.
> Did ./MAKEALL -a arm and found all Exynos/S5P related boards
> compiled successfully.
> Couldn't test booting over all of them.
> Tested U-Boot bootup over SMDK5420, SMDK5250, Snow.
> Requesting maintaners to please test over affected SoCs/boards.
>
> Changes in V2:
> 	- Enabled CMD_GPIO as suggested by Simon Glass
> 	  and supported same for EXYNOS5.
> Changes in V3:
> 	- New patch added to rename S5P GPIO definitions
> 	  to S5P_GPIO.
> 	- GPIO Table added to calculate the base address
> 	  of input gpio bank.
> Changes in V4:
> 	- To have consistent 0..n-1 GPIO numbering the banks
> 	  are divided into different parts where ever they
> 	  have holes in them.
> 	- Function and table to support gpio command moved
> 	  to s5p-gpio driver.
> 	- Rebased on latest u-boot-samsung tree.
> Changes in V5:
> 	- Rebased on latest u-boot-samsung tree.
> 	- Removed Exynos5 specific code in gpio driver api to
> 	  get bank.
> 	- Added #define HAVE_GENERIC_GPIO in config file
> 	  to remove conditinal CPU check in gpio driver.
> Changes in V6:
> 	- Isolated config changes in a new patch.
> 	- Updated patches with corresponding changes for Exynos 5420.
> Changes in V7:
> 	- Added changes for other SoCs like Exynos 4412, 4210 etc.
> Changes in V8:
> 	- Changed Subject of patch 2/2 to reflect affected SoCs/boards.
> 	- Fixed arndale board compile time errors introduced due to
> 	  patch-set v7.
> Changes in V9:
> 	- Fixed checkpatch errors.
> 	- Fixed naming error in exynosxxxx_gpio_data arrays which could
> 	  be the possible reason behind data abort witnessed over
> 	  Exynos4 boards.
> Changes in v10:
> 	- Made arch-exynos/gpio.h -> arch/gpio.h.
> 	- Removed dead code.
> 	- Replaced exynos_gpio_get calls with corresponding pin number.
> 	- Edited pin numbmers in dts files.
>
> Akshay Saraswat (2):
>    EXYNOS: Add GPIO pin numbering and rename definitions
>    S5P: Exynos: Config: Enable GPIO CMD config
>
>   arch/arm/cpu/armv7/exynos/pinmux.c         |  403 +++----
>   arch/arm/dts/exynos4210-origen.dts         |    4 +-
>   arch/arm/dts/exynos4210-trats.dts          |    6 +-
>   arch/arm/dts/exynos4210-universal_c210.dts |    4 +-
>   arch/arm/dts/exynos4412-trats2.dts         |    4 +-
>   arch/arm/include/asm/arch-exynos/cpu.h     |   17 +-
>   arch/arm/include/asm/arch-exynos/gpio.h    | 1788 +++++++++++++++++++++++-----
>   arch/arm/include/asm/arch-s5pc1xx/gpio.h   |  940 +++++++++++++--
>   board/samsung/arndale/arndale.c            |   11 +-
>   board/samsung/goni/goni.c                  |   26 +-
>   board/samsung/smdk5250/exynos5-dt.c        |   20 +-
>   board/samsung/smdk5250/smdk5250.c          |   19 +-
>   board/samsung/smdk5420/smdk5420.c          |   15 +-
>   board/samsung/smdkc100/smdkc100.c          |    5 +-
>   board/samsung/smdkv310/smdkv310.c          |   17 +-
>   board/samsung/trats/trats.c                |   39 +-
>   board/samsung/trats2/trats2.c              |   74 +-
>   board/samsung/universal_c210/universal.c   |   51 +-
>   drivers/gpio/s5p_gpio.c                    |  198 ++-
>   include/configs/exynos5-dt.h               |    2 +
>   include/configs/s5p_goni.h                 |    4 +-
>   include/configs/s5pc210_universal.h        |   16 +-
>   include/configs/smdkv310.h                 |    1 +
>   include/configs/trats.h                    |    8 +-
>   include/configs/trats2.h                   |    4 +-
>   25 files changed, 2793 insertions(+), 883 deletions(-)
>

Only quick test on Trats2:
- VOLUP and VOLDOWN works fine (gpio definitions in trats2.h are proper)
- I2C works fine (gpios defined in trats2.c)
- MMC init failed but it looks like dts values are proper, so maybe 
returned gpio bank addresses are not valid.

I will check this tommorow.

And there is also dead code in arch-xxx/gpio.h,
like S5P_GPIO_SET_PART() and S5P_GPIO_GET_PART().

Thanks
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com


More information about the U-Boot mailing list