On Fri, Jul 01, 2016 at 01:59:58PM +0300, Pantelis Antoniou wrote: > Hi Frank, > > Comments inline. > > > On Jul 1, 2016, at 03:02 , Frank Rowand <frowand.list@xxxxxxxxx> wrote: > > > > Hi All, > > > > I've been trying to wrap my head around what Pantelis and Rob have written > > on the subject of a device tree representation of a connector for a > > daughter board to connect to (eg a cape or a shield) and the representation > > of the daughter board. (Or any other physically pluggable object.) > > > > After trying to make sense of what had been written (or presented via slides > > at a conference - thanks Pantelis!), I decided to go back to first principals > > of what we are trying to accomplish. I came up with some really simple bogus > > examples to try to explain what my thought process is. > > > > To start with, assume that the device that will eventually be on a daughter > > board is first soldered onto the main board. Then the device tree will > > look like: > > > > $ cat board.dts > > /dts-v1/; > > > > / { > > #address-cells = < 1 >; > > #size-cells = < 1 >; > > > > tree_1: soc@0 { > > reg = <0x0 0x0>; > > > > spi_1: spi1 { > > }; > > }; > > > > }; > > > > &spi_1 { > > ethernet-switch@0 { > > compatible = "micrel,ks8995m"; > > }; > > }; > > > > #include "spi_codec.dtsi" > > > > $ cat spi_codec.dtsi > > &spi_1 { > > codec@1 { > > compatible = "ti,tlv320aic26"; > > }; > > }; > > > > > > #----- codec chip on cape > > > > Then suppose I move the codec chip to a cape. Then I will have the same > > exact .dts and .dtsi and everything still works. > > > > > > @----- codec chip on cape, overlay > > > > If I want to use overlays, I only have to add the version and "/plugin/", > > then use the '-@' flag for dtc (both for the previous board.dts and > > this spi_codec_overlay.dts): > > > > $ cat spi_codec_overlay.dts > > /dts-v1/; > > > > /plugin/; > > > > &spi_1 { > > codec@1 { > > compatible = "ti,tlv320aic26"; > > }; > > }; > > > > The correct form now for the /plugin/ declaration should be like > > /dts-v1/ /plugin/; > > The old method still works for backward compatibility. > > In fact with the new patches you don’t even /plugin/ since when > compiling an overlay we can turn on the plugin flag by looking > at the output type (dtbo). I'd prefer to see the dtbo option go away however, in favour of the /plugin/ flag. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature