Message ID | 1460586628-25152-2-git-send-email-david@lechnology.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thursday 14 April 2016 04:00 AM, David Lechner wrote: > Adds device definition for soc spi0 and also a aux data that is needed > for clock matching. > > Signed-off-by: David Lechner <david@lechnology.com> > --- > arch/arm/boot/dts/da850.dtsi | 10 ++++++++++ > arch/arm/mach-davinci/da8xx-dt.c | 1 + > 2 files changed, 11 insertions(+) > > diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi > index bbe7dd6..92b5f3c 100644 > --- a/arch/arm/boot/dts/da850.dtsi > +++ b/arch/arm/boot/dts/da850.dtsi > @@ -295,6 +295,16 @@ > reg = <0x308000 0x80>; > status = "disabled"; > }; > + spi0: spi@41000 { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "ti,da830-spi"; > + reg = <0x41000 0x1000>; > + num-cs = <6>; This made me notice that num-cs is populated wrongly for spi1. It actually has 8 chip selects. This is fine though. Also, it will be nice to add pinctrl entries for spi0 like it is done for spi1. You will need those anyway for using the interface. > + ti,davinci-spi-intr-line = <1>; > + interrupts = <20>; > + status = "disabled"; > + }; > spi1: spi@30e000 { > #address-cells = <1>; > #size-cells = <0>; > diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c > index 64f3887..754f478 100644 > --- a/arch/arm/mach-davinci/da8xx-dt.c > +++ b/arch/arm/mach-davinci/da8xx-dt.c > @@ -28,6 +28,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = { > OF_DEV_AUXDATA("ti,da850-ecap", 0x01f06000, "ecap", NULL), > OF_DEV_AUXDATA("ti,da850-ecap", 0x01f07000, "ecap", NULL), > OF_DEV_AUXDATA("ti,da850-ecap", 0x01f08000, "ecap", NULL), > + OF_DEV_AUXDATA("ti,da830-spi", 0x01c41000, "spi_davinci.0", NULL), > OF_DEV_AUXDATA("ti,da830-spi", 0x01f0e000, "spi_davinci.1", NULL), > OF_DEV_AUXDATA("ns16550a", 0x01c42000, "serial8250.0", NULL), > OF_DEV_AUXDATA("ns16550a", 0x01d0c000, "serial8250.1", NULL), I prefer DT updates are patches of their own and not combined with code updates like this. Can you please split this up? Regards, Sekhar
On 04/15/2016 05:24 AM, Sekhar Nori wrote: > > This made me notice that num-cs is populated wrongly for spi1. It > actually has 8 chip selects. This is fine though. I might as well fix it since I have to make changes anyway. Don't remember how I came up with 6. > > Also, it will be nice to add pinctrl entries for spi0 like it is done > for spi1. You will need those anyway for using the interface. I omitted this on purpose. For my use case, I am using the SPI as write-only, so not using the SOMI pin, which is actually muxed as a GPIO for something else. So having a pinctl like spi1 is of no use to me. I figured if someone needs it, they can add it, otherwise it just is wasted space to me. > > I prefer DT updates are patches of their own and not combined with code > updates like this. Can you please split this up? Ack.
On Fri, 15 Apr 2016 11:17:55 -0500, David Lechner said: > I omitted this on purpose. For my use case, I am using the SPI as > write-only, So your SPI accesses are fire-and-forget, and nothing ever comes back? Seems a very dangerous way to design the use case, with no feedback if something suddenly goes pear-shaped... Or do you have ways to verify the status via some method other than SPI?
On 04/15/2016 03:16 PM, Valdis.Kletnieks@vt.edu wrote: > On Fri, 15 Apr 2016 11:17:55 -0500, David Lechner said: > >> I omitted this on purpose. For my use case, I am using the SPI as >> write-only, > > So your SPI accesses are fire-and-forget, and nothing ever comes back? Yes. > Seems a very dangerous way to design the use case, with no feedback if > something suddenly goes pear-shaped... You should tell Sitronix. This is how their display controllers work. > > Or do you have ways to verify the status via some method other than SPI? > Nope. I'm working with LEGO MINDSTORMS EV3, a mass-produced robotics system. It is what it is. And I have a logic analyzer for when things go pear-shaped. ;-)
On Friday 15 April 2016 09:47 PM, David Lechner wrote: > On 04/15/2016 05:24 AM, Sekhar Nori wrote: > >> >> This made me notice that num-cs is populated wrongly for spi1. It >> actually has 8 chip selects. This is fine though. > > I might as well fix it since I have to make changes anyway. Don't > remember how I came up with 6. In section 3.7.7 of datasheet, there are 6 possible chip selects listed for SPI0 and 8 possible chipselects for SPI1. If you are fixing SPI1, please make that a separate patch. >> Also, it will be nice to add pinctrl entries for spi0 like it is done >> for spi1. You will need those anyway for using the interface. > > I omitted this on purpose. For my use case, I am using the SPI as > write-only, so not using the SOMI pin, which is actually muxed as a GPIO > for something else. So having a pinctl like spi1 is of no use to me. I > figured if someone needs it, they can add it, otherwise it just is > wasted space to me. Alright, makes sense. Regards, Sekhar
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index bbe7dd6..92b5f3c 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -295,6 +295,16 @@ reg = <0x308000 0x80>; status = "disabled"; }; + spi0: spi@41000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "ti,da830-spi"; + reg = <0x41000 0x1000>; + num-cs = <6>; + ti,davinci-spi-intr-line = <1>; + interrupts = <20>; + status = "disabled"; + }; spi1: spi@30e000 { #address-cells = <1>; #size-cells = <0>; diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c index 64f3887..754f478 100644 --- a/arch/arm/mach-davinci/da8xx-dt.c +++ b/arch/arm/mach-davinci/da8xx-dt.c @@ -28,6 +28,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = { OF_DEV_AUXDATA("ti,da850-ecap", 0x01f06000, "ecap", NULL), OF_DEV_AUXDATA("ti,da850-ecap", 0x01f07000, "ecap", NULL), OF_DEV_AUXDATA("ti,da850-ecap", 0x01f08000, "ecap", NULL), + OF_DEV_AUXDATA("ti,da830-spi", 0x01c41000, "spi_davinci.0", NULL), OF_DEV_AUXDATA("ti,da830-spi", 0x01f0e000, "spi_davinci.1", NULL), OF_DEV_AUXDATA("ns16550a", 0x01c42000, "serial8250.0", NULL), OF_DEV_AUXDATA("ns16550a", 0x01d0c000, "serial8250.1", NULL),
Adds device definition for soc spi0 and also a aux data that is needed for clock matching. Signed-off-by: David Lechner <david@lechnology.com> --- arch/arm/boot/dts/da850.dtsi | 10 ++++++++++ arch/arm/mach-davinci/da8xx-dt.c | 1 + 2 files changed, 11 insertions(+)