spigen problem

Ian Lepore ian at freebsd.org
Mon Apr 29 17:34:38 UTC 2019


On Tue, 2019-04-30 at 02:18 +0900, Mori Hiroki wrote:
> Hi
> 
> I add small spi lcd on RT3050. This lcd controller is S6D0151.
> 
> S6D0151 transfer is tree byte command then tree byte data.
> 
> I use spigen mruby rapper. This rapper use SPIGENIOC_TRANSFER.
> 
> I try to send tree byte command. But spi transfer is six byte.
> 
> This is reason.
> 
> sys/dev/spibus/spigen.c
> 
>         error = copyin(st->st_command.iov_base, transfer.tx_cmd,
>            transfer.tx_cmd_sz = transfer.rx_cmd_sz = st-
> >st_command.iov_len);  
> 
> 
> This lcd not work six byte transfer.
> 
> How do I fix this ?
> 
> Regards
> 
> Hiroki Mori
> 

I'm not sure what you mean by "This is the reason", that code sets up
the transfer for exactly as many bytes as you requested in
st_command.iov_len.  If you set that to three bytes, only three bytes
will be transfered.

-- Ian



More information about the freebsd-mips mailing list