[PATCH v2 8/9] ARM: dts: at91: sam9x60ek: Enable NAND support
Dario Binacchi
dario.binacchi at amarulasolutions.com
Tue Sep 20 10:41:43 CEST 2022
Hi Eugen,
On Thu, Sep 1, 2022 at 7:57 AM <Eugen.Hristev at microchip.com> wrote:
>
> On 8/31/22 5:19 PM, Michael Nazzareno Trimarchi wrote:
> > Hi
> >
> > On Wed, Aug 31, 2022 at 3:31 PM <Eugen.Hristev at microchip.com> wrote:
> >>
> >> On 8/31/22 4:14 PM, Michael Nazzareno Trimarchi wrote:
> >>> Hi
> >>>
> >>> On Mon, Aug 29, 2022 at 8:20 AM Balamanikandan Gunasundar
> >>> <balamanikandan.gunasundar at microchip.com> wrote:
> >>>>
> >>>> Enable the EBI and NAND flash controller. Define the pinctrl and
> >>>> partition table
> >>>>
> >>>> Signed-off-by: Balamanikandan Gunasundar <balamanikandan.gunasundar at microchip.com>
> >>>> ---
> >>>> arch/arm/dts/sam9x60ek.dts | 103 +++++++++++++++++++++++++++++++++++++
> >>>> 1 file changed, 103 insertions(+)
> >>>>
> >>>> diff --git a/arch/arm/dts/sam9x60ek.dts b/arch/arm/dts/sam9x60ek.dts
> >>>> index 54c694bd78..6cb81dd90f 100644
> >>>> --- a/arch/arm/dts/sam9x60ek.dts
> >>>> +++ b/arch/arm/dts/sam9x60ek.dts
> >>>> @@ -80,6 +80,44 @@
> >>>> };
> >>>>
> >>>> pinctrl {
> >>>> + nand {
> >>>
> >>> I can see two tabs here. You don't need it. The indentation go far on the right
> >>>
> >>>> + pinctrl_nand_oe_we: nand-oe-we-0 {
> >>>> + atmel,pins =
> >>>> + <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> >>>> + };
> >>>> +
> >>>> + pinctrl_nand_rb: nand-rb-0 {
> >>>> + atmel,pins =
> >>>> + <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> >>>> + };
> >>>> +
> >>>> + pinctrl_nand_cs: nand-cs-0 {
> >>>> + atmel,pins =
> >>>> + <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> >>>> + };
> >>>> + };
> >>>> +
> >>>> + ebi {
> >>>> + pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
> >>>> + atmel,pins =
> >>>> + <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> >>>> + };
> >>>> +
> >>>> + pinctrl_ebi_addr_nand: ebi-addr-0 {
> >>>> + atmel,pins =
> >>>> + <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> >>>> + AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> >>>> + };
> >>>> + };
> >>>> +
> >>>
> >>> Please remove the ebi and nand block so you have one tab less. Then I
> >>> suggest to align to linux dts and refer to pinctrl instead to create
> >>> another level of indentation
> >>
> >> Hello Michael,
> >>
> >> In Linux I see the nand and ebi block. We have to keep the same DT as in
> >> Linux. Do you agree ?
> >>
> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/at91-sam9x60ek.dts#n378
> >>
> >
> > I have seen it already but I don't think that dtsi is aligned with it.
> > So you don't have pinctrl: pinctrl at 0ffff400 and you can refer
> > to this node as it is. Here the question is if we need to continue to
> > have a no-align dts component inside the pinctrl and add more
> > elements in it. If you look at that file pinctrl_qspi: qspi { is not
> > in any block and for the linux should be even before. It should
> > be coherent in what we have or in what linux have now. This does not
> > block driver review so I think that can be acked by microchip
> > maintainers in this part.
> >
>
> Hi Michael,
>
> I have difficulties to follow your reasoning. Could you detail it a bit
> so I can understand what is the problem you are referring to ?
>
> As I see it, the DT in the patch is aligned with Linux. The nodes are
> identical.
The "pinctrl" node in linux mainline is not a subnode of "apb" but is
referenced.
This improves the indentation. Therefore, it is better to add the NAND
subnodes to a
referenced pinctrl node. In the meantime, I have submitted a patch
that fixes the
indentation for the current subnodes of pinctrl.
Thanks and regards,
Dario
>
> Eugen
>
> > Michael
> >
> >
> >> Eugen
> >>
> >>>
> >>>> pinctrl_qspi: qspi {
> >>>> atmel,pins =
> >>>> <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
> >>> This part can be tab back
> >>>
> >>> Michael
> >>>
> >>>> @@ -106,6 +144,71 @@
> >>>> };
> >>>> };
> >>>>
> >>>> +&ebi {
> >>>> + pinctrl-names = "default";
> >>>> + pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
> >>>> + status = "okay";
> >>>> +
> >>>> + nand_controller: nand-controller {
> >>>> + pinctrl-names = "default";
> >>>> + pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
> >>>> + status = "okay";
> >>>> +
> >>>> + nand at 3 {
> >>>> + reg = <0x3 0x0 0x800000>;
> >>>> + rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
> >>>> + cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
> >>>> + nand-bus-width = <8>;
> >>>> + nand-ecc-mode = "hw";
> >>>> + nand-ecc-strength = <8>;
> >>>> + nand-ecc-step-size = <512>;
> >>>> + nand-on-flash-bbt;
> >>>> + label = "atmel_nand";
> >>>> +
> >>>> + partitions {
> >>>> + compatible = "fixed-partitions";
> >>>> + #address-cells = <1>;
> >>>> + #size-cells = <1>;
> >>>> +
> >>>> + at91bootstrap at 0 {
> >>>> + label = "at91bootstrap";
> >>>> + reg = <0x0 0x40000>;
> >>>> + };
> >>>> +
> >>>> + uboot at 40000 {
> >>>> + label = "u-boot";
> >>>> + reg = <0x40000 0xc0000>;
> >>>> + };
> >>>> +
> >>>> + ubootenvred at 100000 {
> >>>> + label = "U-Boot Env Redundant";
> >>>> + reg = <0x100000 0x40000>;
> >>>> + };
> >>>> +
> >>>> + ubootenv at 140000 {
> >>>> + label = "U-Boot Env";
> >>>> + reg = <0x140000 0x40000>;
> >>>> + };
> >>>> +
> >>>> + dtb at 180000 {
> >>>> + label = "device tree";
> >>>> + reg = <0x180000 0x80000>;
> >>>> + };
> >>>> +
> >>>> + kernel at 200000 {
> >>>> + label = "kernel";
> >>>> + reg = <0x200000 0x600000>;
> >>>> + };
> >>>> +
> >>>> + rootfs at 800000 {
> >>>> + label = "rootfs";
> >>>> + reg = <0x800000 0x1f800000>;
> >>>> + };
> >>>> + };
> >>>> + };
> >>>> + };
> >>>> +};
> >>>> +
> >>>> &macb0 {
> >>>> phy-mode = "rmii";
> >>>> status = "okay";
> >>>> --
> >>>> 2.34.1
> >>>>
> >>>
> >>>
> >>> --
> >>> Michael Nazzareno Trimarchi
> >>> Co-Founder & Chief Executive Officer
> >>> M. +39 347 913 2170
> >>> michael at amarulasolutions.com
> >>> __________________________________
> >>>
> >>> Amarula Solutions BV
> >>> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> >>> T. +31 (0)85 111 9172
> >>> info at amarulasolutions.com
> >>> www.amarulasolutions.com
> >>>
> >>
> >
> >
> > --
> > Michael Nazzareno Trimarchi
> > Co-Founder & Chief Executive Officer
> > M. +39 347 913 2170
> > michael at amarulasolutions.com
> > __________________________________
> >
> > Amarula Solutions BV
> > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> > T. +31 (0)85 111 9172
> > info at amarulasolutions.com
> > www.amarulasolutions.com
> >
>
--
Dario Binacchi
Embedded Linux Developer
dario.binacchi at amarulasolutions.com
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info at amarulasolutions.com
www.amarulasolutions.com
More information about the U-Boot
mailing list