~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/memory-controllers/fsl/fsl,ifc.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/memory-controllers/fsl/fsl,ifc.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: FSL/NXP Integrated Flash Controller
  8 
  9 maintainers:
 10   - Shawn Guo <shawnguo@kernel.org>
 11 
 12 description: |
 13   NXP's integrated flash controller (IFC) is an advanced version of the
 14   enhanced local bus controller which includes similar programming and signal
 15   interfaces with an extended feature set. The IFC provides access to multiple
 16   external memory types, such as NAND flash (SLC and MLC), NOR flash, EPROM,
 17   SRAM and other memories where address and data are shared on a bus.
 18 
 19 properties:
 20   $nodename:
 21     pattern: "^memory-controller@[0-9a-f]+$"
 22 
 23   compatible:
 24     const: fsl,ifc
 25 
 26   "#address-cells":
 27     enum: [2, 3]
 28     description: |
 29       Should be either two or three.  The first cell is the chipselect
 30       number, and the remaining cells are the offset into the chipselect.
 31 
 32   "#size-cells":
 33     enum: [1, 2]
 34     description: |
 35       Either one or two, depending on how large each chipselect can be.
 36 
 37   reg:
 38     maxItems: 1
 39 
 40   interrupts:
 41     minItems: 1
 42     maxItems: 2
 43     description: |
 44       IFC may have one or two interrupts.  If two interrupt specifiers are
 45       present, the first is the "common" interrupt (CM_EVTER_STAT), and the
 46       second is the NAND interrupt (NAND_EVTER_STAT).  If there is only one,
 47       that interrupt reports both types of event.
 48 
 49   little-endian:
 50     type: boolean
 51     description: |
 52       If this property is absent, the big-endian mode will be in use as default
 53       for registers.
 54 
 55   ranges:
 56     description: |
 57       Each range corresponds to a single chipselect, and covers the entire
 58       access window as configured.
 59 
 60 patternProperties:
 61   "^.*@[a-f0-9]+(,[a-f0-9]+)+$":
 62     type: object
 63     description: |
 64       Child device nodes describe the devices connected to IFC such as NOR (e.g.
 65       cfi-flash) and NAND (fsl,ifc-nand). There might be board specific devices
 66       like FPGAs, CPLDs, etc.
 67 
 68     required:
 69       - compatible
 70       - reg
 71 
 72 required:
 73   - compatible
 74   - reg
 75   - interrupts
 76 
 77 additionalProperties: false
 78 
 79 examples:
 80   - |
 81     soc {
 82         #address-cells = <2>;
 83         #size-cells = <2>;
 84 
 85         memory-controller@ffe1e000 {
 86             compatible = "fsl,ifc";
 87             #address-cells = <2>;
 88             #size-cells = <1>;
 89             reg = <0x0 0xffe1e000 0 0x2000>;
 90             interrupts = <16 2 19 2>;
 91             little-endian;
 92 
 93             /* NOR, NAND Flashes and CPLD on board */
 94             ranges = <0x0 0x0 0x0 0xee000000 0x02000000>,
 95                      <0x1 0x0 0x0 0xffa00000 0x00010000>,
 96                      <0x3 0x0 0x0 0xffb00000 0x00020000>;
 97 
 98             flash@0,0 {
 99                 #address-cells = <1>;
100                 #size-cells = <1>;
101                 compatible = "cfi-flash";
102                 reg = <0x0 0x0 0x2000000>;
103                 bank-width = <2>;
104                 device-width = <1>;
105 
106                 partition@0 {
107                     /* 32MB for user data */
108                     reg = <0x0 0x02000000>;
109                     label = "NOR Data";
110                 };
111             };
112         };
113     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php