Hi Mahmut,

On 10/25/22 07:53, Mahmut Dikçizgi wrote:
> I have noticed in sun8i-a23-a33.dtsi nand controller is only initialized
> with CS0 & RB0 pins, so DTB needs to report the kernel which pins to
> utilize to select chip1.
> 
> sun8i-a23-a33.dtsi:
>         nfc: nand-controller@1c03000 {
>             .
>             pinctrl-0 = <&nand_pins *&nand_cs0_pin &nand_rb0_pin*>;
>             .
>         };
> Knowing that /master/drivers/mtd/nand/raw/sunxi_nand.c only uses <reg>
> index to Chip select, and <allwinner,rb> index to detect busy, how can i
> tell kernel to use PC3 to CS1 & PC7 to RB1?

Since you are using the hardware CS and RB functions (not bit-banging),
those are the only possible choice of pins. All you need to do is select
function number 2 for these pins in the pinctrl.

> Since i am a DTS noob, i tried following in my board dts to override the
> dts and miserably failed:
> 
> pinctrl-names = "chip0pins", "chip1pins"; 
> pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
> pinctrl-1 = <&nand_pins &nand_cs1_pin &nand_rb1_pin>;
> both chips not detected
>
> pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin &nand_pins
> &nand_cs1_pin &nand_rb1_pin>;
> both chips not detected

The "default" pinctrl name is actually important. Only the pinctrl-<n>
entry with that name is applied during boot. So you need:

        pinctrl-names = "default";
        pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin
                     &nand_cs1_pin &nand_rb1_pin>;

Where nand_cs1_pin and nand_rb1_pin reference PC3 and PC7 and the
"nand0" function.

Regards,
Samuel

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/0658d526-8041-958c-706e-5f3b165efd64%40sholland.org.

Reply via email to