Hi Cédric,

> -----Original Message-----
> From: Cédric Le Goater <c...@kaod.org>
> Sent: Friday, July 1, 2022 5:42 PM
> To: Chin-Ting Kuo <chin-ting_...@aspeedtech.com>; ChiaWei Wang
> <chiawei_w...@aspeedtech.com>; lu...@denx.de; sean...@gmail.com;
> Ryan Chen <ryan_c...@aspeedtech.com>; BMC-SW
> <bmc...@aspeedtech.com>; ja...@amarulasolutions.com; vigne...@ti.com;
> u-boot@lists.denx.de; p.ya...@ti.com; Joel Stanley <j...@jms.id.au>
> Subject: Re: [v4 06/12] arm: dts: aspeed: Update SPI flash node settings
> 
> On 5/24/22 07:56, Chin-Ting Kuo wrote:
> > For both AST2500 and AST2600, there are three SPI controllers,
> > FMC(Firmware Memory Controller),
> > SPI1 and SPI2. The clock source is HCLK. Following is the basic
> > information for ASPEED SPI controller.
> >
> > AST2500:
> >    - FMC:
> >        CS number: 3
> >        controller reg: 0x1e620000 - 0x1e62ffff
> >        decoded address: 0x20000000 - 0x2fffffff
> >
> >    - SPI1:
> >        CS number: 2
> >        controller reg: 0x1e630000 - 0x1e630fff
> >        decoded address: 0x30000000 - 0x37ffffff
> >
> >    - SPI2:
> >        CS number: 2
> >        controller reg: 0x1e631000 - 0x1e631fff
> >        decoded address: 0x38000000 - 0x3fffffff
> >
> > AST2600:
> >    - FMC:
> >        CS number: 3
> >        controller reg: 0x1e620000 - 0x1e62ffff
> >        decoded address: 0x20000000 - 0x2fffffff
> >
> >    - SPI1:
> >        CS number: 2
> >        controller reg: 0x1e630000 - 0x1e630fff
> >        decoded address: 0x30000000 - 0x3fffffff
> >
> >    - SPI2:
> >        CS number: 3
> >        controller reg: 0x1e631000 - 0x1e631fff
> >        decoded address: 0x50000000 - 0x5fffffff
> >
> > Signed-off-by: Chin-Ting Kuo <chin-ting_...@aspeedtech.com>
> 
> I might be wrong for the comment I did on 'num-cs' in the patch adding the
> driver. Joel, what's your opinion ? Hard coded in the driver or a property in 
> the
> DT ?
> 

Do you mean " num_cs" or "max-cs" here?
If "num_cs", I think that it should be detected during runtime, as the original 
implementation.
If "max-cs", I think that both hard coded or a property in the DT are okay.


Thanks.

Chin-Ting

