[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