I am not sure this is the right place to ask this question but i am asking anyhow since this is only active community I could find to raise this question.
I am trying to mainline to 5.19 kernel, the tablet "Odys Rise10 Quad" which has A33 bundled with 2*8gb H27UCG8T2BTR-BC Hynix NAND chips. The existing script.fex shows a normal connection of the NAND controller, nothing funny: nand0_we = port:PC00<2><default><2><default> nand0_ale = port:PC01<2><default><2><default> nand0_cle = port:PC02<2><default><2><default> nand0_nre = port:PC05<2><default><2><default> nand0_ce1 = port:PC03<2><default><2><default> nand0_ce0 = port:PC04<2><default><2><default> nand0_ce2 = port:PC17<2><default><2><default> nand0_ce3 = port:PC18<2><default><2><default> nand0_rb0 = port:PC06<2><default><2><default> nand0_rb1 = port:PC07<2><default><2><default> nand0_d0 = port:PC08<2><default><2><default> nand0_d1 = port:PC09<2><default><2><default> nand0_d2 = port:PC10<2><default><2><default> nand0_d3 = port:PC11<2><default><2><default> nand0_d4 = port:PC12<2><default><2><default> nand0_d5 = port:PC13<2><default><2><default> nand0_d6 = port:PC14<2><default><2><default> nand0_d7 = port:PC15<2><default><2><default> nand0_ndqs = port:PC16<2><default><2><default> This is inline with reference IO mapping of A33 SOC datasheet. And with the below DTS for my tablet: &nfc { status = "okay"; /* 2*8Gb SKHynix H27UCG8T2BTR-BC */ nand@0 { reg = <0>; allwinner,rb = <0>; nand-ecc-mode = "hw"; nand-ecc-strength = <40>; nand-ecc-step-size = <1024>; }; nand@1 { reg = <1>; allwinner,rb = <1>; nand-ecc-mode = "hw"; nand-ecc-strength = <40>; nand-ecc-step-size = <1024>; }; }; Linux kernel only detects the first NAND chip, the 2nd is not detected. [ 2.553361] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xde [ 2.559746] nand: Hynix NAND 8GiB 3,3V 8-bit *[ 2.564039] nand: 8192 MiB, MLC, erase size: 4096 KiB, page size: 16384, OOB size: 1280* [ 2.572170] Scanning device for bad blocks [ 2.591988] Bad eraseblock 2 at 0x000000800000 . 8.311469] random: crng init done . *[ 24.389050] Bad eraseblock 2047 at 0x0001ffc00000 () (Every block except first and last)* [ 24.394586] mtdblock: MTD device '1c03000.nand-controller' is NAND, please consider using UBI block devices instead. *[ 24.407111] nand: No NAND device found* 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 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 I am scratching my head about this last 3 days and i think i am quite consfused. Any help is appreciated to this lost soul. -- 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/cac5cc9e-717e-43df-954b-ebbd6841fa00n%40googlegroups.com.