[linux-sunxi] Re: [PATCH v6 2/2] mtd: nand: add sunxi NFC dt bindings doc

2014-10-21 Thread Boris Brezillon
Hi Brian,

On Mon, 20 Oct 2014 19:41:34 -0700
Brian Norris computersforpe...@gmail.com wrote:

 Hi Boris,
 
 On Mon, Oct 20, 2014 at 01:45:20PM +0200, Boris Brezillon wrote:
  Add the sunxi NAND Flash Controller dt bindings documentation.
  
  Signed-off-by: Boris Brezillon boris.brezil...@free-electrons.com
  ---
   .../devicetree/bindings/mtd/sunxi-nand.txt | 45 
  ++
   1 file changed, 45 insertions(+)
   create mode 100644 Documentation/devicetree/bindings/mtd/sunxi-nand.txt
  
  diff --git a/Documentation/devicetree/bindings/mtd/sunxi-nand.txt 
  b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt
  new file mode 100644
  index 000..0273adb
  --- /dev/null
  +++ b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt
  @@ -0,0 +1,45 @@
  +Allwinner NAND Flash Controller (NFC)
  +
  +Required properties:
  +- compatible : allwinner,sun4i-a10-nand.
  +- reg : shall contain registers location and length for data and reg.
  +- interrupts : shall define the nand controller interrupt.
  +- #address-cells: shall be set to 1. Encode the nand CS.
  +- #size-cells : shall be set to 0.
  +- clocks : shall reference nand controller clocks.
  +- clock-names : nand controller internal clock names. Shall contain :
  +* ahb : AHB gating clock
  +* mod : nand controller clock
  +
  +Optional children nodes:
  +Children nodes represent the available nand chips.
  +
  +Optional properties:
  +- allwinner,rb : shall contain the native Ready/Busy ids.
  + or
  +- rb-gpios : shall contain the gpios used as R/B pins.
 
 I think you're relying on a named GPIO in your driver (nand-rb). That
 should be documented here.

Actually that's the name I assign to the pin when requesting it, this
has nothing to do with a specific property containing pin names for
specific gpio retrieval (as done for clocks with clock-names).

 
  +- nand-ecc-mode : one of the supported ECC modes (hw, hw_syndrome, 
  soft,
  +  soft_bch or none)
 
 I think you're utilizing an undocumented 'nand-name' property for this
 node in your driver too. Please document it. (That also goes for any
 other undocumented properties I may have missed.)

I'll drop this nand-name property and let the NAND core code choose a
name for the MTD device according to the discovered NAND chip.

Thanks,

Boris



-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

-- 
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.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH v6 2/2] mtd: nand: add sunxi NFC dt bindings doc

2014-10-21 Thread Ezaul Zillmer
OK vi agora V7 vou testar

Em terça-feira, 21 de outubro de 2014 11h13min16s UTC-2, Ezaul Zillmer 
escreveu:

 Hello everyone 

 Boris Brezillon 

 downloaded sunxi-nand-v6 now compiled for Cubieboard2 
 https://github.com/bbrezillon/linux-sunxi.git sunxi b-nand-v6 

 u-boot 
 git clone https://github.com/jwrdegoede/u-boot-b sunxi.git sunxi-wip 


 [1.143903] nand: Could not find valid JEDEC parameter page; aborting 
 [1.150369] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xd7 
 [1.156766] nand: Samsung NAND 4GiB 3.3V 8-bit 
 [1.161214] nand: 4096MiB, MLC, page size: 8192, OOB size: 640 
 [1.167167] sunxi_nand 1c03000.nand: ECC init failed: -22 
 [1.172588] sunxi_nand 1c03000.nand: failed to init nand chips 
 [1.178502] sunxi_nand: probe of 1c03000.nand failed with error -22 

 need some more data?



-- 
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.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH v6 2/2] mtd: nand: add sunxi NFC dt bindings doc

