lkml.org 
[lkml]   [2011]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [RFC PATCH v3 0/6] MIPS: Octeon: Use Device Tree.
    On Thu, May 5, 2011 at 11:02 AM, David Daney <ddaney@caviumnetworks.com> wrote:
    > After several weeks of fire fighting, I am back to my Octeon device
    > tree patches.
    >
    > New in v3:
    >
    > More updates to device tree bindings, and perhaps more importantly
    > descriptions/definitions of the bindings
    >
    > libfdt building moved to devices/of/libfdt.
    >
    > Cleanup and style improvements as suggested by Grant Likley.
    >
    > Omitted all the driver changes, as they are unchanged from the last
    > set, and at this stage the patches are just an RFC.
    >
    > New in v2:
    >
    > Changed many device tree bindings.  They should be closer to the
    > standard naming scheme now.
    >
    > Editing of the template device tree is done in the flattened form
    > using libfdt.
    >
    > Standard platform driver functions used in preference to the
    > of_platform variety.
    >
    > v1:
    >
    > Background: The Octeon family of SOCs has a variety of on-chip
    > controllers for Ethernet, MDIO, I2C, and several other I/O devices.
    > These chips are used on boards with a great variety of different
    > configurations.  To date, the configuration and bus topology
    > information has been hard coded in the drivers and support code.
    >
    > To facilitate supporting new chips and boards, we would like to make
    > use use the Device Tree to encode the configuration information.
    >
    > I would like to get some feedback on the current code I am working
    > with.  The migration approach is as follows:
    >
    > o Several device tree templates are statically linked into the kernel
    >  image.  Based on SOC type and board type one of these is selected in
    >  early boot.  Legacy configuration probing code is used to prune and
    >  patch the device tree template.
    >
    > o New SOCs and boards will directly use a device tree passed by the
    >  bootloader (This patch set doesn't actually implement this, but it
    >  is trivial to add).
    >
    >
    >
    > 1/6 -  Infrastructure to allow scripts/dtc/libfdt to be used in the
    >       kernel.
    >
    > 2/6 - OF patch to simplify of_find_node_by_path().
    >
    > 3/6 - Add the statically linked Device Tree templates and bindings
    >      descriptions.
    >
    > 4/6 - Remove unused arch/mips/prom.c code that conflicts with
    >      following patches.
    >
    > 5/6 - irq_create_of_mapping() function.
    >
    > 6/6 - Fix up Device Tree template for current environment.
    >
    >
    > David Daney (6):
    >  of: Allow scripts/dtc/libfdt to be used from kernel code
    >  of: Make of_find_node_by_path() traverse /aliases for relative paths.
    >  MIPS: Octeon: Add device tree source files.
    >  MIPS: Prune some target specific code out of prom.c
    >  MIPS: Octeon: Add irq_create_of_mapping() and GPIO interrupts.
    >  MIPS: Octeon: Initialize and fixup device tree.
    >
    >  .../devicetree/bindings/mips/cavium/bootbus.txt    |   37 ++
    >  .../devicetree/bindings/mips/cavium/ciu.txt        |   26 ++
    >  .../devicetree/bindings/mips/cavium/gpio.txt       |   48 +++
    >  .../devicetree/bindings/mips/cavium/mdio.txt       |   27 ++
    >  .../devicetree/bindings/mips/cavium/mix.txt        |   40 ++
    >  .../devicetree/bindings/mips/cavium/pip.txt        |   98 +++++
    >  .../devicetree/bindings/mips/cavium/twsi.txt       |   34 ++
    >  .../devicetree/bindings/mips/cavium/uart.txt       |   19 +
    >  .../devicetree/bindings/mips/cavium/uctl.txt       |   47 +++
    >  arch/mips/Kconfig                                  |    1 +
    >  arch/mips/cavium-octeon/.gitignore                 |    2 +
    >  arch/mips/cavium-octeon/Makefile                   |   15 +
    >  arch/mips/cavium-octeon/octeon-irq.c               |  183 ++++++++-
    >  arch/mips/cavium-octeon/octeon-platform.c          |  295 +++++++++++++
    >  arch/mips/cavium-octeon/octeon_3xxx.dts            |  431 ++++++++++++++++++++
    >  arch/mips/cavium-octeon/setup.c                    |   17 +
    >  arch/mips/kernel/prom.c                            |   49 ---
    >  drivers/of/Kconfig                                 |    3 +
    >  drivers/of/Makefile                                |    2 +
    >  drivers/of/base.c                                  |   41 ++-
    >  drivers/of/libfdt/Makefile                         |    8 +

    Out of curiosity, how big are the compiled libfdt object files?

    >  include/linux/libfdt.h                             |    8 +
    >  include/linux/libfdt_env.h                         |   13 +
    >  23 files changed, 1393 insertions(+), 51 deletions(-)
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/bootbus.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/ciu.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/gpio.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/mdio.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/mix.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/pip.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/twsi.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/uart.txt
    >  create mode 100644 Documentation/devicetree/bindings/mips/cavium/uctl.txt
    >  create mode 100644 arch/mips/cavium-octeon/.gitignore
    >  create mode 100644 arch/mips/cavium-octeon/octeon_3xxx.dts
    >  create mode 100644 drivers/of/libfdt/Makefile
    >  create mode 100644 include/linux/libfdt.h
    >  create mode 100644 include/linux/libfdt_env.h
    >
    > --
    > 1.7.2.3
    >
    >



    --
    Grant Likely, B.Sc., P.Eng.
    Secret Lab Technologies Ltd.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-05-05 19:43    [W:0.032 / U:63.188 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site