2020-02-22 23:19:26 +09:00
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id : http://devicetree.org/schemas/mtd/denali,nand.yaml#
$schema : http://devicetree.org/meta-schemas/core.yaml#
title : Denali NAND controller
maintainers :
- Masahiro Yamada <yamada.masahiro@socionext.com>
properties :
compatible :
enum :
- altr,socfpga-denali-nand
- socionext,uniphier-denali-nand-v5a
- socionext,uniphier-denali-nand-v5b
reg-names :
description : |
There are two register regions :
nand_data : host data/command interface
denali_reg : register interface
items :
- const : nand_data
- const : denali_reg
reg :
minItems : 2
maxItems : 2
interrupts :
maxItems : 1
clock-names :
description : |
There are three clocks :
nand : controller core clock
nand_x : bus interface clock
ecc : ECC circuit clock
items :
- const : nand
- const : nand_x
- const : ecc
clocks :
minItems : 3
maxItems : 3
reset-names :
description : |
There are two optional resets :
nand : controller core reset
reg : register reset
oneOf :
- items :
2020-04-15 19:55:48 -05:00
- const : nand
- const : reg
2020-02-22 23:19:26 +09:00
- const : nand
- const : reg
resets :
minItems : 1
maxItems : 2
2023-06-19 11:29:10 +02:00
patternProperties :
"^nand@[a-f0-9]$" :
type : object
$ref : raw-nand-chip.yaml
unevaluatedProperties : false
2020-02-22 23:19:26 +09:00
allOf :
- $ref : nand-controller.yaml
- if :
properties :
compatible :
contains :
const : altr,socfpga-denali-nand
then :
patternProperties :
"^nand@[a-f0-9]$" :
properties :
nand-ecc-strength :
enum :
- 8
- 15
nand-ecc-step-size :
enum :
- 512
- if :
properties :
compatible :
contains :
const : socionext,uniphier-denali-nand-v5a
then :
patternProperties :
"^nand@[a-f0-9]$" :
properties :
nand-ecc-strength :
enum :
- 8
- 16
- 24
nand-ecc-step-size :
enum :
- 1024
- if :
properties :
compatible :
contains :
const : socionext,uniphier-denali-nand-v5b
then :
patternProperties :
"^nand@[a-f0-9]$" :
properties :
nand-ecc-strength :
enum :
- 8
- 16
nand-ecc-step-size :
enum :
- 1024
required :
- compatible
- reg
- interrupts
- clock-names
- clocks
2020-10-05 13:38:27 -05:00
unevaluatedProperties : false
2020-02-22 23:19:26 +09:00
examples :
- |
nand-controller@ff900000 {
compatible = "altr,socfpga-denali-nand";
reg-names = "nand_data", "denali_reg";
reg = <0xff900000 0x20>, <0xffb80000 0x1000>;
interrupts = <0 144 4>;
clock-names = "nand", "nand_x", "ecc";
clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
reset-names = "nand", "reg";
resets = <&nand_rst>, <&nand_reg_rst>;
#address-cells = <1>;
#size-cells = <0>;
nand@0 {
2022-11-14 10:03:15 +01:00
reg = <0>;
2020-02-22 23:19:26 +09:00
};
};