2014-10-21 Thread Boris Brezillon
On Tue, 21 Oct 2014 06:13:16 -0700 (PDT)
Ezaul Zillmer ezaulzill...@gmail.com wrote:

 Hello everyone 
 
 Boris Brezillon 
 
 downloaded sunxi-nand-v6 now compiled for Cubieboard2 
 https://github.com/bbrezillon/linux-sunxi.git sunxi b-nand-v6 
 
 u-boot 
 git clone https://github.com/jwrdegoede/u-boot-b sunxi.git sunxi-wip 
 
 
 [1.143903] nand: Could not find valid JEDEC parameter page; aborting 
 [1.150369] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xd7 
 [1.156766] nand: Samsung NAND 4GiB 3.3V 8-bit 
 [1.161214] nand: 4096MiB, MLC, page size: 8192, OOB size: 640 
 [1.167167] sunxi_nand 1c03000.nand: ECC init failed: -22 
 [1.172588] sunxi_nand 1c03000.nand: failed to init nand chips 
 [1.178502] sunxi_nand: probe of 1c03000.nand failed with error -22 
 
 need some more data?

No, this is still the same problem you had last time you asked:

You haven't defined your NAND chip in the nand_ids table, and thus
strength and size fields of the nand_ecc_ctrl struct are undefined...

You'll have to retrieve the whole READ_ID sequence and add a proper
entry in the nand_ids table (see [1] for an example).

Regards,

Boris

[1]https://github.com/bbrezillon/linux-sunxi/commit/da96d64e6ece81e717bbdcad28caf0e5a9c40995

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

-- 
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.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH v6 2/2] mtd: nand: add sunxi NFC dt bindings doc

2014-10-20 Thread Brian Norris
Hi Boris,

On Mon, Oct 20, 2014 at 01:45:20PM +0200, Boris Brezillon wrote:
 Add the sunxi NAND Flash Controller dt bindings documentation.
 
 Signed-off-by: Boris Brezillon boris.brezil...@free-electrons.com
 ---
  .../devicetree/bindings/mtd/sunxi-nand.txt | 45 
 ++
  1 file changed, 45 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/mtd/sunxi-nand.txt
 
 diff --git a/Documentation/devicetree/bindings/mtd/sunxi-nand.txt 
 b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt
 new file mode 100644
 index 000..0273adb
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt
 @@ -0,0 +1,45 @@
 +Allwinner NAND Flash Controller (NFC)
 +
 +Required properties:
 +- compatible : allwinner,sun4i-a10-nand.
 +- reg : shall contain registers location and length for data and reg.
 +- interrupts : shall define the nand controller interrupt.
 +- #address-cells: shall be set to 1. Encode the nand CS.
 +- #size-cells : shall be set to 0.
 +- clocks : shall reference nand controller clocks.
 +- clock-names : nand controller internal clock names. Shall contain :
 +* ahb : AHB gating clock
 +* mod : nand controller clock
 +
 +Optional children nodes:
 +Children nodes represent the available nand chips.
 +
 +Optional properties:
 +- allwinner,rb : shall contain the native Ready/Busy ids.
 + or
 +- rb-gpios : shall contain the gpios used as R/B pins.

I think you're relying on a named GPIO in your driver (nand-rb). That
should be documented here.

 +- nand-ecc-mode : one of the supported ECC modes (hw, hw_syndrome, 
 soft,
 +  soft_bch or none)

I think you're utilizing an undocumented 'nand-name' property for this
node in your driver too. Please document it. (That also goes for any
other undocumented properties I may have missed.)

 +
 +see Documentation/devicetree/mtd/nand.txt for generic bindings.
 +
 +
 +Examples:
 +nfc: nand@01c03000 {
 + compatible = allwinner,sun4i-a10-nand;
 + reg = 0x01c03000 0x1000;
 + interrupts = 0 37 1;
 + clocks = ahb_gates 13, nand_clk;
 + clock-names = ahb, mod;
 + #address-cells = 1;
 + #size-cells = 0;
 + pinctrl-names = default;
 + pinctrl-0 = nand_pins_a nand_cs0_pins_a nand_rb0_pins_a;
 + status = okay;
 +
 + nand@0 {
 + reg = 0;
 + allwinner,rb = 0;
 + nand-ecc-mode = soft_bch;
 + };
 +};

Brian

-- 
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.
For more options, visit https://groups.google.com/d/optout.