Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Dec 2019 23:40:19 -0500
From:      Gary Otten <gdotten@gmail.com>
To:        Emmanuel Vadot <manu@bidouilliste.com>
Cc:        freebsd-arm@freebsd.org, ian@freebsd.org
Subject:   Re: SPI support for A64-OLinuXino board Allwinner A64 processor
Message-ID:  <CABZQu%2Bg_tRZvj=euDkMTbs4zubB5k1GN%2BT6iidoaxXxBYViwtQ@mail.gmail.com>
In-Reply-To: <20191228161726.9efb08df5b69eaa0a0ff478f@bidouilliste.com>
References:  <CABZQu%2BivgronnY=ro5CtQoyYR6B=gGFsaryKm%2BgEwubJWx3KzA@mail.gmail.com> <20191228161726.9efb08df5b69eaa0a0ff478f@bidouilliste.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks,  Ian Lepore mentioned this too, spigen wasn't loaded.  I have now
loaded spigen.   The driver appears to be working, but I am not seeing any
output.

I can toggle pins PC0,PC1,PC2, PC3 with  gpioctl,  but I don't get anything
with spi.
I also had another odd behavior with BANK E. not having any output, using
gpoictl, I was not able to get any pin on Bank E to toggle. I did turn on
the voltage regulator as suggested.

I wonder if FreeBSD is properly setting the configuration registers for
each port/pin of the the A64.  Basically letting the A64 know to use alt
function or general gpio in/out in the proper way for each pin, maybe some
of the (default?) settings for the more popular pine boards work, but
don't  work correctly for the Olimex A64 board, or maybe there is some
setting in the overlays that I am overlooking that need to be set to use an
alt function or gpio in/out to get the pins to function properly.   If in
the overlay I have spi0 enabled, should I still be able to toggle the pins
with gpioctl?  Thanks for the help.

My diagnostics
******************************************
root@:/dev # spi -i
Device name:   /dev/spigen0.0
Device mode:   2
Device speed:  500000
root@:/dev # spi -d r -m 0 -C '9F 00' -v -c 2
Binary output of 2 bytes
2 command bytes and 2 data bytes read from SPI device
        |  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F |
 |
      0 | 00 00 00 00                                     | ....
  |

I



On Sat, Dec 28, 2019 at 10:44 AM Emmanuel Vadot <manu@bidouilliste.com>
wrote:

> On Wed, 25 Dec 2019 19:12:28 -0500
> Gary Otten <gdotten@gmail.com> wrote:
>
> > Thanks,  I have created the following overlay and tried a variety of
> other
> > things but I haven't been able to get spigen0.0 to appear in  /dev.
> >
> >
> >
> > /* $FreeBSD$ */
> > /dts-v1/;
> > /plugin/;
> >
> > / {
> >         compatible = "allwinner,sun50i-a64";
> > };
> >
> > &{/soc/spi@1c68000} {
> >
> >                 status = "okay";
> >
> >                 spigen0: spigen0 {
> >                 compatible = "freebsd,spigen";
> >                 reg = <0>;
> >                 spi-max-frequency = <500000>;
> >                 status = "okay";
> >         };
> >
> > };
> >
> >
> >
> > Some diagnostics
> >
> > -------------------------------------------------------
> > On Boot
> >
> > Loading DTB overlays: 'sun50i-a64-spi-spidev'
> > /boot/dtb/overlays/sun50i-a64-spi-spidev.dtbo size=0x15c
> > applying DTB overlay '/boot/dtb/overlays/sun50i-a64-spi-spidev.dtbo'
> > ..
> > ....
> > .....
> >
> > Autoloading module: aw_spi.ko
> > aw_spi0: <Allwinner SPI> mem 0x1c68000-0x1c68fff irq 29 on simplebus0
> > spibus0: <OFW SPI bus> on aw_spi0
> > spibus0: <unknown card> at cs 0 mode 0
> >
> >
> > -------------------------------------------------------
> > root@:/boot/dtb/overlays # kldstat
> > Id Refs Address                Size Name
> >  1    5 0xffff000000000000  144dda8 kernel
> >  2    1 0xffff000054c00000    41000 aw_spi.ko
> >
> >  -------------------------------------------------------
> > root@:/boot/dtb/overlays # devinfo
> > ..
> > ...
> >   aw_spi0
> >         spibus0
> >
> > -------------------------------------------------------
> > root@:/boot/dtb/overlays # devinfo
> >
> > ....
> > ......
> >  Node 0x2f60: spi@1c68000
> >       Node 0x309c: spigen0
> > _______________________________________________
> > freebsd-arm@freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
>
>  Hi Gary,
>
>  You overlay worked for me on the pine64-lts. Here is what I did :
>  - Use https://github.com/evadot/freebsd/commits/aw_spigen
>  - aw_spi is autoloaded via devmatch
>  - kldload spigen (it's not in GENERIC for arm64, maybe we should add it
> or do some devmatch magic)
>  - root@pine64-lts:~ # spi -i
> Device name:   /dev/spigen0.0
> Device mode:   0
> Device speed:  500000
> root@pine64-lts:~ # spi -d r -m 0 -C '9F 00' -v -c 2
> Binary output of 2 bytes
> 2 command bytes and 2 data bytes read from SPI device
>         |  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
> |                  | 0 | 00 ef 40 18                                     |
> ..@.             |
>
>  Maybe you just forgot to load spigen ?
>
> --
> Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABZQu%2Bg_tRZvj=euDkMTbs4zubB5k1GN%2BT6iidoaxXxBYViwtQ>