public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v8 0/12] Enable driver model for GPIOs on Tegra and Exynos
@ 2014-09-14 22:29 Simon Glass
  2014-09-14 22:29 ` [U-Boot] [PATCH v8 01/12] dm: exynos: dts: Convert /include/ to #include Simon Glass
                   ` (12 more replies)
  0 siblings, 13 replies; 18+ messages in thread
From: Simon Glass @ 2014-09-14 22:29 UTC (permalink / raw)
  To: u-boot

(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 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                    | 444 +++++++++++++++++++----------
 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, 2756 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

-- 
2.1.0.rc2.206.gedb03e5

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-10-14  5:04 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-14 22:29 [U-Boot] [PATCH v8 0/12] Enable driver model for GPIOs on Tegra and Exynos Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 01/12] dm: exynos: dts: Convert /include/ to #include Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 02/12] dm: exynos: Bring in pinctrl dts files from Linux kernel Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 03/12] dm: exynos: dts: Remove unused pinctrl information to save space Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 04/12] dm: exynos: dts: Adjust device tree files for U-Boot Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 05/12] dm: exynos: Add pinctrl settings for smdkc100 Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 06/12] dm: exynos: Add pinctrl settings for s5p_goni Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 07/12] dm: exynos: Move smdkc100 to generic board Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 08/12] dm: exynos: Move s5p_goni " Simon Glass
2014-09-29  6:06   ` Robert Baldyga
2014-10-08 11:36     ` Minkyu Kang
2014-10-08 12:21       ` Robert Baldyga
2014-09-14 22:29 ` [U-Boot] [PATCH v8 09/12] dm: exynos: Tidy up GPIO headers Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 10/12] dm: exynos: Tidy up GPIO defines Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 11/12] dm: exynos: Make sure that GPIOs are requested Simon Glass
2014-09-14 22:29 ` [U-Boot] [PATCH v8 12/12] dm: exynos: gpio: Convert to driver model Simon Glass
2014-10-09  6:00 ` [U-Boot] [PATCH v8 0/12] Enable driver model for GPIOs on Tegra and Exynos Simon Glass
2014-10-14  5:04   ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox