How to add custom dts entries
Bernd Walter
ticso at cicely7.cicely.de
Sun Nov 4 18:49:50 UTC 2018
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 at 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 at 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 at 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 at 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 at bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
More information about the freebsd-arm
mailing list