Allwinner dtb overlays on CURRENT. Also, flashrom SPI!
Emmanuel Vadot
manu at bidouilliste.com
Thu Jul 26 10:09:36 UTC 2018
On Thu, 26 Jul 2018 12:48:24 +0300
Greg V <greg at unrelenting.technology> wrote:
>
>
> On Thu, Jul 26, 2018 at 12:40 AM, Emmanuel Vadot
> <manu at bidouilliste.com> wrote:
> > On Wed, 25 Jul 2018 15:14:29 -0500
> > Kyle Evans <kevans at freebsd.org> wrote:
> >
> >> On Wed, Jul 25, 2018 at 2:49 PM, Greg V
> >> <greg at unrelenting.technology> wrote:
> >> > Hi,
> >> >
> >> > One thing I have noticed with CURRENT on an Orange Pi PC: since
> >> we're using
> >> > device trees imported from Linux, some drivers are not accessible
> >> out of the
> >> > box.
> >> >
> >> > So I wrote a couple overlays:
> >> >
> >> > Thermal sensor: https://github.com/freebsd/freebsd/pull/162
> >> >
> >
> > This is wrong bindings. Yes I know that it's working with our driver
> > for ths but this is wrong.
> > 1) ths module isn't in ahb but apb.
> > 2) We need nvmem framework to get the sensor calibration data, please
> > see https://reviews.freebsd.org/D16419
>
> I guess it's good to have a framework, but the existing driver
> communicates with aw_sid directly (aw_sid_read_tscalib), and that seems
> to work fine?
Yeah and this is really gross.
Also the bindings aren't upstreamed and can't be without nvmem-cells.
> >> > SPI: https://github.com/freebsd/freebsd/pull/166
> >
> > What is the point of the spigen interface ?
> > If aw_spi is working on H3 (I haven't check but it should), if you
> > have a good dtb with the spi flash described you can use it directly.
>
> Uhhh I'm surprised you don't know what's the point of spigen?
> The point is raw *userspace* access.
I'm surprised that you thing I don't know what spigen is :)
If your DTB expose the spi node and the spi flash node when devmatch
start you will have :
Starting devd.
Autoloading module: aw_spi.ko
aw_spi0: <Allwinner SPI> mem 0x1c68000-0x1c68fff irq 27 on simplebus0
spibus0: <OFW SPI bus> on aw_spi0
spibus0: <unknown card> at cs 0 mode 0
Autoloading module: mx25l.ko
mx25l0: <M25Pxx Flash Family> at cs 0 mode 0 on spibus0
mx25l0: device type w25q128, size 16384K in 256 sectors of 64K, erase
size 4K
This will create a /dev/flash/spi0 where you can dd u-boot directly on
it.
> Like /dev/spidevX.Y on Linux, spigen gives us /dev/spigenX.Y.
> As you can see below, I wrote spigen support for flashrom :)
>
> We already have a spigen dtb overlay for the Raspberry Pi.
> So now it's possible to use the same userspace applications that talks
> SPI directly (like flashrom) on both RPi and H3!
Having a spigen for things other than flash is good, for flash I don't
see the point.
> >> > But not everyone would figure out how to make and even just use
> >> overlays?
> >> >
> >> > (if anyone is wondering: place them into /boot/dtb/overlays and
> >> add a list
> >> > of them (filenames including extension) to /boot/loader.conf like
> >> so:
> >> >
> >> fdt_overlays="sun8i-h3-sid.dtbo,sun8i-h3-ts.dtbo,sun8i-h3-spi.dtbo"
> >> ? and
> >> > reboot)
> >>
> >> Just FYI- omitting the extension should also work fine here. If it
> >> doesn't, that's another bug on its own. =)
> >>
> >> > Can someone commit these overlays / add more for other SoCs maybe?
> >>
> >> I think manu was working on some thermal sensor stuff earlier
> >> (though
> >> my memory may be wrong), so we'll see what he says.
> >
> > I am, currently upstreaming bindings/dts changes.
> >
> >> > P.S. I also wrote spigen support for flashrom:
> >> > https://github.com/flashrom/flashrom/pull/53
> >> > With this, I can flash and verify a Winbond W25Q32.V flash chip
> >> from my
> >> > Orange Pi! :)
--
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>
More information about the freebsd-arm
mailing list