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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mtd/mediatek,mtk-nfc.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/mtd/mediatek,mtk-nfc.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: MediaTek(MTK) SoCs raw NAND FLASH controller (NFC)
  8 
  9 maintainers:
 10   - Xiangsheng Hou <xiangsheng.hou@mediatek.com>
 11 
 12 properties:
 13   compatible:
 14     enum:
 15       - mediatek,mt2701-nfc
 16       - mediatek,mt2712-nfc
 17       - mediatek,mt7622-nfc
 18 
 19   reg:
 20     items:
 21       - description: Base physical address and size of NFI.
 22 
 23   interrupts:
 24     items:
 25       - description: NFI interrupt
 26 
 27   clocks:
 28     items:
 29       - description: clock used for the controller
 30       - description: clock used for the pad
 31 
 32   clock-names:
 33     items:
 34       - const: nfi_clk
 35       - const: pad_clk
 36 
 37   ecc-engine:
 38     description: device-tree node of the required ECC engine.
 39     $ref: /schemas/types.yaml#/definitions/phandle
 40 
 41 patternProperties:
 42   "^nand@[a-f0-9]$":
 43     $ref: raw-nand-chip.yaml#
 44     unevaluatedProperties: false
 45     properties:
 46       reg:
 47         maximum: 1
 48       nand-ecc-mode:
 49         const: hw
 50 
 51 allOf:
 52   - $ref: nand-controller.yaml#
 53 
 54   - if:
 55       properties:
 56         compatible:
 57           contains:
 58             const: mediatek,mt2701-nfc
 59     then:
 60       patternProperties:
 61         "^nand@[a-f0-9]$":
 62           properties:
 63             nand-ecc-step-size:
 64               enum: [ 512, 1024 ]
 65             nand-ecc-strength:
 66               enum: [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 28, 32, 36,
 67                      40, 44, 48, 52, 56, 60]
 68 
 69   - if:
 70       properties:
 71         compatible:
 72           contains:
 73             const: mediatek,mt2712-nfc
 74     then:
 75       patternProperties:
 76         "^nand@[a-f0-9]$":
 77           properties:
 78             nand-ecc-step-size:
 79               enum: [ 512, 1024 ]
 80             nand-ecc-strength:
 81               enum: [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 28, 32, 36,
 82                      40, 44, 48, 52, 56, 60, 68, 72, 80]
 83 
 84   - if:
 85       properties:
 86         compatible:
 87           contains:
 88             const: mediatek,mt7622-nfc
 89     then:
 90       patternProperties:
 91         "^nand@[a-f0-9]$":
 92           properties:
 93             nand-ecc-step-size:
 94               const: 512
 95             nand-ecc-strength:
 96               enum: [4, 6, 8, 10, 12]
 97 
 98 required:
 99   - compatible
100   - reg
101   - interrupts
102   - clocks
103   - clock-names
104   - ecc-engine
105 
106 unevaluatedProperties: false
107 
108 examples:
109   - |
110     #include <dt-bindings/clock/mt2701-clk.h>
111     #include <dt-bindings/interrupt-controller/arm-gic.h>
112     #include <dt-bindings/interrupt-controller/irq.h>
113 
114     soc {
115         #address-cells = <2>;
116         #size-cells = <2>;
117 
118         nand-controller@1100d000 {
119             compatible = "mediatek,mt2701-nfc";
120             reg = <0 0x1100d000 0 0x1000>;
121             interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>;
122             clocks = <&pericfg CLK_PERI_NFI>,
123                      <&pericfg CLK_PERI_NFI_PAD>;
124             clock-names = "nfi_clk", "pad_clk";
125             ecc-engine = <&bch>;
126             #address-cells = <1>;
127             #size-cells = <0>;
128 
129             nand@0 {
130                 reg = <0>;
131 
132                 nand-on-flash-bbt;
133                 nand-ecc-mode = "hw";
134                 nand-ecc-step-size = <1024>;
135                 nand-ecc-strength = <24>;
136 
137                 partitions {
138                     compatible = "fixed-partitions";
139                     #address-cells = <1>;
140                     #size-cells = <1>;
141 
142                     preloader@0 {
143                         label = "pl";
144                         read-only;
145                         reg = <0x0 0x400000>;
146                     };
147                     android@400000 {
148                         label = "android";
149                         reg = <0x400000 0x12c00000>;
150                     };
151                 };
152             };
153         };
154     };

~ [ 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