[U-Boot] [PATCH v9 0/12] Enable driver model for GPIOs on Tegra and Exynos

Przemyslaw Marczak p.marczak at samsung.com
Mon Oct 20 16:54:30 CEST 2014


Hello Simon,
Everything seems fine, but there some issues. In last days I tried to 
run my Odroid with SD card and the card is not detected, then I found 
few things, that should be fixed. Please follow other patch comments.

On 10/15/2014 10:37 AM, Simon Glass wrote:
> (Note: Tegra patches have been applied, I am resending with exynos only)
>
> Now that driver model is part of U-Boot, the task of converting drivers over
> to it begins. GPIO is one of the easiest to convert, since it already has a
> sandbox driver and a uclass driver.
>
> The Tegra GPIO driver is relatively simple since it has a linear numbering
> and already uses the generic GPIO framework. Each GPIO bank has a separate
> device. Some arguments have been made that a single device should support
> all the GPIO banks, but currently the driver model uclass does not work that
> way and it would require a second-level data structure to handle the bank
> feature.
>
> This driver has been tested on:
>
> - Seaboard (Tegra 20)
> - Beaver (Tegra 30)
> - Jetson-TK1 (Tegra 124).
>
> I don't have a Tegra 114 board (Dalmore seems to be the only one with U-Boot
> support) but I am quite confident that it works.
>
> For exynos, the pinctrl device tree files are brought in from the kernel
> and cut down to remove the groupings which we don't yet use. Very small
> additions are made to avoid replicating the awful tables that Linux has
> for every exynos SoC. This series sits on top of the exynos refactors.
>
> The 'gpio' command is updated to support display of only the allocated
> GPIOs. This is much more friendly than displaying a large table.
>
> A few related clean-ups are provided as well.
>
> This series is available at u-boot-dm.git, branch working.
>
> Changes in v9:
> - Change compatible string to s5pc110-pinctrl for s5p_goni
> - Add missing compatible strings from exynos_gpio_ids[]
>
> Changes in v8:
> - Adjust odroid device tree file to use #include instead of /include/
> - Add missing special case reg property for exynos5420 GPX0
> - Add patch containing pinctrl settings for s5p_goni
> - Add patch containing pinctrl settings for s5p_goni
> - Add new patch to move smdkc100 to generic board
> - Add new patch to move s5p_goni to generic board
> - Enable driver model for smdkc100 and s5p_goni separately
>
> Changes in v7:
> - Bring in patches from the SPI series to move post-reloc DM init earlier
>
> Changes in v6:
> - Fix typo in compatible string
> - Remove exynos5420.dtsi which is not used in U-Boot
> - Move U-Boot changes into their own file
> - Use exynos54xx everywhere instead of exynos5420
>
> Changes in v5:
> - Put this patch before the others to avoid breaking bisectability
> - Add additional gpio_request() calls for other samsung boards
> - Use a mask instead of division in gpio_request() naming call
> - Remove RFC label now that build errors are fixed
> - Tidy up and update cover letter message
> - Avoid reordering functions
>
> Changes in v4:
> - Add patches for exynos GPIO support
>
> Simon Glass (12):
>    dm: exynos: dts: Convert /include/ to #include
>    dm: exynos: Bring in pinctrl dts files from Linux kernel
>    dm: exynos: dts: Remove unused pinctrl information to save space
>    dm: exynos: dts: Adjust device tree files for U-Boot
>    dm: exynos: Add pinctrl settings for smdkc100
>    dm: exynos: Add pinctrl settings for s5p_goni
>    dm: exynos: Move smdkc100 to generic board
>    dm: exynos: Move s5p_goni to generic board
>    dm: exynos: Tidy up GPIO headers
>    dm: exynos: Tidy up GPIO defines
>    dm: exynos: Make sure that GPIOs are requested
>    dm: exynos: gpio: Convert to driver model
>
>   arch/arm/cpu/armv7/exynos/pinmux.c         |   5 +-
>   arch/arm/dts/exynos4.dtsi                  |   9 +-
>   arch/arm/dts/exynos4210-origen.dts         |   4 +-
>   arch/arm/dts/exynos4210-pinctrl-uboot.dtsi |  27 ++
>   arch/arm/dts/exynos4210-pinctrl.dtsi       | 306 ++++++++++++++++++++
>   arch/arm/dts/exynos4210-smdkv310.dts       |   2 +-
>   arch/arm/dts/exynos4210-trats.dts          |   2 +-
>   arch/arm/dts/exynos4210-universal_c210.dts |   2 +-
>   arch/arm/dts/exynos4210.dtsi               | 155 ++++++++++
>   arch/arm/dts/exynos4412-odroid.dts         |   2 +-
>   arch/arm/dts/exynos4412-trats2.dts         |   2 +-
>   arch/arm/dts/exynos4412.dtsi               |  38 +++
>   arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi |  46 +++
>   arch/arm/dts/exynos4x12-pinctrl.dtsi       | 346 ++++++++++++++++++++++
>   arch/arm/dts/exynos4x12.dtsi               | 114 ++++++++
>   arch/arm/dts/exynos5.dtsi                  |  56 +++-
>   arch/arm/dts/exynos5250-pinctrl-uboot.dtsi |  40 +++
>   arch/arm/dts/exynos5250-pinctrl.dtsi       | 333 +++++++++++++++++++++
>   arch/arm/dts/exynos5250-smdk5250.dts       |   2 +-
>   arch/arm/dts/exynos5250-snow.dts           |   2 +-
>   arch/arm/dts/exynos5250.dtsi               |  40 ++-
>   arch/arm/dts/exynos5420-peach-pit.dts      |   2 +-
>   arch/arm/dts/exynos5420-smdk5420.dts       |   2 +-
>   arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi |  40 +++
>   arch/arm/dts/exynos54xx-pinctrl.dtsi       | 305 ++++++++++++++++++++
>   arch/arm/dts/exynos54xx.dtsi               |  44 ++-
>   arch/arm/dts/s5pc100-pinctrl.dtsi          | 180 ++++++++++++
>   arch/arm/dts/s5pc110-pinctrl.dtsi          | 273 ++++++++++++++++++
>   arch/arm/dts/s5pc1xx-goni.dts              |   7 +
>   arch/arm/dts/s5pc1xx-smdkc100.dts          |   7 +
>   arch/arm/include/asm/arch-exynos/gpio.h    |   5 -
>   arch/arm/include/asm/arch-s5pc1xx/gpio.h   |   4 -
>   board/samsung/arndale/arndale.c            |   4 +-
>   board/samsung/common/board.c               |   2 +-
>   board/samsung/common/misc.c                |   3 +-
>   board/samsung/goni/goni.c                  |   4 +-
>   board/samsung/origen/origen.c              |   2 +-
>   board/samsung/smdk5250/exynos5-dt.c        |   7 +
>   board/samsung/smdk5420/smdk5420.c          |   6 +-
>   board/samsung/smdkc100/smdkc100.c          |   2 +-
>   board/samsung/smdkv310/smdkv310.c          |   2 +-
>   board/samsung/trats/trats.c                |  17 +-
>   board/samsung/trats2/trats2.c              |  27 +-
>   board/samsung/universal_c210/universal.c   |   4 +-
>   drivers/gpio/s5p_gpio.c                    | 446 +++++++++++++++++++----------
>   drivers/mmc/s5p_sdhci.c                    |   7 +-
>   include/configs/exynos-common.h            |   4 +
>   include/configs/s5p_goni.h                 |   5 +
>   include/configs/smdkc100.h                 |   5 +
>   49 files changed, 2758 insertions(+), 191 deletions(-)
>   create mode 100644 arch/arm/dts/exynos4210-pinctrl-uboot.dtsi
>   create mode 100644 arch/arm/dts/exynos4210-pinctrl.dtsi
>   create mode 100644 arch/arm/dts/exynos4210.dtsi
>   create mode 100644 arch/arm/dts/exynos4412.dtsi
>   create mode 100644 arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi
>   create mode 100644 arch/arm/dts/exynos4x12-pinctrl.dtsi
>   create mode 100644 arch/arm/dts/exynos4x12.dtsi
>   create mode 100644 arch/arm/dts/exynos5250-pinctrl-uboot.dtsi
>   create mode 100644 arch/arm/dts/exynos5250-pinctrl.dtsi
>   create mode 100644 arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi
>   create mode 100644 arch/arm/dts/exynos54xx-pinctrl.dtsi
>   create mode 100644 arch/arm/dts/s5pc100-pinctrl.dtsi
>   create mode 100644 arch/arm/dts/s5pc110-pinctrl.dtsi
>

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


More information about the U-Boot mailing list