[PATCH] Allow configuration from the devicetree

Sascha Hauer s.hauer at pengutronix.de
Wed Jul 10 06:51:59 EDT 2013


Currently even the devicetree enabled boards need C code to
configure where to store the environment. The following series
makes this configurable via devicetree to further reduce the
need of C code for boards.

As I often point out that the devicetree is for hardware description
rather than for configuration, the configuration is done in the
node explicitly intended for configuration: /chosen.

We add a hierarchy /chosen/barebox/ in the devicetree on which
of_platform_populate is called. This allows us to do the configuration
as regular drivers and to reuse a lot of infrastructure. Implementing
this as drivers also has the advantage that the known mechanisms can
be used to consistently change the behaviour of different boards
without breaking old boards.

Sascha

----------------------------------------------------------------
Sascha Hauer (9):
      devfs: let devfs_add_partition return the new partition
      of: export of_default_bus_match_table
      of: partitions: factor out function to parse a single partition
      cdev: introduce partition names
      cdev: allow to open a struct cdev
      cdev: add device_find_partition
      mci: set partnames of eMMC boot partitions
      Add configurability via devicetree
      ARM: i.MX Datamodul edmqx6: configure environment from devicetree

 Documentation/devicetree/bindings/barebox.txt      |  10 ++
 .../bindings/barebox/barebox,environment.txt       |  24 +++
 .../bindings/barebox/barebox,partition.txt         |  42 +++++
 arch/arm/boards/dmo-mx6-realq7/board.c             |  16 --
 arch/arm/configs/dmo-realq7_defconfig              |   1 +
 arch/arm/dts/imx6q-dmo-realq7.dts                  |  24 +++
 arch/x86/boards/x86_generic/generic_pc.c           |   6 +-
 commands/partition.c                               |  11 +-
 common/environment.c                               |  10 +-
 common/partitions.c                                |  12 +-
 drivers/mci/mci-core.c                             |  12 +-
 drivers/of/Kconfig                                 |   9 +
 drivers/of/Makefile                                |   1 +
 drivers/of/barebox.c                               | 191 +++++++++++++++++++++
 drivers/of/of_path.c                               | 155 +++++++++++++++++
 drivers/of/partition.c                             |  58 ++++---
 fs/devfs-core.c                                    |  60 +++++--
 include/driver.h                                   |  14 +-
 include/of.h                                       |  14 ++
 19 files changed, 600 insertions(+), 70 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/barebox.txt
 create mode 100644 Documentation/devicetree/bindings/barebox/barebox,environment.txt
 create mode 100644 Documentation/devicetree/bindings/barebox/barebox,partition.txt
 create mode 100644 drivers/of/barebox.c
 create mode 100644 drivers/of/of_path.c



More information about the barebox mailing list