Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc54e96b authored by Pavan Anamula's avatar Pavan Anamula
Browse files

mtd: msm_qpic_nand: Adding qpic nand driver



Add msm_qpic_nand driver and supported files,
for QPIC based NAND controller.

Change-Id: I568b8c7ed98afab60fe6a254a4f81aeb46436691
Signed-off-by: default avatarPavan Anamula <pavana@codeaurora.org>
parent da9777c8
Loading
Loading
Loading
Loading
+65 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. Parallel Interface controller (QPIC) for NAND devices

Required properties:
- compatible : "qcom,msm-nand".
- reg : should specify QPIC NANDc and BAM physical address range.
- reg-names : should specify relevant names to each reg property defined.
- interrupts : should specify QPIC/BAM interrupt numbers.
- interrupt-names : should specify relevant names to each interrupts property
  defined.

MTD flash partition layout for NAND devices -

Each partition is represented as a sub-node of the qcom,mtd-partitions device.
Each node's name represents the name of the corresponding partition.

This is now completely optional as the partition information is avaialble from
bootloader.

Optional properties:
- reg : The partition offset and size
- label : The label / name for this partition.
- read-only: This parameter, if present, indicates that this partition
  should only be mounted read-only.
- Refer to "Documentation/devicetree/bindings/arm/msm/msm_bus.txt" for
below optional properties:
	- qcom,msm-bus,name
	- qcom,msm-bus,num-cases
	- qcom,msm-bus,active-only
	- qcom,msm-bus,num-paths
	- qcom,msm-bus,vectors-KBps

Examples:

	qcom,nand@f9af0000 {
		compatible = "qcom,msm-nand";
		reg = <0xf9af0000 0x1000>,
		      <0xf9ac4000 0x8000>;
		reg-names = "nand_phys",
			    "bam_phys";
		interrupts = <0 279 0>;
		interrupt-names = "bam_irq";

		qcom,msm-bus,name = "qpic_nand";
		qcom,msm-bus,num-cases = <1>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps = <91 512 0 0>,
	};

       qcom,mtd-partitions {
	       #address-cells = <1>;
	       #size-cells = <1>;
               partition@0 {
                       label = "boot";
                       reg = <0x0 0x1000>;
		       read-only;
               };
               partition@20000 {
                       label = "userdata";
                       reg = <0x20000 0x1000>;
               };
               partition@40000 {
                       label = "system";
                       reg = <0x40000 0x1000>;
               };
       };
+13 −0
Original line number Diff line number Diff line
@@ -50,6 +50,19 @@ config MTD_MS02NV
	  say M here and read <file:Documentation/kbuild/modules.txt>.
	  The module will be called ms02-nv.

config MTD_MSM_QPIC_NAND
	tristate "MSM QPIC NAND Device Support"
	depends on MTD && ARCH_MSM && !MTD_MSM_NAND
	select CRC16
	select BITREVERSE
	select MTD_NAND_IDS
	default n
	help
	  Support for NAND controller in Qualcomm Technologies, Inc.
	  Parallel Interface controller (QPIC). This new controller
	  supports BAM mode and BCH error correction mechanism. Based on the
	  device capabilities either 4 bit or 8 bit BCH ECC will be used.

config MTD_DATAFLASH
	tristate "Support for AT45xxx DataFlash"
	depends on SPI_MASTER
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ obj-$(CONFIG_MTD_MS02NV) += ms02-nv.o
obj-$(CONFIG_MTD_MTDRAM)	+= mtdram.o
obj-$(CONFIG_MTD_LART)		+= lart.o
obj-$(CONFIG_MTD_BLOCK2MTD)	+= block2mtd.o
obj-$(CONFIG_MTD_MSM_QPIC_NAND) += msm_qpic_nand.o
obj-$(CONFIG_MTD_DATAFLASH)	+= mtd_dataflash.o
obj-$(CONFIG_MTD_M25P80)	+= m25p80.o
obj-$(CONFIG_MTD_SPEAR_SMI)	+= spear_smi.o