brintos

brintos / linux-shallow public Read only

0
0
Text · 2.9 KiB · 284f0f8 Raw
126 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs8 9allOf:10  - $ref: nand-controller.yaml11 12maintainers:13  - liang.yang@amlogic.com14 15properties:16  compatible:17    enum:18      - amlogic,meson-gxl-nfc19      - amlogic,meson-axg-nfc20 21  reg:22    maxItems: 223 24  reg-names:25    items:26      - const: nfc27      - const: emmc28 29  interrupts:30    maxItems: 131 32  clocks:33    minItems: 234 35  clock-names:36    items:37      - const: core38      - const: device39 40patternProperties:41  "^nand@[0-7]$":42    type: object43    $ref: raw-nand-chip.yaml44    properties:45      reg:46        minimum: 047        maximum: 148 49      nand-ecc-mode:50        const: hw51 52      nand-ecc-step-size:53        enum: [512, 1024]54 55      nand-ecc-strength:56        enum: [8, 16, 24, 30, 40, 50, 60]57        description: |58          The ECC configurations that can be supported are as follows.59            meson-gxl-nfc 8, 16, 24, 30, 40, 50, 6060            meson-axg-nfc 861 62      nand-rb:63        maxItems: 164        items:65          maximum: 066 67      amlogic,boot-pages:68        $ref: /schemas/types.yaml#/definitions/uint3269        description:70          Number of pages starting from offset 0, where a special ECC71          configuration must be used because it is accessed by the ROM72          code. This ECC configuration uses 384 bytes data blocks.73          Also scrambling mode is enabled for such pages.74 75      amlogic,boot-page-step:76        $ref: /schemas/types.yaml#/definitions/uint3277        description:78          Interval between pages, accessed by the ROM code. For example79          we have 8 pages [0, 7]. Pages 0,2,4,6 are accessed by the80          ROM code, so this field will be 2 (e.g. every 2nd page). Rest81          of pages - 1,3,5,7 are read/written without this mode.82 83    unevaluatedProperties: false84 85    dependencies:86      nand-ecc-strength: [nand-ecc-step-size]87      nand-ecc-step-size: [nand-ecc-strength]88      amlogic,boot-pages: [nand-is-boot-medium, "amlogic,boot-page-step"]89      amlogic,boot-page-step: [nand-is-boot-medium, "amlogic,boot-pages"]90 91 92required:93  - compatible94  - reg95  - interrupts96  - clocks97  - clock-names98 99unevaluatedProperties: false100 101examples:102  - |103    #include <dt-bindings/clock/axg-clkc.h>104    #include <dt-bindings/interrupt-controller/arm-gic.h>105    nand-controller@ffe07800 {106      compatible = "amlogic,meson-axg-nfc";107      reg = <0xffe07800 0x100>, <0xffe07000 0x800>;108      reg-names = "nfc", "emmc";109      interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;110      clocks = <&clkc CLKID_SD_EMMC_C>,  <&clkc CLKID_FCLK_DIV2>;111      clock-names = "core", "device";112 113      pinctrl-0 = <&nand_pins>;114      pinctrl-names = "default";115 116      #address-cells = <1>;117      #size-cells = <0>;118 119      nand@0 {120        reg = <0>;121        nand-rb = <0>;122      };123    };124 125...126