Message ID | 1350566815-409-17-git-send-email-mporter@ti.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
On 10/18/2012 6:56 PM, Matt Porter wrote: > Adds AM33XX SPI support for am335x-bone and am335x-evm. > > Signed-off-by: Matt Porter <mporter@ti.com> > --- > arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ > arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ > arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ > 3 files changed, 69 insertions(+) > > diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts > index 5510979..23edfd8 100644 > --- a/arch/arm/boot/dts/am335x-bone.dts > +++ b/arch/arm/boot/dts/am335x-bone.dts > @@ -18,6 +18,17 @@ > reg = <0x80000000 0x10000000>; /* 256 MB */ > }; > > + am3358_pinmux: pinmux@44e10800 { > + spi1_pins: pinmux_spi1_pins { > + pinctrl-single,pins = < > + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ > + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ > + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ > + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ > + >; Is there a single pinmux setting that provides SPI functionality on the bone headers? Or this is specific to a cape you tested with? Thanks, Sekhar
On Thu, Oct 18, 2012 at 18:56:55, Porter, Matt wrote: > Adds AM33XX SPI support for am335x-bone and am335x-evm. > > Signed-off-by: Matt Porter <mporter@ti.com> > --- > arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ > arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ > arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ > 3 files changed, 69 insertions(+) > > diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts > index 5510979..23edfd8 100644 > --- a/arch/arm/boot/dts/am335x-bone.dts > +++ b/arch/arm/boot/dts/am335x-bone.dts > @@ -18,6 +18,17 @@ > reg = <0x80000000 0x10000000>; /* 256 MB */ > }; > > + am3358_pinmux: pinmux@44e10800 { > + spi1_pins: pinmux_spi1_pins { > + pinctrl-single,pins = < > + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ > + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ > + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ > + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ > + >; > + }; > + }; > + Change to am33xx_pinmux. > ocp { > uart1: serial@44e09000 { > status = "okay"; > @@ -84,3 +95,9 @@ > &mmc1 { > vmmc-supply = <&ldo3_reg>; > }; > + > +&spi1 { > + status = "okay"; > + pinctrl-names = "default"; > + pinctrl-0 = <&spi1_pins>; > +}; > diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts > index d63fce8..8d5f660 100644 > --- a/arch/arm/boot/dts/am335x-evm.dts > +++ b/arch/arm/boot/dts/am335x-evm.dts > @@ -124,3 +124,12 @@ > &mmc1 { > vmmc-supply = <&vmmc_reg>; > }; > + > +&spi0 { > + status = "okay"; > + spi-flash@0 { > + compatible = "spansion,s25fl064k", "m25p80"; > + spi-max-frequency = <24000000>; > + reg = <0>; > + }; > +}; In AM335x-evm, SPI flash available in profile #2 (am335x evm specific profiles). So can you drop this changes as if I understood correctly, am335x-evm.dts will be populated for devices present only on profile #0. > diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi > index 26a6af7..063ecea 100644 > --- a/arch/arm/boot/dts/am33xx.dtsi > +++ b/arch/arm/boot/dts/am33xx.dtsi > @@ -40,6 +40,15 @@ > }; > }; > > + am3358_pinmux: pinmux@44e10800 { > + compatible = "pinctrl-single"; > + reg = <0x44e10800 0x0238>; > + #address-cells = <1>; > + #size-cells = <0>; > + pinctrl-single,register-width = <32>; > + pinctrl-single,function-mask = <0x7f>; > + }; > + Pin ctrl support already submitted http://git.kernel.org/?p=linux/kernel/git/bcousson/linux-omap-dt.git;a=commitdiff;h=3e0603e905d9ba662e8c1885ecb1d28bc454e448 Thanks Avinash > /* > * XXX: Use a flat representation of the AM33XX interconnect. > * The real AM33XX interconnect network is quite complex.Since > @@ -261,6 +270,40 @@ > status = "disabled"; > }; > > + spi0: spi@48030000 { > + compatible = "ti,omap4-mcspi"; > + ti,hwmods = "spi0"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x48030000 0x400>; > + interrupt-parent = <&intc>; > + interrupt = <65>; > + dmas = <&edma 16 > + &edma 17 > + &edma 18 > + &edma 19>; > + dma-names = "tx0", "rx0", "tx1", "rx1"; > + ti,spi-num-cs = <2>; > + status = "disabled"; > + }; > + > + spi1: spi@481a0000 { > + compatible = "ti,omap4-mcspi"; > + ti,hwmods = "spi1"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x481a0000 0x400>; > + interrupt-parent = <&intc>; > + interrupt = <125>; > + dmas = <&edma 42 > + &edma 43 > + &edma 44 > + &edma 45>; > + dma-names = "tx0", "rx0", "tx1", "rx1"; > + ti,spi-num-cs = <2>; > + status = "disabled"; > + }; > + > wdt2: wdt@44e35000 { > compatible = "ti,omap3-wdt"; > ti,hwmods = "wd_timer2"; > -- > 1.7.9.5 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >
On Mon, Oct 29, 2012 at 14:40:02, Philip, Avinash wrote: > On Thu, Oct 18, 2012 at 18:56:55, Porter, Matt wrote: > > Adds AM33XX SPI support for am335x-bone and am335x-evm. Matt, Can you build SPI DT patch with DMA support on top of SPI DT patch I submitted [1]. With the patch [1] SPI can work on PIO mode. So we can have basic SPI support available in 3.8. Benoit, Can you accept the SPI DT patch [1] In case if you want I will resubmit a patch with subject line modified. Current subject line arm/dts: AM33XX: Add SPI device tree data 1. https://patchwork.kernel.org/patch/1470661/ Thanks Avinash > > > > Signed-off-by: Matt Porter <mporter@ti.com> > > --- > > arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ > > arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ > > arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ > > 3 files changed, 69 insertions(+) > > > > diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts > > index 5510979..23edfd8 100644 > > --- a/arch/arm/boot/dts/am335x-bone.dts > > +++ b/arch/arm/boot/dts/am335x-bone.dts > > @@ -18,6 +18,17 @@ > > reg = <0x80000000 0x10000000>; /* 256 MB */ > > }; > > > > + am3358_pinmux: pinmux@44e10800 { > > + spi1_pins: pinmux_spi1_pins { > > + pinctrl-single,pins = < > > + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ > > + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ > > + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ > > + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ > > + >; > > + }; > > + }; > > + > > Change to am33xx_pinmux. > > > ocp { > > uart1: serial@44e09000 { > > status = "okay"; > > @@ -84,3 +95,9 @@ > > &mmc1 { > > vmmc-supply = <&ldo3_reg>; > > }; > > + > > +&spi1 { > > + status = "okay"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&spi1_pins>; > > +}; > > diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts > > index d63fce8..8d5f660 100644 > > --- a/arch/arm/boot/dts/am335x-evm.dts > > +++ b/arch/arm/boot/dts/am335x-evm.dts > > @@ -124,3 +124,12 @@ > > &mmc1 { > > vmmc-supply = <&vmmc_reg>; > > }; > > + > > +&spi0 { > > + status = "okay"; > > + spi-flash@0 { > > + compatible = "spansion,s25fl064k", "m25p80"; > > + spi-max-frequency = <24000000>; > > + reg = <0>; > > + }; > > +}; > > In AM335x-evm, SPI flash available in profile #2 (am335x evm specific profiles). > So can you drop this changes as if I understood correctly, am335x-evm.dts will be > populated for devices present only on profile #0. > > > diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi > > index 26a6af7..063ecea 100644 > > --- a/arch/arm/boot/dts/am33xx.dtsi > > +++ b/arch/arm/boot/dts/am33xx.dtsi > > @@ -40,6 +40,15 @@ > > }; > > }; > > > > + am3358_pinmux: pinmux@44e10800 { > > + compatible = "pinctrl-single"; > > + reg = <0x44e10800 0x0238>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + pinctrl-single,register-width = <32>; > > + pinctrl-single,function-mask = <0x7f>; > > + }; > > + > > Pin ctrl support already submitted > http://git.kernel.org/?p=linux/kernel/git/bcousson/linux-omap-dt.git;a=commitdiff;h=3e0603e905d9ba662e8c1885ecb1d28bc454e448 > > Thanks > Avinash > > > /* > > * XXX: Use a flat representation of the AM33XX interconnect. > > * The real AM33XX interconnect network is quite complex.Since > > @@ -261,6 +270,40 @@ > > status = "disabled"; > > }; > > > > + spi0: spi@48030000 { > > + compatible = "ti,omap4-mcspi"; > > + ti,hwmods = "spi0"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + reg = <0x48030000 0x400>; > > + interrupt-parent = <&intc>; > > + interrupt = <65>; > > + dmas = <&edma 16 > > + &edma 17 > > + &edma 18 > > + &edma 19>; > > + dma-names = "tx0", "rx0", "tx1", "rx1"; > > + ti,spi-num-cs = <2>; > > + status = "disabled"; > > + }; > > + > > + spi1: spi@481a0000 { > > + compatible = "ti,omap4-mcspi"; > > + ti,hwmods = "spi1"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + reg = <0x481a0000 0x400>; > > + interrupt-parent = <&intc>; > > + interrupt = <125>; > > + dmas = <&edma 42 > > + &edma 43 > > + &edma 44 > > + &edma 45>; > > + dma-names = "tx0", "rx0", "tx1", "rx1"; > > + ti,spi-num-cs = <2>; > > + status = "disabled"; > > + }; > > + > > wdt2: wdt@44e35000 { > > compatible = "ti,omap3-wdt"; > > ti,hwmods = "wd_timer2"; > > -- > > 1.7.9.5 > > > > > > _______________________________________________ > > linux-arm-kernel mailing list > > linux-arm-kernel@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > > >
Hi Avinash, On 10/30/2012 10:41 AM, Philip, Avinash wrote: > On Mon, Oct 29, 2012 at 14:40:02, Philip, Avinash wrote: >> On Thu, Oct 18, 2012 at 18:56:55, Porter, Matt wrote: >>> Adds AM33XX SPI support for am335x-bone and am335x-evm. > > Matt, > > Can you build SPI DT patch with DMA support on top of SPI DT patch > I submitted [1]. With the patch [1] SPI can work on PIO mode. > So we can have basic SPI support available in 3.8. > > Benoit, > Can you accept the SPI DT patch [1] Yes, I've just applied it in for_3.8/dts branch > In case if you want I will resubmit a patch with subject line modified. No, that's fine. Thanks, Benoit > > Current subject line > arm/dts: AM33XX: Add SPI device tree data > > 1. https://patchwork.kernel.org/patch/1470661/ > > Thanks > Avinash > >>> >>> Signed-off-by: Matt Porter <mporter@ti.com> >>> --- >>> arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ >>> arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ >>> arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ >>> 3 files changed, 69 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts >>> index 5510979..23edfd8 100644 >>> --- a/arch/arm/boot/dts/am335x-bone.dts >>> +++ b/arch/arm/boot/dts/am335x-bone.dts >>> @@ -18,6 +18,17 @@ >>> reg = <0x80000000 0x10000000>; /* 256 MB */ >>> }; >>> >>> + am3358_pinmux: pinmux@44e10800 { >>> + spi1_pins: pinmux_spi1_pins { >>> + pinctrl-single,pins = < >>> + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ >>> + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ >>> + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ >>> + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ >>> + >; >>> + }; >>> + }; >>> + >> >> Change to am33xx_pinmux. >> >>> ocp { >>> uart1: serial@44e09000 { >>> status = "okay"; >>> @@ -84,3 +95,9 @@ >>> &mmc1 { >>> vmmc-supply = <&ldo3_reg>; >>> }; >>> + >>> +&spi1 { >>> + status = "okay"; >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&spi1_pins>; >>> +}; >>> diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts >>> index d63fce8..8d5f660 100644 >>> --- a/arch/arm/boot/dts/am335x-evm.dts >>> +++ b/arch/arm/boot/dts/am335x-evm.dts >>> @@ -124,3 +124,12 @@ >>> &mmc1 { >>> vmmc-supply = <&vmmc_reg>; >>> }; >>> + >>> +&spi0 { >>> + status = "okay"; >>> + spi-flash@0 { >>> + compatible = "spansion,s25fl064k", "m25p80"; >>> + spi-max-frequency = <24000000>; >>> + reg = <0>; >>> + }; >>> +}; >> >> In AM335x-evm, SPI flash available in profile #2 (am335x evm specific profiles). >> So can you drop this changes as if I understood correctly, am335x-evm.dts will be >> populated for devices present only on profile #0. >> >>> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi >>> index 26a6af7..063ecea 100644 >>> --- a/arch/arm/boot/dts/am33xx.dtsi >>> +++ b/arch/arm/boot/dts/am33xx.dtsi >>> @@ -40,6 +40,15 @@ >>> }; >>> }; >>> >>> + am3358_pinmux: pinmux@44e10800 { >>> + compatible = "pinctrl-single"; >>> + reg = <0x44e10800 0x0238>; >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + pinctrl-single,register-width = <32>; >>> + pinctrl-single,function-mask = <0x7f>; >>> + }; >>> + >> >> Pin ctrl support already submitted >> http://git.kernel.org/?p=linux/kernel/git/bcousson/linux-omap-dt.git;a=commitdiff;h=3e0603e905d9ba662e8c1885ecb1d28bc454e448 >> >> Thanks >> Avinash >> >>> /* >>> * XXX: Use a flat representation of the AM33XX interconnect. >>> * The real AM33XX interconnect network is quite complex.Since >>> @@ -261,6 +270,40 @@ >>> status = "disabled"; >>> }; >>> >>> + spi0: spi@48030000 { >>> + compatible = "ti,omap4-mcspi"; >>> + ti,hwmods = "spi0"; >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + reg = <0x48030000 0x400>; >>> + interrupt-parent = <&intc>; >>> + interrupt = <65>; >>> + dmas = <&edma 16 >>> + &edma 17 >>> + &edma 18 >>> + &edma 19>; >>> + dma-names = "tx0", "rx0", "tx1", "rx1"; >>> + ti,spi-num-cs = <2>; >>> + status = "disabled"; >>> + }; >>> + >>> + spi1: spi@481a0000 { >>> + compatible = "ti,omap4-mcspi"; >>> + ti,hwmods = "spi1"; >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + reg = <0x481a0000 0x400>; >>> + interrupt-parent = <&intc>; >>> + interrupt = <125>; >>> + dmas = <&edma 42 >>> + &edma 43 >>> + &edma 44 >>> + &edma 45>; >>> + dma-names = "tx0", "rx0", "tx1", "rx1"; >>> + ti,spi-num-cs = <2>; >>> + status = "disabled"; >>> + }; >>> + >>> wdt2: wdt@44e35000 { >>> compatible = "ti,omap3-wdt"; >>> ti,hwmods = "wd_timer2"; >>> -- >>> 1.7.9.5 >>> >>> >>> _______________________________________________ >>> linux-arm-kernel mailing list >>> linux-arm-kernel@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >>> >> >> >
On 10/31/2012 11:16 AM, Benoit Cousson wrote: > Hi Avinash, > > On 10/30/2012 10:41 AM, Philip, Avinash wrote: >> On Mon, Oct 29, 2012 at 14:40:02, Philip, Avinash wrote: >>> On Thu, Oct 18, 2012 at 18:56:55, Porter, Matt wrote: >>>> Adds AM33XX SPI support for am335x-bone and am335x-evm. >> >> Matt, >> >> Can you build SPI DT patch with DMA support on top of SPI DT patch >> I submitted [1]. With the patch [1] SPI can work on PIO mode. >> So we can have basic SPI support available in 3.8. >> >> Benoit, >> Can you accept the SPI DT patch [1] > > Yes, I've just applied it in for_3.8/dts branch Well, in fact I did not, it does not apply :-( Can you rebase on top of the for_3.8/dts branch? I've just applied the RTC patch on top that was OK. Thanks, Benoit > >> In case if you want I will resubmit a patch with subject line modified. > > No, that's fine. > > Thanks, > Benoit > >> >> Current subject line >> arm/dts: AM33XX: Add SPI device tree data >> >> 1. https://patchwork.kernel.org/patch/1470661/ >> >> Thanks >> Avinash >> >>>> >>>> Signed-off-by: Matt Porter <mporter@ti.com> >>>> --- >>>> arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ >>>> arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ >>>> arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ >>>> 3 files changed, 69 insertions(+) >>>> >>>> diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts >>>> index 5510979..23edfd8 100644 >>>> --- a/arch/arm/boot/dts/am335x-bone.dts >>>> +++ b/arch/arm/boot/dts/am335x-bone.dts >>>> @@ -18,6 +18,17 @@ >>>> reg = <0x80000000 0x10000000>; /* 256 MB */ >>>> }; >>>> >>>> + am3358_pinmux: pinmux@44e10800 { >>>> + spi1_pins: pinmux_spi1_pins { >>>> + pinctrl-single,pins = < >>>> + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ >>>> + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ >>>> + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ >>>> + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ >>>> + >; >>>> + }; >>>> + }; >>>> + >>> >>> Change to am33xx_pinmux. >>> >>>> ocp { >>>> uart1: serial@44e09000 { >>>> status = "okay"; >>>> @@ -84,3 +95,9 @@ >>>> &mmc1 { >>>> vmmc-supply = <&ldo3_reg>; >>>> }; >>>> + >>>> +&spi1 { >>>> + status = "okay"; >>>> + pinctrl-names = "default"; >>>> + pinctrl-0 = <&spi1_pins>; >>>> +}; >>>> diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts >>>> index d63fce8..8d5f660 100644 >>>> --- a/arch/arm/boot/dts/am335x-evm.dts >>>> +++ b/arch/arm/boot/dts/am335x-evm.dts >>>> @@ -124,3 +124,12 @@ >>>> &mmc1 { >>>> vmmc-supply = <&vmmc_reg>; >>>> }; >>>> + >>>> +&spi0 { >>>> + status = "okay"; >>>> + spi-flash@0 { >>>> + compatible = "spansion,s25fl064k", "m25p80"; >>>> + spi-max-frequency = <24000000>; >>>> + reg = <0>; >>>> + }; >>>> +}; >>> >>> In AM335x-evm, SPI flash available in profile #2 (am335x evm specific profiles). >>> So can you drop this changes as if I understood correctly, am335x-evm.dts will be >>> populated for devices present only on profile #0. >>> >>>> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi >>>> index 26a6af7..063ecea 100644 >>>> --- a/arch/arm/boot/dts/am33xx.dtsi >>>> +++ b/arch/arm/boot/dts/am33xx.dtsi >>>> @@ -40,6 +40,15 @@ >>>> }; >>>> }; >>>> >>>> + am3358_pinmux: pinmux@44e10800 { >>>> + compatible = "pinctrl-single"; >>>> + reg = <0x44e10800 0x0238>; >>>> + #address-cells = <1>; >>>> + #size-cells = <0>; >>>> + pinctrl-single,register-width = <32>; >>>> + pinctrl-single,function-mask = <0x7f>; >>>> + }; >>>> + >>> >>> Pin ctrl support already submitted >>> http://git.kernel.org/?p=linux/kernel/git/bcousson/linux-omap-dt.git;a=commitdiff;h=3e0603e905d9ba662e8c1885ecb1d28bc454e448 >>> >>> Thanks >>> Avinash >>> >>>> /* >>>> * XXX: Use a flat representation of the AM33XX interconnect. >>>> * The real AM33XX interconnect network is quite complex.Since >>>> @@ -261,6 +270,40 @@ >>>> status = "disabled"; >>>> }; >>>> >>>> + spi0: spi@48030000 { >>>> + compatible = "ti,omap4-mcspi"; >>>> + ti,hwmods = "spi0"; >>>> + #address-cells = <1>; >>>> + #size-cells = <0>; >>>> + reg = <0x48030000 0x400>; >>>> + interrupt-parent = <&intc>; >>>> + interrupt = <65>; >>>> + dmas = <&edma 16 >>>> + &edma 17 >>>> + &edma 18 >>>> + &edma 19>; >>>> + dma-names = "tx0", "rx0", "tx1", "rx1"; >>>> + ti,spi-num-cs = <2>; >>>> + status = "disabled"; >>>> + }; >>>> + >>>> + spi1: spi@481a0000 { >>>> + compatible = "ti,omap4-mcspi"; >>>> + ti,hwmods = "spi1"; >>>> + #address-cells = <1>; >>>> + #size-cells = <0>; >>>> + reg = <0x481a0000 0x400>; >>>> + interrupt-parent = <&intc>; >>>> + interrupt = <125>; >>>> + dmas = <&edma 42 >>>> + &edma 43 >>>> + &edma 44 >>>> + &edma 45>; >>>> + dma-names = "tx0", "rx0", "tx1", "rx1"; >>>> + ti,spi-num-cs = <2>; >>>> + status = "disabled"; >>>> + }; >>>> + >>>> wdt2: wdt@44e35000 { >>>> compatible = "ti,omap3-wdt"; >>>> ti,hwmods = "wd_timer2"; >>>> -- >>>> 1.7.9.5 >>>> >>>> >>>> _______________________________________________ >>>> linux-arm-kernel mailing list >>>> linux-arm-kernel@lists.infradead.org >>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >>>> >>> >>> >> >
On Wed, Oct 31, 2012 at 16:05:13, Cousson, Benoit wrote: > > On 10/31/2012 11:16 AM, Benoit Cousson wrote: > > Hi Avinash, > > > > On 10/30/2012 10:41 AM, Philip, Avinash wrote: > >> On Mon, Oct 29, 2012 at 14:40:02, Philip, Avinash wrote: > >>> On Thu, Oct 18, 2012 at 18:56:55, Porter, Matt wrote: > >>>> Adds AM33XX SPI support for am335x-bone and am335x-evm. > >> > >> Matt, > >> > >> Can you build SPI DT patch with DMA support on top of SPI DT patch > >> I submitted [1]. With the patch [1] SPI can work on PIO mode. > >> So we can have basic SPI support available in 3.8. > >> > >> Benoit, > >> Can you accept the SPI DT patch [1] > > > > Yes, I've just applied it in for_3.8/dts branch > > Well, in fact I did not, it does not apply :-( > > Can you rebase on top of the for_3.8/dts branch? I've just applied the > RTC patch on top that was OK. Ok. Thanks Avinash > > Thanks, > Benoit > > > > >> In case if you want I will resubmit a patch with subject line modified. > > > > No, that's fine. > > > > Thanks, > > Benoit > > > >> > >> Current subject line > >> arm/dts: AM33XX: Add SPI device tree data > >> > >> 1. https://patchwork.kernel.org/patch/1470661/ > >> > >> Thanks > >> Avinash > >> > >>>> > >>>> Signed-off-by: Matt Porter <mporter@ti.com> > >>>> --- > >>>> arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ > >>>> arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ > >>>> arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ > >>>> 3 files changed, 69 insertions(+) > >>>> > >>>> diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts > >>>> index 5510979..23edfd8 100644 > >>>> --- a/arch/arm/boot/dts/am335x-bone.dts > >>>> +++ b/arch/arm/boot/dts/am335x-bone.dts > >>>> @@ -18,6 +18,17 @@ > >>>> reg = <0x80000000 0x10000000>; /* 256 MB */ > >>>> }; > >>>> > >>>> + am3358_pinmux: pinmux@44e10800 { > >>>> + spi1_pins: pinmux_spi1_pins { > >>>> + pinctrl-single,pins = < > >>>> + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ > >>>> + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ > >>>> + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ > >>>> + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ > >>>> + >; > >>>> + }; > >>>> + }; > >>>> + > >>> > >>> Change to am33xx_pinmux. > >>> > >>>> ocp { > >>>> uart1: serial@44e09000 { > >>>> status = "okay"; > >>>> @@ -84,3 +95,9 @@ > >>>> &mmc1 { > >>>> vmmc-supply = <&ldo3_reg>; > >>>> }; > >>>> + > >>>> +&spi1 { > >>>> + status = "okay"; > >>>> + pinctrl-names = "default"; > >>>> + pinctrl-0 = <&spi1_pins>; > >>>> +}; > >>>> diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts > >>>> index d63fce8..8d5f660 100644 > >>>> --- a/arch/arm/boot/dts/am335x-evm.dts > >>>> +++ b/arch/arm/boot/dts/am335x-evm.dts > >>>> @@ -124,3 +124,12 @@ > >>>> &mmc1 { > >>>> vmmc-supply = <&vmmc_reg>; > >>>> }; > >>>> + > >>>> +&spi0 { > >>>> + status = "okay"; > >>>> + spi-flash@0 { > >>>> + compatible = "spansion,s25fl064k", "m25p80"; > >>>> + spi-max-frequency = <24000000>; > >>>> + reg = <0>; > >>>> + }; > >>>> +}; > >>> > >>> In AM335x-evm, SPI flash available in profile #2 (am335x evm specific profiles). > >>> So can you drop this changes as if I understood correctly, am335x-evm.dts will be > >>> populated for devices present only on profile #0. > >>> > >>>> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi > >>>> index 26a6af7..063ecea 100644 > >>>> --- a/arch/arm/boot/dts/am33xx.dtsi > >>>> +++ b/arch/arm/boot/dts/am33xx.dtsi > >>>> @@ -40,6 +40,15 @@ > >>>> }; > >>>> }; > >>>> > >>>> + am3358_pinmux: pinmux@44e10800 { > >>>> + compatible = "pinctrl-single"; > >>>> + reg = <0x44e10800 0x0238>; > >>>> + #address-cells = <1>; > >>>> + #size-cells = <0>; > >>>> + pinctrl-single,register-width = <32>; > >>>> + pinctrl-single,function-mask = <0x7f>; > >>>> + }; > >>>> + > >>> > >>> Pin ctrl support already submitted > >>> http://git.kernel.org/?p=linux/kernel/git/bcousson/linux-omap-dt.git;a=commitdiff;h=3e0603e905d9ba662e8c1885ecb1d28bc454e448 > >>> > >>> Thanks > >>> Avinash > >>> > >>>> /* > >>>> * XXX: Use a flat representation of the AM33XX interconnect. > >>>> * The real AM33XX interconnect network is quite complex.Since > >>>> @@ -261,6 +270,40 @@ > >>>> status = "disabled"; > >>>> }; > >>>> > >>>> + spi0: spi@48030000 { > >>>> + compatible = "ti,omap4-mcspi"; > >>>> + ti,hwmods = "spi0"; > >>>> + #address-cells = <1>; > >>>> + #size-cells = <0>; > >>>> + reg = <0x48030000 0x400>; > >>>> + interrupt-parent = <&intc>; > >>>> + interrupt = <65>; > >>>> + dmas = <&edma 16 > >>>> + &edma 17 > >>>> + &edma 18 > >>>> + &edma 19>; > >>>> + dma-names = "tx0", "rx0", "tx1", "rx1"; > >>>> + ti,spi-num-cs = <2>; > >>>> + status = "disabled"; > >>>> + }; > >>>> + > >>>> + spi1: spi@481a0000 { > >>>> + compatible = "ti,omap4-mcspi"; > >>>> + ti,hwmods = "spi1"; > >>>> + #address-cells = <1>; > >>>> + #size-cells = <0>; > >>>> + reg = <0x481a0000 0x400>; > >>>> + interrupt-parent = <&intc>; > >>>> + interrupt = <125>; > >>>> + dmas = <&edma 42 > >>>> + &edma 43 > >>>> + &edma 44 > >>>> + &edma 45>; > >>>> + dma-names = "tx0", "rx0", "tx1", "rx1"; > >>>> + ti,spi-num-cs = <2>; > >>>> + status = "disabled"; > >>>> + }; > >>>> + > >>>> wdt2: wdt@44e35000 { > >>>> compatible = "ti,omap3-wdt"; > >>>> ti,hwmods = "wd_timer2"; > >>>> -- > >>>> 1.7.9.5 > >>>> > >>>> > >>>> _______________________________________________ > >>>> linux-arm-kernel mailing list > >>>> linux-arm-kernel@lists.infradead.org > >>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > >>>> > >>> > >>> > >> > > > >
On Sun, Oct 28, 2012 at 05:01:29PM +0530, Sekhar Nori wrote: > On 10/18/2012 6:56 PM, Matt Porter wrote: > > Adds AM33XX SPI support for am335x-bone and am335x-evm. > > > > Signed-off-by: Matt Porter <mporter@ti.com> > > --- > > arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ > > arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ > > arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ > > 3 files changed, 69 insertions(+) > > > > diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts > > index 5510979..23edfd8 100644 > > --- a/arch/arm/boot/dts/am335x-bone.dts > > +++ b/arch/arm/boot/dts/am335x-bone.dts > > @@ -18,6 +18,17 @@ > > reg = <0x80000000 0x10000000>; /* 256 MB */ > > }; > > > > + am3358_pinmux: pinmux@44e10800 { > > + spi1_pins: pinmux_spi1_pins { > > + pinctrl-single,pins = < > > + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ > > + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ > > + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ > > + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ > > + >; > > Is there a single pinmux setting that provides SPI functionality on the > bone headers? Or this is specific to a cape you tested with? No, there are two usable settings for spi1 and one setting for spi0. I'm dropping this from the series since it's specific to how I wired up the homebrew cape I use for spi testing on the Bone. I publish the branch where all these extra "test-specific" patches (that aren't intended to be merged) are at in the cover letter. Anybody that needs context of how/what worked and was tested can grab them there. -Matt
On Thu, Jan 10, 2013 at 01:46:53PM -0600, Nishanth Menon wrote: > On 14:35-20130110, Matt Porter wrote: > > On Sun, Oct 28, 2012 at 05:01:29PM +0530, Sekhar Nori wrote: > > > On 10/18/2012 6:56 PM, Matt Porter wrote: > > > > Adds AM33XX SPI support for am335x-bone and am335x-evm. > > > > > > > > Signed-off-by: Matt Porter <mporter@ti.com> > > > > --- > > > > arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ > > > > arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ > > > > arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ > > > > 3 files changed, 69 insertions(+) > > > > > > > > diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts > > > > index 5510979..23edfd8 100644 > > > > --- a/arch/arm/boot/dts/am335x-bone.dts > > > > +++ b/arch/arm/boot/dts/am335x-bone.dts > > > > @@ -18,6 +18,17 @@ > > > > reg = <0x80000000 0x10000000>; /* 256 MB */ > > > > }; > > > > > > > > + am3358_pinmux: pinmux@44e10800 { > > > > + spi1_pins: pinmux_spi1_pins { > > > > + pinctrl-single,pins = < > > > > + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ > > > > + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ > > > > + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ > minor comment: > doing as a 0x33 is better for both d1, d0 as D0,D1 can be switched between SDI and SDO > as needed with ti,pindir-d0-out-d1-in Yes, thanks. Forgot about the new property and feature even though I told somebody about it yesterday. :) > > > > + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ > > > > + >; > > > > > > Is there a single pinmux setting that provides SPI functionality on the > > > bone headers? Or this is specific to a cape you tested with? > > > > No, there are two usable settings for spi1 and one setting for spi0. > > I'm dropping this from the series since it's specific to how I wired up > > the homebrew cape I use for spi testing on the Bone. I publish the > > branch where all these extra "test-specific" patches (that aren't intended > > to be merged) are at in the cover letter. Anybody that needs context of > > how/what worked and was tested can grab them there. > Possibly dumb question: > Cant we have pre-usable spi configurations? Like spi1_configuration1_pins, > spi2_configuration1_pins, spi0_configuration1_pins? If documented with > P9 pin names in the bone dts, it saves a bit of effort in looking up > pad offset when dealing with capes. Yes, let's introduce these things separately. I plan to reintroduce patches to fix the incorrect 1-based numbering on many of the AM33xx as previous ones were dropped...and I think this makes sense on top of that. -Matt > -- > Regards, > Nishanth Menon > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts index 5510979..23edfd8 100644 --- a/arch/arm/boot/dts/am335x-bone.dts +++ b/arch/arm/boot/dts/am335x-bone.dts @@ -18,6 +18,17 @@ reg = <0x80000000 0x10000000>; /* 256 MB */ }; + am3358_pinmux: pinmux@44e10800 { + spi1_pins: pinmux_spi1_pins { + pinctrl-single,pins = < + 0x190 0x13 /* mcasp0_aclkx.spi1_sclk, OUTPUT_PULLUP | MODE3 */ + 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */ + 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */ + 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */ + >; + }; + }; + ocp { uart1: serial@44e09000 { status = "okay"; @@ -84,3 +95,9 @@ &mmc1 { vmmc-supply = <&ldo3_reg>; }; + +&spi1 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&spi1_pins>; +}; diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts index d63fce8..8d5f660 100644 --- a/arch/arm/boot/dts/am335x-evm.dts +++ b/arch/arm/boot/dts/am335x-evm.dts @@ -124,3 +124,12 @@ &mmc1 { vmmc-supply = <&vmmc_reg>; }; + +&spi0 { + status = "okay"; + spi-flash@0 { + compatible = "spansion,s25fl064k", "m25p80"; + spi-max-frequency = <24000000>; + reg = <0>; + }; +}; diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 26a6af7..063ecea 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -40,6 +40,15 @@ }; }; + am3358_pinmux: pinmux@44e10800 { + compatible = "pinctrl-single"; + reg = <0x44e10800 0x0238>; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0x7f>; + }; + /* * XXX: Use a flat representation of the AM33XX interconnect. * The real AM33XX interconnect network is quite complex.Since @@ -261,6 +270,40 @@ status = "disabled"; }; + spi0: spi@48030000 { + compatible = "ti,omap4-mcspi"; + ti,hwmods = "spi0"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x48030000 0x400>; + interrupt-parent = <&intc>; + interrupt = <65>; + dmas = <&edma 16 + &edma 17 + &edma 18 + &edma 19>; + dma-names = "tx0", "rx0", "tx1", "rx1"; + ti,spi-num-cs = <2>; + status = "disabled"; + }; + + spi1: spi@481a0000 { + compatible = "ti,omap4-mcspi"; + ti,hwmods = "spi1"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x481a0000 0x400>; + interrupt-parent = <&intc>; + interrupt = <125>; + dmas = <&edma 42 + &edma 43 + &edma 44 + &edma 45>; + dma-names = "tx0", "rx0", "tx1", "rx1"; + ti,spi-num-cs = <2>; + status = "disabled"; + }; + wdt2: wdt@44e35000 { compatible = "ti,omap3-wdt"; ti,hwmods = "wd_timer2";
Adds AM33XX SPI support for am335x-bone and am335x-evm. Signed-off-by: Matt Porter <mporter@ti.com> --- arch/arm/boot/dts/am335x-bone.dts | 17 +++++++++++++++ arch/arm/boot/dts/am335x-evm.dts | 9 ++++++++ arch/arm/boot/dts/am33xx.dtsi | 43 +++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+)