Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Nov 2018 19:53:38 +0100
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        Ian Lepore <ian@freebsd.org>
Cc:        ticso@cicely.de, freebsd-arm@freebsd.org, Bernd Walter <ticso@cicely7.cicely.de>
Subject:   Re: How to add custom dts entries
Message-ID:  <20181104185337.GP79858@cicely7.cicely.de>
In-Reply-To: <20181104184939.GO79858@cicely7.cicely.de>
References:  <20181103200709.GB79858@cicely7.cicely.de> <1541277990.52306.4.camel@freebsd.org> <20181103205455.GD79858@cicely7.cicely.de> <1541279079.52306.8.camel@freebsd.org> <20181103212031.GF79858@cicely7.cicely.de> <1541280338.52306.9.camel@freebsd.org> <20181104183247.GN79858@cicely7.cicely.de> <20181104184939.GO79858@cicely7.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 04, 2018 at 07:49:39PM +0100, Bernd Walter wrote:
> On Sun, Nov 04, 2018 at 07:32:47PM +0100, Bernd Walter wrote:
> > On Sat, Nov 03, 2018 at 03:25:38PM -0600, Ian Lepore wrote:
> > > Add a status = "okay" to the spi node in your patch/overlay.
> > 
> > Makes sense.
> > 
> > So the spigen overlay works fine, once I set fdt_overlays in loader.conf
> > to use the overlay file.
> > 
> > spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e204fff irq 25 on simplebus0
> > spibus0: <OFW SPI bus> on spi0
> > spibus0: <unknown card> at cs 1 mode 0
> > spibus0: <unknown card> at cs 0 mode 0
> > spibus0: <unknown card> at cs 0 mode 0
> > spibus0: <unknown card> at cs 1 mode 0
> > 
> > With my own overlay I do this to install it:
> > dtc -I dts -O dtb -o rpi-apa102-matrix.dtbo rpi-apa102-matrix.dts
> > cp rpi-apa102-matrix.dtbo /boot/dtb/overlays
> > 
> > [77]cicely1> cat rpi-apa102-matrix.dts
> > /dts-v1/;
> > /plugin/;
> > 
> > / {
> >         compatible = "brcm,bcm2835";
> > };
> > 
> > /* &spi0 { */
> > &{/soc/spi@7e204000} {
> >         status = "okay";
> > 
> >         apa102led0 {
> >                 compatible = "led,apa102";
> >                 reg = <0>;
> >                 spi-max-frequency = <20000000>;
> >                 status = "okay";
> >         };
> > };
> > 
> > &onewire {
> >         compatible = "w1-gpio";
> >         gpios = <&gpio 4 1>;
> > };
> > 
> > Still puzzled with the format.
> > With &spi0 it didn't work, neither with the current format, which is
> > copied from the spigen.dts.
> > Neither spi0 attaches, nor the onewire bus.
> > 
> > Some other, mostly beaglebone related examples use a more complex
> > setup with overlay_ entries and everything inside the compatible block.
> > 
> > Can I have a device.hints please ;-)
> > 
> > ofwdump shows:
> > ...
> >     Node 0x20fc: spi@7e204000
> >       compatible:
> >         62 72 63 6d 2c 62 63 6d 32 38 33 35 2d 73 70 69 00 
> >         'brcm,bcm2835-spi'
> > ...
> >       status:
> >         64 69 73 61 62 6c 65 64 00 
> >         'disabled'
> > ...
> > 
> > Havn't checked ofwdump with the spigen overlay.
> 
> Interesting.
> When I use &spi0 and leave out the &onewire block, it attaches something.
> spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e204fff irq 25 on simplebus0
> spibus0: <OFW SPI bus> on spi0
> spibus0: <unknown card> at cs 0 mode 0
> spibus0: <unknown card> at cs 0 mode 0
> spibus0: <unknown card> at cs 1 mode 0
> 
> And also my driver attaches just fine:
> apa102led0: <APA102> at cs 0 mode 0 on spibus0
> 
> And ofwdump shows the spi0 es enabled:
>     Node 0x20fc: spi@7e204000
>       compatible:
>         62 72 63 6d 2c 62 63 6d 32 38 33 35 2d 73 70 69 00 
>         'brcm,bcm2835-spi'
> ...
>       status:
>         6f 6b 61 79 00 
>         'okay'
> ...
> 
> I'm not on the real hardware, so no LED connected to test the driver.
> It would probably also attach with the &{/soc/spi@7e204000}.
> But why does the &onewire entry make such a difference?
> Is the whole file revoked because of an error?
> I have no console connected, so I don't see loader messages.
> 
> Also it is a bit puzzling about the "unknown card" entries.

Ah ok.
Those 4 with the spigen driver are 2 devices defined by the generic DTS,
plus 2 devices from the spigen overlay - the spigen module wasn't laoded.
Same for my overlay, 2 generic, plus my LED definition.
      spi0 pnpinfo name=spi@7e204000 compat=brcm,bcm2835-spi
        spibus0
          apa102led0 pnpinfo name=apa102led0 compat=led,apa102 at bus=0 cs=0
          unknown pnpinfo name=spidev@0 compat=spidev at bus=0 cs=0
          unknown pnpinfo name=spidev@1 compat=spidev at bus=0 cs=1

Makes sense.

-- 
B.Walter <bernd@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181104185337.GP79858>