Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Nov 2018 19:49:39 +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:  <20181104184939.GO79858@cicely7.cicely.de>
In-Reply-To: <20181104183247.GN79858@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>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

-- 
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?20181104184939.GO79858>