microchip,flash-g2

Description

Microchip Flash G2

Microchip G2 driver for Flash

Group g2 NVMCTRL driver supports following hardware peripherals:
  - module name="NVMCTRL" id="03929" version="1a0"

Examples

/*
 * Multiple flash regions in g3 devices are considered as a single block
 * of memory:
 *
 *   - 0x00000000--0x0007FFFF, main flash area
 *   - 0x00400000--0x00401FFF, data flash area
 *
 * The region in between these flash are considered as
 * unimplemented regions and driver would avoid accessing
 * these regions
 *
 * data-flash-start-addr - tarting address of data flash region
 * user-row-start-addr - starting address of user-row
 */

nvmctrl: flash-controller@44002000 {
  compatible = "microchip,nvmctrl-g2";
  reg = <0x41004000 0xa0>;
  /* ... */

  flash0: flash@8000000 {
    reg = <0x0 (DT_SIZE_K(512) + DT_SIZE_K(3584) + DT_SIZE_K(8))>;
    compatible = "microchip,flash-g2", "soc-nv-flash";
    unsupported-region = <0x00080000 0x003fffff>;
    write-block-size = <64>;
    erase-block-size = <256>;
    data-flash-start-addr = <0x00400000>;
    user-row-start-addr = <0x00804000>;
  };
};

Properties

Properties not inherited from the base binding file.

Name

Type

Details

unsupported-region

array

array of unaddressable regions in the given flash area

data-flash-start-addr

int

starting address of data flash region

user-row-start-addr

int

starting address of user-row flash region

erase-block-size

int

address alignment required by flash erase operations

write-block-size

int

address alignment required by flash write operations