Skip to content

Commit da386f7

Browse files
Mani-Sadhasivammiquelraynal
authored andcommitted
dt-bindings: mtd: Convert Qcom NANDc binding to YAML
Convert Qcom NANDc devicetree binding to YAML. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20210402150128.29128-2-manivannan.sadhasivam@linaro.org
1 parent bd9c9fe commit da386f7

2 files changed

Lines changed: 196 additions & 142 deletions

File tree

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mtd/qcom,nandc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm NAND controller
8+
9+
maintainers:
10+
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- qcom,ipq806x-nand
16+
- qcom,ipq4019-nand
17+
- qcom,ipq6018-nand
18+
- qcom,ipq8074-nand
19+
- qcom,sdx55-nand
20+
21+
reg:
22+
maxItems: 1
23+
24+
clocks:
25+
items:
26+
- description: Core Clock
27+
- description: Always ON Clock
28+
29+
clock-names:
30+
items:
31+
- const: core
32+
- const: aon
33+
34+
"#address-cells": true
35+
"#size-cells": true
36+
37+
patternProperties:
38+
"^nand@[a-f0-9]$":
39+
type: object
40+
properties:
41+
nand-bus-width:
42+
const: 8
43+
44+
nand-ecc-strength:
45+
enum: [1, 4, 8]
46+
47+
nand-ecc-step-size:
48+
enum:
49+
- 512
50+
51+
allOf:
52+
- $ref: "nand-controller.yaml#"
53+
54+
- if:
55+
properties:
56+
compatible:
57+
contains:
58+
const: qcom,ipq806x-nand
59+
then:
60+
properties:
61+
dmas:
62+
items:
63+
- description: rxtx DMA channel
64+
65+
dma-names:
66+
items:
67+
- const: rxtx
68+
69+
qcom,cmd-crci:
70+
$ref: /schemas/types.yaml#/definitions/uint32
71+
description:
72+
Must contain the ADM command type CRCI block instance number
73+
specified for the NAND controller on the given platform
74+
75+
qcom,data-crci:
76+
$ref: /schemas/types.yaml#/definitions/uint32
77+
description:
78+
Must contain the ADM data type CRCI block instance number
79+
specified for the NAND controller on the given platform
80+
81+
- if:
82+
properties:
83+
compatible:
84+
contains:
85+
enum:
86+
- qcom,ipq4019-nand
87+
- qcom,ipq6018-nand
88+
- qcom,ipq8074-nand
89+
- qcom,sdx55-nand
90+
91+
then:
92+
properties:
93+
dmas:
94+
items:
95+
- description: tx DMA channel
96+
- description: rx DMA channel
97+
- description: cmd DMA channel
98+
99+
dma-names:
100+
items:
101+
- const: tx
102+
- const: rx
103+
- const: cmd
104+
105+
required:
106+
- compatible
107+
- reg
108+
- clocks
109+
- clock-names
110+
111+
unevaluatedProperties: false
112+
113+
examples:
114+
- |
115+
#include <dt-bindings/clock/qcom,gcc-ipq806x.h>
116+
nand-controller@1ac00000 {
117+
compatible = "qcom,ipq806x-nand";
118+
reg = <0x1ac00000 0x800>;
119+
120+
clocks = <&gcc EBI2_CLK>,
121+
<&gcc EBI2_AON_CLK>;
122+
clock-names = "core", "aon";
123+
124+
dmas = <&adm_dma 3>;
125+
dma-names = "rxtx";
126+
qcom,cmd-crci = <15>;
127+
qcom,data-crci = <3>;
128+
129+
#address-cells = <1>;
130+
#size-cells = <0>;
131+
132+
nand@0 {
133+
reg = <0>;
134+
135+
nand-ecc-strength = <4>;
136+
nand-bus-width = <8>;
137+
138+
partitions {
139+
compatible = "fixed-partitions";
140+
#address-cells = <1>;
141+
#size-cells = <1>;
142+
143+
partition@0 {
144+
label = "boot-nand";
145+
reg = <0 0x58a0000>;
146+
};
147+
148+
partition@58a0000 {
149+
label = "fs-nand";
150+
reg = <0x58a0000 0x4000000>;
151+
};
152+
};
153+
};
154+
};
155+
156+
#include <dt-bindings/clock/qcom,gcc-ipq4019.h>
157+
nand-controller@79b0000 {
158+
compatible = "qcom,ipq4019-nand";
159+
reg = <0x79b0000 0x1000>;
160+
161+
clocks = <&gcc GCC_QPIC_CLK>,
162+
<&gcc GCC_QPIC_AHB_CLK>;
163+
clock-names = "core", "aon";
164+
165+
dmas = <&qpicbam 0>,
166+
<&qpicbam 1>,
167+
<&qpicbam 2>;
168+
dma-names = "tx", "rx", "cmd";
169+
170+
#address-cells = <1>;
171+
#size-cells = <0>;
172+
173+
nand@0 {
174+
reg = <0>;
175+
nand-ecc-strength = <4>;
176+
nand-bus-width = <8>;
177+
178+
partitions {
179+
compatible = "fixed-partitions";
180+
#address-cells = <1>;
181+
#size-cells = <1>;
182+
183+
partition@0 {
184+
label = "boot-nand";
185+
reg = <0 0x58a0000>;
186+
};
187+
188+
partition@58a0000 {
189+
label = "fs-nand";
190+
reg = <0x58a0000 0x4000000>;
191+
};
192+
};
193+
};
194+
};
195+
196+
...

Documentation/devicetree/bindings/mtd/qcom_nandc.txt

Lines changed: 0 additions & 142 deletions
This file was deleted.

0 commit comments

Comments
 (0)