[Arm-netbook] 2.7.4 preproduction sample, 1.7 MD, Questions

Luke Kenneth Casson Leighton lkcl at lkcl.net
Wed Jul 22 10:21:41 BST 2020

On Tue, Jul 21, 2020 at 11:53 PM Paul Boddie <paul at boddie.org.uk> wrote:
> On Tuesday, 21 July 2020 23:25:12 CEST Luke Kenneth Casson Leighton wrote:
> > On Tue, Jul 21, 2020 at 9:57 PM Paul Boddie <paul at boddie.org.uk> wrote:
> > > OK, so the housing DT will contain the following for a VGA port...
> >
> > paul: quite late, here, more tomorrow.  summary strategy:
> >
> > * look at rbpi "hats" and how dtb overlays are done
> > * copy that
> > * rename rbpi "hat" overlay pins 0 to M to "eoma68 pins 1 to 68"
> It would be useful to know where all these "hats" are defined. I found the
> following:
> https://github.com/raspberrypi/linux/tree/rpi-5.4.y/arch/arm/boot/dts/overlays


they're merging the pull-up and setup functionality with the actual
device itself.  this completely defeats the object of the exercise.

> > that really should be all.
> Sorry, I just don't see how the overlays I found do this generically.

if that IR example is anything to go by.

> That works just fine with things like Raspberry Pi, but what we really need to
> see is what a device tree overlay looks like for a product that is used on
> multiple devices without needing to be customised for each one, if such an
> overlay exists.
> The only thing I've found that seems to do pin aliasing is this:
> https://beagleboard.org/blog/2018-01-17-building-a-device-tree-overlay-for-your-new-pocketcape-design

yes, pin aliasing should do the trick.  so instead of (as in the IR example)

                                brcm,pins = <18>;
 // pin 18
                                brcm,function = <0>;                    // in
                                brcm,pull = <2>;                        // up

it would be

                                eoma68,pins = <18>;
   // pin 18
                                eoma68,function = <0>;                    // in
                                eoma68,pull = <2>;                        // up

> Even then, there is some pretty liberal usage of what appear to be device-
> specific node references alongside the pin aliases, but I guess it is a start.


so what it looks like is, the beagleboard example shows how to
"disable" pins (describes it as "get them back").  following that, if
those pins can be cut/paste redefined and given eoma68 names, i
believe we're good to go.

i believe it may be necessary to have two definitions for each pin,
though (in each Card Overlay).

* one definition for the EOMA68 pin as a GPIO
* one definition for the EOMA68 pin in its "function" capacity.  SPI
MOSI for example.

the "hats" then choose which of these to "group together" in order to
create "EOMA68 SPI" or "EOMA68 LCD 15 pin bus" and so on.


More information about the arm-netbook mailing list