| description: | |
| This binding is used to describe fixed partitions of a flash (or |
| other nonvolatile storage) memory. |
| |
| Here is an example: |
| |
| &flash0 { |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| boot_partition: partition@0 { |
| label = "mcuboot"; |
| reg = <0x00000000 0x0000C000>; |
| }; |
| slot0_partition: partition@c000 { |
| label = "image-0"; |
| reg = <0x0000C000 0x00076000>; |
| }; |
| slot1_partition: partition@82000 { |
| label = "image-1"; |
| reg = <0x00082000 0x00076000>; |
| }; |
| |
| /* |
| * The flash starting at 0x000f8000 and ending at |
| * 0x000fffff is reserved for use by the application. |
| */ |
| |
| /* |
| * Storage partition will be used by FCB/LittleFS/NVS |
| * if enabled. |
| */ |
| storage_partition: partition@f8000 { |
| label = "storage"; |
| reg = <0x000f8000 0x00008000>; |
| }; |
| }; |
| }; |
| |
| Note that the usual name for this node is 'partitions'. |
| The fixed-partitions node should be a child of the flash |
| memory node. Note also that the flash memory node is usually |
| different from the node representing the flash controller |
| IP block. |
| |
| Above, slot0_partition's register address 0xc000 means that |
| the partition begins at that offset from the parent flash |
| memory flash0's base address. That is, partition addresses |
| are relative; physical addresses must be calculated by adding |
| the start address of flash0 in memory to each partition's |
| reg address. |
| |
| compatible: "fixed-partitions" |
| |
| properties: |
| "#address-cells": |
| type: int |
| description: | |
| Number of cells required to represent a child node's |
| reg property address. This must be large enough to |
| represent the start offset of each partition. |
| |
| "#size-cells": |
| type: int |
| description: | |
| Number of cells required to represent a child node's |
| reg property address. This must be large enough to |
| represent the size of each partition in bytes. |
| |
| child-binding: |
| description: | |
| Each child node of the fixed-partitions node represents |
| an individual flash partition. These should usually |
| look like this: |
| |
| partition_nodelabel: partition@START_OFFSET { |
| label = "human-readable-name"; |
| reg = <0xSTART_OFFSET 0xSIZE>; |
| }; |
| properties: |
| label: |
| type: string |
| description: | |
| Human readable string describing the flash partition. |
| read-only: |
| type: boolean |
| description: set this property if the partition is read-only |
| reg: |
| type: array |
| description: | |
| This should be in the format <OFFSET SIZE>, where OFFSET |
| is the offset of the flash partition relative to the base |
| address of the parent memory, and SIZE is the size of |
| the partition in bytes. |
| required: true |