mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'mtd/for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux
Pull mtd updates from Miquel Raynal:
"MTD core changes:
- Fix refcount error in del_mtd_device()
- Fix possible resource leak in init_mtd()
- Set ROOT_DEV for partitions marked as rootfs in DT
- Describe marking rootfs partitions in the bindings
- Fix device name leak when register device fails in add_mtd_device()
- Try to find OF node for every MTD partition
- simplify (a bit) code find partition-matching dynamic OF node
MTD driver changes:
- pxa2xx-flash maps: fix memory leak in probe
- BCM parser: refer to ARCH_BCMBCA instead of ARCH_BCM4908
- lpddr2_nvm: Fix possible null-ptr-deref
- inftlcore: fix repeated words in comments
- lart: remove driver
- tplink:
- Add TP-Link SafeLoader partitions table parser and bindings
- Describe TP-Link SafeLoader parser
- Describe TP-Link SafeLoader dynamic subpartitions
- mtdoops:
- Panic caused mtdoops to call mtdoops_erase function immediately
- Add mtdoops_erase function and move mtdoops_inc_counter after it
- Change printk() to counterpart pr_ functions
MTD binding cleanup:
- Fixed-partitions: Fix 'sercomm,scpart-id' schema
- Standardize the style in the examples
- Drop object types when referencing other files
- Argue in favor of keeping additionalProperties set to true
- NVMEM-cells:
- Inherit from MTD partitions
- Drop range property from example
- Partitions:
- Change qcom,smem-part partition type
- Constrain the list of parsers
- Physmap: Reuse the generic definitions
- SPI-NOR: Drop common properties
- Sunxi-nand: Add an example to validate the bindings
- Onenand: Mention the expected node name
- Ingenic: Mark partitions in the controller node as deprecated
- NAND:
- Standardize the child node name
- Drop common properties already defined in generic files
- nand-chip.yaml should reference mtd.yaml
- Remove useless file about partitions
- Clarify all partition subnodes
SPI NOR core changes:
- Add support for flash reset using the dt reset-gpios property.
- Update hwcaps.mask to include 8D-8D-8D read and page program ops
when xSPI profile 1.0 table is defined.
- Bypass zero erase size in spi_nor_find_best_erase_type().
- Fix select_uniform_erase to skip 0 erase size
- Add generic flash driver. If a flash is not found in the flash_info
array, fall back to the generic flash driver which is described
solely by the flash's SFDP tables.
- Fix the number of bytes for the dummy cycles in
spi_nor_spimem_check_readop().
- Introduce SPI_NOR_QUAD_PP flag, as PP_1_1_4 is not SFDP
discoverable.
SPI NOR manufacturer drivers changes:
- Spansion:
- use PARSE_SFDP for s28hs512t,
- add support for s28hl512t, s28hl01gt, and s28hs01gt.
- Gigadevice: Replace default_init() with post_bfpt() for gd25q256.
- Micron - ST: Enable locking for mt25qu256a.
- Winbond: Add support for W25Q512NW-IQ.
- ISSI: Use PARSE_SFDP and SPI_NOR_QUAD_PP.
Raw NAND core changes:
- Drop obsolete dependencies on COMPILE_TEST
- MAINTAINERS: rectify entry for MESON NAND controller bindings
- Drop EXPORT_SYMBOL_GPL for nanddev_erase()
Raw NAND driver changes:
- marvell: Enable NFC/DEVBUS arbiter
- gpmi: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync
- mpc5121: Replace NO_IRQ by 0
- lpc32xx_{slc,mlc}:
- Switch to using pm_ptr()
- Switch to using gpiod API
- lpc32xx_mlc: Switch to using pm_ptr()
- cadence: Support 64-bit slave dma interface
- rockchip: Describe rk3128-nfc in the bindings
- brcmnand: Update interrupts description in the bindings
SPI-NAND driver changes:
- winbond:
- Add Winbond W25N02KV flash support
- Fix flash identification"
* tag 'mtd/for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (76 commits)
mtd: rawnand: Drop obsolete dependencies on COMPILE_TEST
mtd: maps: pxa2xx-flash: fix memory leak in probe
mtd: core: Fix refcount error in del_mtd_device()
mtd: spi-nor: add SFDP fixups for Quad Page Program
mtd: spi-nor: issi: is25wp256: Init flash based on SFDP
mtd: spi-nor: winbond: add support for W25Q512NW-IQ
mtd: spi-nor: micron-st: Enable locking for mt25qu256a
mtd: spi-nor: Fix the number of bytes for the dummy cycles
mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with gd25q256_post_bfpt
mtd: spi-nor: Fix formatting in spi_nor_read_raw() kerneldoc comment
mtd: spi-nor: sysfs: print JEDEC ID for generic flash driver
mtd: spi-nor: add generic flash driver
mtd: spi-nor: fix select_uniform_erase to skip 0 erase size
mtd: spi-nor: move function declaration out of sfdp.h
mtd: spi-nor: remember full JEDEC flash ID
mtd: spi-nor: sysfs: hide manufacturer if it is not set
mtd: spi-nor: hide jedec_id sysfs attribute if not present
mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type()
mtd: rawnand: marvell: Enable NFC/DEVBUS arbiter
mtd: parsers: refer to ARCH_BCMBCA instead of ARCH_BCM4908
...
This commit is contained in:
@@ -5,6 +5,9 @@ Contact: linux-mtd@lists.infradead.org
|
||||
Description: (RO) The JEDEC ID of the SPI NOR flash as reported by the
|
||||
flash device.
|
||||
|
||||
The attribute is not present if the flash doesn't support
|
||||
the "Read JEDEC ID" command (9Fh). This is the case for
|
||||
non-JEDEC compliant flashes.
|
||||
|
||||
What: /sys/bus/spi/devices/.../spi-nor/manufacturer
|
||||
Date: April 2021
|
||||
@@ -12,6 +15,9 @@ KernelVersion: 5.14
|
||||
Contact: linux-mtd@lists.infradead.org
|
||||
Description: (RO) Manufacturer of the SPI NOR flash.
|
||||
|
||||
The attribute is not present if the flash device isn't
|
||||
known to the kernel and is only probed by its SFDP
|
||||
tables.
|
||||
|
||||
What: /sys/bus/spi/devices/.../spi-nor/partname
|
||||
Date: April 2021
|
||||
|
||||
@@ -14,9 +14,6 @@ maintainers:
|
||||
- Maxime Ripard <mripard@kernel.org>
|
||||
|
||||
properties:
|
||||
"#address-cells": true
|
||||
"#size-cells": true
|
||||
|
||||
compatible:
|
||||
enum:
|
||||
- allwinner,sun4i-a10-nand
|
||||
@@ -49,12 +46,8 @@ properties:
|
||||
dma-names:
|
||||
const: rxtx
|
||||
|
||||
pinctrl-names: true
|
||||
|
||||
patternProperties:
|
||||
"^pinctrl-[0-9]+$": true
|
||||
|
||||
"^nand@[a-f0-9]+$":
|
||||
"^nand@[a-f0-9]$":
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
@@ -91,6 +84,29 @@ required:
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/sun6i-rtc.h>
|
||||
#include <dt-bindings/clock/sun8i-a23-a33-ccu.h>
|
||||
#include <dt-bindings/reset/sun8i-a23-a33-ccu.h>
|
||||
|
||||
nand-controller@1c03000 {
|
||||
compatible = "allwinner,sun8i-a23-nand-controller";
|
||||
reg = <0x01c03000 0x1000>;
|
||||
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
|
||||
clock-names = "ahb", "mod";
|
||||
resets = <&ccu RST_BUS_NAND>;
|
||||
reset-names = "ahb";
|
||||
dmas = <&dma 5>;
|
||||
dma-names = "rxtx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
@@ -35,9 +35,6 @@ properties:
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells": true
|
||||
"#size-cells": true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@@ -45,7 +42,7 @@ required:
|
||||
- clock-names
|
||||
- interrupts
|
||||
|
||||
additionalProperties: true
|
||||
unevaluatedProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
||||
@@ -34,20 +34,20 @@ unevaluatedProperties: false
|
||||
examples:
|
||||
- |
|
||||
smcc: memory-controller@e000e000 {
|
||||
compatible = "arm,pl353-smc-r2p1", "arm,primecell";
|
||||
reg = <0xe000e000 0x0001000>;
|
||||
clock-names = "memclk", "apb_pclk";
|
||||
clocks = <&clkc 11>, <&clkc 44>;
|
||||
ranges = <0x0 0x0 0xe1000000 0x1000000 /* Nand CS region */
|
||||
0x1 0x0 0xe2000000 0x2000000 /* SRAM/NOR CS0 region */
|
||||
0x2 0x0 0xe4000000 0x2000000>; /* SRAM/NOR CS1 region */
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
compatible = "arm,pl353-smc-r2p1", "arm,primecell";
|
||||
reg = <0xe000e000 0x0001000>;
|
||||
clock-names = "memclk", "apb_pclk";
|
||||
clocks = <&clkc 11>, <&clkc 44>;
|
||||
ranges = <0x0 0x0 0xe1000000 0x1000000 /* Nand CS region */
|
||||
0x1 0x0 0xe2000000 0x2000000 /* SRAM/NOR CS0 region */
|
||||
0x2 0x0 0xe4000000 0x2000000>; /* SRAM/NOR CS1 region */
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
||||
nfc0: nand-controller@0,0 {
|
||||
compatible = "arm,pl353-nand-r2p1";
|
||||
reg = <0 0 0x1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
nfc0: nand-controller@0,0 {
|
||||
compatible = "arm,pl353-nand-r2p1";
|
||||
reg = <0 0 0x1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -45,10 +45,8 @@ Optional properties:
|
||||
- atmel,rb: an integer identifying the native Ready/Busy pin. Only meaningful
|
||||
on sama5 SoCs.
|
||||
|
||||
All generic properties described in
|
||||
Documentation/devicetree/bindings/mtd/{common,nand}.txt also apply to the NAND
|
||||
device node, and NAND partitions should be defined under the NAND node as
|
||||
described in Documentation/devicetree/bindings/mtd/partition.txt.
|
||||
All generic properties are described in the generic yaml files under
|
||||
Documentation/devicetree/bindings/mtd/.
|
||||
|
||||
* ECC engine (PMECC) bindings:
|
||||
|
||||
|
||||
@@ -86,15 +86,15 @@ properties:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: NAND CTLRDY interrupt
|
||||
- description: FLASH_DMA_DONE if flash DMA is available
|
||||
- description: FLASH_EDU_DONE if EDU is available
|
||||
- description: FLASH_DMA_DONE (if flash DMA is available) or FLASH_EDU_DONE (if EDU is available)
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: nand_ctlrdy
|
||||
- const: flash_dma_done
|
||||
- const: flash_edu_done
|
||||
- enum:
|
||||
- flash_dma_done
|
||||
- flash_edu_done
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
@@ -173,6 +173,13 @@ allOf:
|
||||
- const: nand
|
||||
- const: iproc-idm
|
||||
- const: iproc-ext
|
||||
- if:
|
||||
properties:
|
||||
interrupts:
|
||||
minItems: 2
|
||||
then:
|
||||
required:
|
||||
- interrupt-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -184,51 +191,52 @@ required:
|
||||
examples:
|
||||
- |
|
||||
nand-controller@f0442800 {
|
||||
compatible = "brcm,brcmnand-v7.0", "brcm,brcmnand";
|
||||
reg = <0xf0442800 0x600>,
|
||||
<0xf0443000 0x100>;
|
||||
reg-names = "nand", "flash-dma";
|
||||
interrupt-parent = <&hif_intr2_intc>;
|
||||
interrupts = <24>, <4>;
|
||||
compatible = "brcm,brcmnand-v7.0", "brcm,brcmnand";
|
||||
reg = <0xf0442800 0x600>,
|
||||
<0xf0443000 0x100>;
|
||||
reg-names = "nand", "flash-dma";
|
||||
interrupt-parent = <&hif_intr2_intc>;
|
||||
interrupts = <24>, <4>;
|
||||
interrupt-names = "nand_ctlrdy", "flash_dma_done";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
nand@1 {
|
||||
compatible = "brcm,nandcs";
|
||||
reg = <1>; // Chip select 1
|
||||
nand-on-flash-bbt;
|
||||
nand-ecc-strength = <12>;
|
||||
nand-ecc-step-size = <512>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
nand@1 {
|
||||
compatible = "brcm,nandcs";
|
||||
reg = <1>; // Chip select 1
|
||||
nand-on-flash-bbt;
|
||||
nand-ecc-strength = <12>;
|
||||
nand-ecc-step-size = <512>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
#size-cells = <1>;
|
||||
};
|
||||
};
|
||||
- |
|
||||
nand-controller@10000200 {
|
||||
compatible = "brcm,nand-bcm63168", "brcm,nand-bcm6368",
|
||||
"brcm,brcmnand-v4.0", "brcm,brcmnand";
|
||||
reg = <0x10000200 0x180>,
|
||||
<0x100000b0 0x10>,
|
||||
<0x10000600 0x200>;
|
||||
reg-names = "nand", "nand-int-base", "nand-cache";
|
||||
interrupt-parent = <&periph_intc>;
|
||||
interrupts = <50>;
|
||||
clocks = <&periph_clk 20>;
|
||||
clock-names = "nand";
|
||||
compatible = "brcm,nand-bcm63168", "brcm,nand-bcm6368",
|
||||
"brcm,brcmnand-v4.0", "brcm,brcmnand";
|
||||
reg = <0x10000200 0x180>,
|
||||
<0x100000b0 0x10>,
|
||||
<0x10000600 0x200>;
|
||||
reg-names = "nand", "nand-int-base", "nand-cache";
|
||||
interrupt-parent = <&periph_intc>;
|
||||
interrupts = <50>;
|
||||
clocks = <&periph_clk 20>;
|
||||
clock-names = "nand";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
nand@0 {
|
||||
compatible = "brcm,nandcs";
|
||||
reg = <0>;
|
||||
nand-on-flash-bbt;
|
||||
nand-ecc-strength = <1>;
|
||||
nand-ecc-step-size = <512>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
nand@0 {
|
||||
compatible = "brcm,nandcs";
|
||||
reg = <0>;
|
||||
nand-on-flash-bbt;
|
||||
nand-ecc-strength = <1>;
|
||||
nand-ecc-step-size = <512>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
#size-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -145,6 +145,6 @@ examples:
|
||||
#size-cells = <0>;
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -32,9 +32,9 @@ properties:
|
||||
|
||||
partitions:
|
||||
type: object
|
||||
deprecated: true
|
||||
description:
|
||||
Node containing description of fixed partitions.
|
||||
See Documentation/devicetree/bindings/mtd/partition.txt
|
||||
|
||||
patternProperties:
|
||||
"^nand@[a-f0-9]$":
|
||||
@@ -58,78 +58,78 @@ examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/ingenic,jz4780-cgu.h>
|
||||
memory-controller@13410000 {
|
||||
compatible = "ingenic,jz4780-nemc";
|
||||
reg = <0x13410000 0x10000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <1 0 0x1b000000 0x1000000>,
|
||||
<2 0 0x1a000000 0x1000000>,
|
||||
<3 0 0x19000000 0x1000000>,
|
||||
<4 0 0x18000000 0x1000000>,
|
||||
<5 0 0x17000000 0x1000000>,
|
||||
<6 0 0x16000000 0x1000000>;
|
||||
compatible = "ingenic,jz4780-nemc";
|
||||
reg = <0x13410000 0x10000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <1 0 0x1b000000 0x1000000>,
|
||||
<2 0 0x1a000000 0x1000000>,
|
||||
<3 0 0x19000000 0x1000000>,
|
||||
<4 0 0x18000000 0x1000000>,
|
||||
<5 0 0x17000000 0x1000000>,
|
||||
<6 0 0x16000000 0x1000000>;
|
||||
|
||||
clocks = <&cgu JZ4780_CLK_NEMC>;
|
||||
clocks = <&cgu JZ4780_CLK_NEMC>;
|
||||
|
||||
nand-controller@1 {
|
||||
compatible = "ingenic,jz4780-nand";
|
||||
reg = <1 0 0x1000000>;
|
||||
nand-controller@1 {
|
||||
compatible = "ingenic,jz4780-nand";
|
||||
reg = <1 0 0x1000000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ecc-engine = <&bch>;
|
||||
ecc-engine = <&bch>;
|
||||
|
||||
ingenic,nemc-tAS = <10>;
|
||||
ingenic,nemc-tAH = <5>;
|
||||
ingenic,nemc-tBP = <10>;
|
||||
ingenic,nemc-tAW = <15>;
|
||||
ingenic,nemc-tSTRV = <100>;
|
||||
ingenic,nemc-tAS = <10>;
|
||||
ingenic,nemc-tAH = <5>;
|
||||
ingenic,nemc-tBP = <10>;
|
||||
ingenic,nemc-tAW = <15>;
|
||||
ingenic,nemc-tSTRV = <100>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pins_nemc>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pins_nemc>;
|
||||
|
||||
nand@1 {
|
||||
reg = <1>;
|
||||
nand@1 {
|
||||
reg = <1>;
|
||||
|
||||
nand-ecc-step-size = <1024>;
|
||||
nand-ecc-strength = <24>;
|
||||
nand-ecc-mode = "hw";
|
||||
nand-on-flash-bbt;
|
||||
nand-ecc-step-size = <1024>;
|
||||
nand-ecc-strength = <24>;
|
||||
nand-ecc-mode = "hw";
|
||||
nand-on-flash-bbt;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pins_nemc_cs1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pins_nemc_cs1>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot-spl";
|
||||
reg = <0x0 0x0 0x0 0x800000>;
|
||||
partition@0 {
|
||||
label = "u-boot-spl";
|
||||
reg = <0x0 0x0 0x0 0x800000>;
|
||||
};
|
||||
|
||||
partition@800000 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x800000 0x0 0x200000>;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x0 0xa00000 0x0 0x200000>;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "boot";
|
||||
reg = <0x0 0xc00000 0x0 0x4000000>;
|
||||
};
|
||||
|
||||
partition@4c00000 {
|
||||
label = "system";
|
||||
reg = <0x0 0x4c00000 0x1 0xfb400000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@800000 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x800000 0x0 0x200000>;
|
||||
};
|
||||
|
||||
partition@a00000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x0 0xa00000 0x0 0x200000>;
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "boot";
|
||||
reg = <0x0 0xc00000 0x0 0x4000000>;
|
||||
};
|
||||
|
||||
partition@4c00000 {
|
||||
label = "system";
|
||||
reg = <0x0 0x4c00000 0x1 0xfb400000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -39,14 +39,8 @@ properties:
|
||||
- const: tx
|
||||
- const: rx
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^nand@[a-f0-9]+$":
|
||||
"^nand@[a-f0-9]$":
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
@@ -67,33 +61,31 @@ required:
|
||||
- clocks
|
||||
- dmas
|
||||
- dma-names
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
nand-controller@e0f00000 {
|
||||
compatible = "intel,lgm-ebunand";
|
||||
reg = <0xe0f00000 0x100>,
|
||||
<0xe1000000 0x300>,
|
||||
<0xe1400000 0x8000>,
|
||||
<0xe1c00000 0x1000>,
|
||||
<0x17400000 0x4>,
|
||||
<0x17c00000 0x4>;
|
||||
reg-names = "ebunand", "hsnand", "nand_cs0", "nand_cs1",
|
||||
"addr_sel0", "addr_sel1";
|
||||
clocks = <&cgu0 125>;
|
||||
dmas = <&dma0 8>, <&dma0 9>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "intel,lgm-ebunand";
|
||||
reg = <0xe0f00000 0x100>,
|
||||
<0xe1000000 0x300>,
|
||||
<0xe1400000 0x8000>,
|
||||
<0xe1c00000 0x1000>,
|
||||
<0x17400000 0x4>,
|
||||
<0x17c00000 0x4>;
|
||||
reg-names = "ebunand", "hsnand", "nand_cs0", "nand_cs1",
|
||||
"addr_sel0", "addr_sel1";
|
||||
clocks = <&cgu0 125>;
|
||||
dmas = <&dma0 8>, <&dma0 9>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-mode = "hw";
|
||||
};
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
nand-ecc-mode = "hw";
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
@@ -70,24 +70,17 @@ properties:
|
||||
be used on such systems, to denote the absence of a reliable reset
|
||||
mechanism.
|
||||
|
||||
partitions:
|
||||
type: object
|
||||
|
||||
'#address-cells': true
|
||||
'#size-cells': true
|
||||
|
||||
patternProperties:
|
||||
# Note: use 'partitions' node for new users
|
||||
'^partition@':
|
||||
type: object
|
||||
|
||||
"^otp(-[0-9]+)?$":
|
||||
type: object
|
||||
reset-gpios:
|
||||
description:
|
||||
A GPIO line connected to the RESET (active low) signal of the device.
|
||||
If "broken-flash-reset" is present then having this property does not
|
||||
make any difference.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -97,6 +90,7 @@ examples:
|
||||
reg = <0>;
|
||||
spi-max-frequency = <40000000>;
|
||||
m25p,fast-read;
|
||||
reset-gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
@@ -19,7 +19,7 @@ accuracy:)
|
||||
- nxp,wr_low: WR_LOW
|
||||
|
||||
Optional subnodes:
|
||||
- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
|
||||
- Partitions, see Documentation/devicetree/bindings/mtd/mtd.yaml
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ clock speed:)
|
||||
- nxp,rsetup: Read setup time (R_SETUP)
|
||||
|
||||
Optional subnodes:
|
||||
- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
|
||||
- Partitions, see Documentation/devicetree/bindings/mtd/mtd.yaml
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -34,13 +34,13 @@ unevaluatedProperties: false
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
eeram@0 {
|
||||
compatible = "microchip,48l640";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
};
|
||||
eeram@0 {
|
||||
compatible = "microchip,48l640";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
@@ -13,6 +13,9 @@ description: |
|
||||
Flash chips (Memory Technology Devices) are often used for solid state
|
||||
file systems on embedded devices.
|
||||
|
||||
allOf:
|
||||
- $ref: "mtd.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
@@ -121,10 +124,6 @@ properties:
|
||||
big-endian: true
|
||||
little-endian: true
|
||||
|
||||
patternProperties:
|
||||
'@[0-9a-f]+$':
|
||||
$ref: partitions/partition.yaml
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -12,7 +12,7 @@ maintainers:
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^flash(@.*)?$"
|
||||
pattern: "^(flash|.*sram)(@.*)?$"
|
||||
|
||||
label:
|
||||
description:
|
||||
@@ -21,9 +21,28 @@ properties:
|
||||
based name) in order to ease flash device identification and/or
|
||||
describe what they are used for.
|
||||
|
||||
'#address-cells':
|
||||
deprecated: true
|
||||
|
||||
'#size-cells':
|
||||
deprecated: true
|
||||
|
||||
partitions:
|
||||
$ref: /schemas/mtd/partitions/partitions.yaml
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
patternProperties:
|
||||
"@[0-9a-f]+$":
|
||||
$ref: partitions/partition.yaml
|
||||
deprecated: true
|
||||
|
||||
"^partition@[0-9a-f]+":
|
||||
$ref: partitions/partition.yaml
|
||||
deprecated: true
|
||||
|
||||
"^otp(-[0-9]+)?$":
|
||||
type: object
|
||||
$ref: ../nvmem/nvmem.yaml#
|
||||
|
||||
description: |
|
||||
@@ -40,6 +59,7 @@ patternProperties:
|
||||
required:
|
||||
- compatible
|
||||
|
||||
# This is a generic file other binding inherit from
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
|
||||
@@ -131,7 +131,7 @@ Example:
|
||||
};
|
||||
|
||||
NAND chip optional subnodes:
|
||||
- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
|
||||
- Partitions, see Documentation/devicetree/bindings/mtd/mtd.yaml
|
||||
|
||||
Example:
|
||||
nand@0 {
|
||||
|
||||
@@ -9,6 +9,9 @@ title: NAND Chip and NAND Controller Generic Binding
|
||||
maintainers:
|
||||
- Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
allOf:
|
||||
- $ref: "mtd.yaml#"
|
||||
|
||||
description: |
|
||||
This file covers the generic description of a NAND chip. It implies that the
|
||||
bus interface should not be taken into account: both raw NAND devices and
|
||||
@@ -67,4 +70,5 @@ properties:
|
||||
required:
|
||||
- reg
|
||||
|
||||
# This file can be referenced by more specific devices (like spi-nands)
|
||||
additionalProperties: true
|
||||
|
||||
@@ -51,7 +51,6 @@ properties:
|
||||
|
||||
patternProperties:
|
||||
"^nand@[a-f0-9]$":
|
||||
type: object
|
||||
$ref: "nand-chip.yaml#"
|
||||
|
||||
properties:
|
||||
@@ -130,6 +129,7 @@ required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
# This is a generic file other binding inherit from and extend
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
Flash partitions in device tree
|
||||
===============================
|
||||
|
||||
Flash devices can be partitioned into one or more functional ranges (e.g. "boot
|
||||
code", "nvram", "kernel").
|
||||
|
||||
Different devices may be partitioned in a different ways. Some may use a fixed
|
||||
flash layout set at production time. Some may use on-flash table that describes
|
||||
the geometry and naming/purpose of each functional region. It is also possible
|
||||
to see these methods mixed.
|
||||
|
||||
To assist system software in locating partitions, we allow describing which
|
||||
method is used for a given flash device. To describe the method there should be
|
||||
a subnode of the flash device that is named 'partitions'. It must have a
|
||||
'compatible' property, which is used to identify the method to use.
|
||||
|
||||
When a single partition is represented with a DT node (it depends on a used
|
||||
format) it may also be described using above rules ('compatible' and optionally
|
||||
some extra properties / subnodes). It allows describing more complex,
|
||||
hierarchical (multi-level) layouts and should be used if there is some
|
||||
significant relation between partitions or some partition internally uses
|
||||
another partitioning method.
|
||||
|
||||
Available bindings are listed in the "partitions" subdirectory.
|
||||
|
||||
|
||||
Deprecated: partitions defined in flash node
|
||||
============================================
|
||||
|
||||
For backwards compatibility partitions as direct subnodes of the flash device are
|
||||
supported. This use is discouraged.
|
||||
NOTE: also for backwards compatibility, direct subnodes that have a compatible
|
||||
string are not considered partitions, as they may be used for other bindings.
|
||||
@@ -9,6 +9,8 @@ title: ARM Firmware Suite (AFS) Partitions
|
||||
maintainers:
|
||||
- Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
select: false
|
||||
|
||||
description: |
|
||||
The ARM Firmware Suite is a flash partitioning system found on the
|
||||
ARM reference designs: Integrator AP, Integrator CP, Versatile AB,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user