> Thanks,
> 
> C.
> 
> > ---
> >   arch/arm/dts/ast2500-evb.dts | 33
> +++++++++++++++++++++++++++++++++
> >   arch/arm/dts/ast2500.dtsi    | 23 ++++++++++++++++-------
> >   arch/arm/dts/ast2600-evb.dts |  8 --------
> >   arch/arm/dts/ast2600.dtsi    | 34 +++++++++++++++++++---------------
> >   4 files changed, 68 insertions(+), 30 deletions(-)
> >
> > diff --git a/arch/arm/dts/ast2500-evb.dts
> > b/arch/arm/dts/ast2500-evb.dts index 4796ed445f..c6b7675902 100644
> > --- a/arch/arm/dts/ast2500-evb.dts
> > +++ b/arch/arm/dts/ast2500-evb.dts
> > @@ -73,3 +73,36 @@
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&pinctrl_sd2_default>;
> >   };
> > +
> > +&fmc {
> > +   status = "okay";
> > +   pinctrl-names = "default";
> > +   pinctrl-0 = <&pinctrl_fwspics1_default>;
> > +
> > +   flash@0 {
> > +           status = "okay";
> > +           spi-max-frequency = <50000000>;
> > +           spi-tx-bus-width = <2>;
> > +           spi-rx-bus-width = <2>;
> > +   };
> > +
> > +   flash@1 {
> > +           status = "okay";
> > +           spi-max-frequency = <50000000>;
> > +           spi-tx-bus-width = <2>;
> > +           spi-rx-bus-width = <2>;
> > +   };
> > +};
> > +
> > +&spi1 {
> > +   status = "okay";
> > +   pinctrl-names = "default";
> > +   pinctrl-0 = <&pinctrl_spi1cs1_default>;
> > +
> > +   flash@0 {
> > +           status = "okay";
> > +           spi-max-frequency = <50000000>;
> > +           spi-tx-bus-width = <2>;
> > +           spi-rx-bus-width = <2>;
> > +   };
> > +};
> > diff --git a/arch/arm/dts/ast2500.dtsi b/arch/arm/dts/ast2500.dtsi
> > index ee66ef6704..d78a53aeb7 100644
> > --- a/arch/arm/dts/ast2500.dtsi
> > +++ b/arch/arm/dts/ast2500.dtsi
> > @@ -57,23 +57,26 @@
> >             ranges;
> >
> >             fmc: flash-controller@1e620000 {
> > -                   reg = < 0x1e620000 0xc4
> > -                           0x20000000 0x10000000 >;
> > +                   reg = <0x1e620000 0xc4>, <0x20000000 0x10000000>;
> >                     #address-cells = <1>;
> >                     #size-cells = <0>;
> >                     compatible = "aspeed,ast2500-fmc";
> > +                   clocks = <&scu ASPEED_CLK_AHB>;
> > +                   num-cs = <3>;
> >                     status = "disabled";
> > -                   interrupts = <19>;
> > +
> >                     flash@0 {
> >                             reg = < 0 >;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@1 {
> >                             reg = < 1 >;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@2 {
> >                             reg = < 2 >;
> >                             compatible = "jedec,spi-nor";
> > @@ -82,17 +85,20 @@
> >             };
> >
> >             spi1: flash-controller@1e630000 {
> > -                   reg = < 0x1e630000 0xc4
> > -                           0x30000000 0x08000000 >;
> > +                   reg = <0x1e630000 0xc4>, <0x30000000 0x08000000>;
> >                     #address-cells = <1>;
> >                     #size-cells = <0>;
> >                     compatible = "aspeed,ast2500-spi";
> > +                   clocks = <&scu ASPEED_CLK_AHB>;
> > +                   num-cs = <2>;
> >                     status = "disabled";
> > +
> >                     flash@0 {
> >                             reg = < 0 >;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@1 {
> >                             reg = < 1 >;
> >                             compatible = "jedec,spi-nor";
> > @@ -101,17 +107,20 @@
> >             };
> >
> >             spi2: flash-controller@1e631000 {
> > -                   reg = < 0x1e631000 0xc4
> > -                           0x38000000 0x08000000 >;
> > +                   reg = <0x1e631000 0xc4>, <0x38000000 0x08000000>;
> >                     #address-cells = <1>;
> >                     #size-cells = <0>;
> >                     compatible = "aspeed,ast2500-spi";
> > +                   clocks = <&scu ASPEED_CLK_AHB>;
> > +                   num-cs = <2>;
> >                     status = "disabled";
> > +
> >                     flash@0 {
> >                             reg = < 0 >;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@1 {
> >                             reg = < 1 >;
> >                             compatible = "jedec,spi-nor";
> > diff --git a/arch/arm/dts/ast2600-evb.dts
> > b/arch/arm/dts/ast2600-evb.dts index 0d65054313..c1965e9093 100644
> > --- a/arch/arm/dts/ast2600-evb.dts
> > +++ b/arch/arm/dts/ast2600-evb.dts
> > @@ -72,12 +72,10 @@
> >
> >   &fmc {
> >     status = "okay";
> > -
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&pinctrl_fmcquad_default>;
> >
> >     flash@0 {
> > -           compatible = "spi-flash", "sst,w25q256";
> >             status = "okay";
> >             spi-max-frequency = <50000000>;
> >             spi-tx-bus-width = <4>;
> > @@ -85,7 +83,6 @@
> >     };
> >
> >     flash@1 {
> > -           compatible = "spi-flash", "sst,w25q256";
> >             status = "okay";
> >             spi-max-frequency = <50000000>;
> >             spi-tx-bus-width = <4>;
> > @@ -93,7 +90,6 @@
> >     };
> >
> >     flash@2 {
> > -           compatible = "spi-flash", "sst,w25q256";
> >             status = "okay";
> >             spi-max-frequency = <50000000>;
> >             spi-tx-bus-width = <4>;
> > @@ -103,14 +99,12 @@
> >
> >   &spi1 {
> >     status = "okay";
> > -
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&pinctrl_spi1_default &pinctrl_spi1abr_default
> >                     &pinctrl_spi1cs1_default &pinctrl_spi1wp_default
> >                     &pinctrl_spi1wp_default &pinctrl_spi1quad_default>;
> >
> >     flash@0 {
> > -           compatible = "spi-flash", "sst,w25q256";
> >             status = "okay";
> >             spi-max-frequency = <50000000>;
> >             spi-tx-bus-width = <4>;
> > @@ -120,13 +114,11 @@
> >
> >   &spi2 {
> >     status = "okay";
> > -
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&pinctrl_spi2_default &pinctrl_spi2cs1_default
> >                     &pinctrl_spi2cs2_default &pinctrl_spi2quad_default>;
> >
> >     flash@0 {
> > -           compatible = "spi-flash", "sst,w25q256";
> >             status = "okay";
> >             spi-max-frequency = <50000000>;
> >             spi-tx-bus-width = <4>;
> > diff --git a/arch/arm/dts/ast2600.dtsi b/arch/arm/dts/ast2600.dtsi
> > index 64074309b7..dd36f55f20 100644
> > --- a/arch/arm/dts/ast2600.dtsi
> > +++ b/arch/arm/dts/ast2600.dtsi
> > @@ -129,74 +129,78 @@
> >             };
> >
> >             fmc: flash-controller@1e620000 {
> > -                   reg = < 0x1e620000 0xc4
> > -                           0x20000000 0x10000000 >;
> > +                   reg = <0x1e620000 0xc4>, <0x20000000 0x10000000>;
> >                     #address-cells = <1>;
> >                     #size-cells = <0>;
> >                     compatible = "aspeed,ast2600-fmc";
> >                     status = "disabled";
> > -                   interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
> >                     clocks = <&scu ASPEED_CLK_AHB>;
> >                     num-cs = <3>;
> > +
> >                     flash@0 {
> > -                           reg = < 0 >;
> > +                           reg = <0>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@1 {
> > -                           reg = < 1 >;
> > +                           reg = <1>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@2 {
> > -                           reg = < 2 >;
> > +                           reg = <2>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> >             };
> >
> >             spi1: flash-controller@1e630000 {
> > -                   reg = < 0x1e630000 0xc4
> > -                           0x30000000 0x08000000 >;
> > +                   reg = <0x1e630000 0xc4>, <0x30000000 0x10000000>;
> >                     #address-cells = <1>;
> >                     #size-cells = <0>;
> >                     compatible = "aspeed,ast2600-spi";
> >                     clocks = <&scu ASPEED_CLK_AHB>;
> >                     num-cs = <2>;
> >                     status = "disabled";
> > +
> >                     flash@0 {
> > -                           reg = < 0 >;
> > +                           reg = <0>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@1 {
> > -                           reg = < 1 >;
> > +                           reg = <1>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> >             };
> >
> >             spi2: flash-controller@1e631000 {
> > -                   reg = < 0x1e631000 0xc4
> > -                           0x50000000 0x08000000 >;
> > +                   reg = <0x1e631000 0xc4>, <0x50000000 0x10000000>;
> >                     #address-cells = <1>;
> >                     #size-cells = <0>;
> >                     compatible = "aspeed,ast2600-spi";
> >                     clocks = <&scu ASPEED_CLK_AHB>;
> >                     num-cs = <3>;
> >                     status = "disabled";
> > +
> >                     flash@0 {
> > -                           reg = < 0 >;
> > +                           reg = <0>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@1 {
> > -                           reg = < 1 >;
> > +                           reg = <1>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };
> > +
> >                     flash@2 {
> > -                           reg = < 2 >;
> > +                           reg = <2>;
> >                             compatible = "jedec,spi-nor";
> >                             status = "disabled";
> >                     };

Reply via email to