public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: mhei@heimpold.de (Michael Heimpold)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/7] ARM: dts: support I2SE Duckbill device
Date: Mon, 24 Oct 2016 21:45:56 +0200	[thread overview]
Message-ID: <2694949.M3JJFNG6Xz@kerker> (raw)
In-Reply-To: <20161024131209.GK30578@tiger>

Am Montag, 24. Oktober 2016, 21:12:09 CEST schrieb Shawn Guo:
> On Sat, Oct 22, 2016 at 09:22:23PM +0200, Michael Heimpold wrote:
> > This series updates/adds Device Tree support for I2SE's Duckbill
> > device family.
> > 
> > The Duckbill devices are small, pen-drive sized boards based on
> > NXP's i.MX28 SoC. While the initial variants (Duckbill series) were
> > equipped with a micro SD card slot only, the latest generation
> > (Duckbill 2 series) have an additional internal eMMC onboard.
> > 
> > Both device generations consists of four "family members":
> > 
> > - Duckbill/Duckbill 2: generic board, intented to be used as
> > 
> >   baseboard for custom designs and/or as development board
> > 
> > - Duckbill EnOcean/Duckbill 2 EnOcean: come with an EnOcean
> > 
> >   daugther board equipped with the popular TCM310 module
> > 
> > - Duckbill 485/Duckbill 2 485: as the name implies, these
> > 
> >   devices are intended to be used as Ethernet - RS485 converters
> > 
> > - Duckbill SPI/Duckbill 2 SPI: not sold separately, but used
> > 
> >   in I2SE's development kits for Green PHY HomePlug Powerline
> >   communication
> 
> So we basically need to maintain 8 dts/dtb files for imx28-duckbill
> board.  This is not pleasant.  Can you please investigate if Device Tree
> overlay is going to help here?

First, thank you very much for your quick feedback.

Actually it would even be 11 files for 8 boards, thats right.
There is no mechanism (no EEPROM, GPIO...) to automatically probe for the 
device variants, and the "variant-forming daugther boards" are
not switchable like the expansion boards e.g. for Raspberry Pi.
Another point is, that this would really require to use U-Boot to apply
the overlay (or another DT capable bootloader with this functionality).
For booting very fast, the good old Freescale bootlets are still
an option, which could not handle the overlays - at least at the moment...
However, it still an option to have a second look...

To reduce the number of files, I see the following other approaches:
- don't use the three "common" files which are included: -3 files (8 total)
- don't mainline Duckbill EnOcean, Duckbill 485 and Duckbill SPI:
  they are EOL, only Duckbill 2 variants are still sold;
  however, since Duckbill (without 2) is/was already mainlined, we
  should keep this, leaving 4 new variants + 1 old variant: -3 files (5 total)
- only mainline Duckbill 2 (generic board) and maintain all other variants
  in a private Github repo (this is what we are doing now): -3 files (2 total)

So, I'll discuss this again internally. Do you have any preference?

I was also told off-list, that there should be an additional file in
Documentation/devicetree/bindings/arm to document the imx28-duckbill
binding.
And DT maintainers don't like the simple-bus stuff around the regulators.

So, I've already material to fix for v2 :-)

Michael

> 
> Shawn
> 
> [1] http://free-electrons.com/blog/dt-overlay-uboot-libfdt/
> 
> > Since all devices are very similar and only differ in few
> > aspects, the following patch series introduces first common
> > device tree snippets which are then included by the real
> > devices. For better understanding, I tried to illustrate the
> > hierarchy:
> > 
> > ...
> > [removed brocken ASCII art]
> > ...

> > 
> > Michael Heimpold (7):
> >   ARM: dts: imx28: add alternative pinmuxing for mmc2
> >   ARM: dts: imx28: rename mmc2_sck_cfg to prepare for an alternative
> >   
> >     muxing setup
> >   
> >   ARM: dts: imx28: add alternative muxing for mmc2_sck_cfg
> >   ARM: dts: add I2SE Duckbill common definitions
> >   ARM: dts: duckbill: simplify DT and use common definitions
> >   ARM: dts: add support for remaining members of Duckbill series
> >   ARM: dts: add support for Duckbill 2 series devices
> >  
> >  arch/arm/boot/dts/Makefile                     |   7 ++
> >  arch/arm/boot/dts/imx28-duckbill-2-485.dts     |  70 ++++++++++++++++
> >  arch/arm/boot/dts/imx28-duckbill-2-common.dtsi | 110
> >  +++++++++++++++++++++++++ arch/arm/boot/dts/imx28-duckbill-2-enocean.dts
> >  | 100 ++++++++++++++++++++++ arch/arm/boot/dts/imx28-duckbill-2-spi.dts 
> >     |  63 ++++++++++++++ arch/arm/boot/dts/imx28-duckbill-2.dts         |
> >   46 +++++++++++
> >  arch/arm/boot/dts/imx28-duckbill-485.dts       |  60 ++++++++++++++
> >  arch/arm/boot/dts/imx28-duckbill-base.dtsi     |  88 ++++++++++++++++++++
> >  arch/arm/boot/dts/imx28-duckbill-common.dtsi   |  80 ++++++++++++++++++
> >  arch/arm/boot/dts/imx28-duckbill-enocean.dts   |  90 ++++++++++++++++++++
> >  arch/arm/boot/dts/imx28-duckbill-spi.dts       |  64 ++++++++++++++
> >  arch/arm/boot/dts/imx28-duckbill.dts           |  99
> >  +++-------------------
> >  arch/arm/boot/dts/imx28-m28cu3.dts             |   2 +-
> >  arch/arm/boot/dts/imx28.dtsi                   |  28 ++++++-
> >  14 files changed, 817 insertions(+), 90 deletions(-)
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-2-485.dts
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-2-common.dtsi
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-2-enocean.dts
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-2-spi.dts
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-2.dts
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-485.dts
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-base.dtsi
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-common.dtsi
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-enocean.dts
> >  create mode 100644 arch/arm/boot/dts/imx28-duckbill-spi.dts

  reply	other threads:[~2016-10-24 19:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-22 19:22 [PATCH 0/7] ARM: dts: support I2SE Duckbill device Michael Heimpold
2016-10-22 19:22 ` [PATCH 1/7] ARM: dts: imx28: add alternative pinmuxing for mmc2 Michael Heimpold
2016-10-22 19:22 ` [PATCH 2/7] ARM: dts: imx28: rename mmc2_sck_cfg to prepare for an alternative muxing setup Michael Heimpold
2016-10-22 19:22 ` [PATCH 3/7] ARM: dts: imx28: add alternative muxing for mmc2_sck_cfg Michael Heimpold
2016-10-22 19:22 ` [PATCH 4/7] ARM: dts: add I2SE Duckbill common definitions Michael Heimpold
2016-10-26 13:53   ` Shawn Guo
2016-10-22 19:22 ` [PATCH 5/7] ARM: dts: duckbill: simplify DT and use " Michael Heimpold
2016-10-22 19:22 ` [PATCH 6/7] ARM: dts: add support for remaining members of Duckbill series Michael Heimpold
2016-10-22 19:22 ` [PATCH 7/7] ARM: dts: add support for Duckbill 2 series devices Michael Heimpold
2016-10-24 13:12 ` [PATCH 0/7] ARM: dts: support I2SE Duckbill device Shawn Guo
2016-10-24 19:45   ` Michael Heimpold [this message]
2016-10-26 13:55     ` Shawn Guo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2694949.M3JJFNG6Xz@kerker \
    --to=mhei@heimpold.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox