From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Mon, 20 Oct 2014 16:54:30 +0200 Subject: [U-Boot] [PATCH v9 0/12] Enable driver model for GPIOs on Tegra and Exynos In-Reply-To: <1413362282-25451-1-git-send-email-sjg@chromium.org> References: <1413362282-25451-1-git-send-email-sjg@chromium.org> Message-ID: <54452226.9080103@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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