mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-27 13:05:03 +08:00
dt-bindings: memory: Convert ingenic,jz4780-nemc.txt to YAML
Convert the ingenic,jz4780-nemc.txt doc file to ingenic,nemc.yaml. The ingenic,jz4725b-nemc compatible string was added in the process, with a fallback to ingenic,jz4740-nemc. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
1ade7d1f95
commit
9484492c84
@ -1,76 +0,0 @@
|
||||
* Ingenic JZ4780 NAND/external memory controller (NEMC)
|
||||
|
||||
This file documents the device tree bindings for the NEMC external memory
|
||||
controller in Ingenic JZ4780
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be set to one of:
|
||||
"ingenic,jz4740-nemc" (JZ4740)
|
||||
"ingenic,jz4780-nemc" (JZ4780)
|
||||
- reg: Should specify the NEMC controller registers location and length.
|
||||
- clocks: Clock for the NEMC controller.
|
||||
- #address-cells: Must be set to 2.
|
||||
- #size-cells: Must be set to 1.
|
||||
- ranges: A set of ranges for each bank describing the physical memory layout.
|
||||
Each should specify the following 4 integer values:
|
||||
|
||||
<cs number> 0 <physical address of mapping> <size of mapping>
|
||||
|
||||
Each child of the NEMC node describes a device connected to the NEMC.
|
||||
|
||||
Required child node properties:
|
||||
- reg: Should contain at least one register specifier, given in the following
|
||||
format:
|
||||
|
||||
<cs number> <offset> <size>
|
||||
|
||||
Multiple registers can be specified across multiple banks. This is needed,
|
||||
for example, for packaged NAND devices with multiple dies. Such devices
|
||||
should be grouped into a single node.
|
||||
|
||||
Optional child node properties:
|
||||
- ingenic,nemc-bus-width: Specifies the bus width in bits. Defaults to 8 bits.
|
||||
- ingenic,nemc-tAS: Address setup time in nanoseconds.
|
||||
- ingenic,nemc-tAH: Address hold time in nanoseconds.
|
||||
- ingenic,nemc-tBP: Burst pitch time in nanoseconds.
|
||||
- ingenic,nemc-tAW: Access wait time in nanoseconds.
|
||||
- ingenic,nemc-tSTRV: Static memory recovery time in nanoseconds.
|
||||
|
||||
If a child node references multiple banks in its "reg" property, the same value
|
||||
for all optional parameters will be configured for all banks. If any optional
|
||||
parameters are omitted, they will be left unchanged from whatever they are
|
||||
configured to when the NEMC device is probed (which may be the reset value as
|
||||
given in the hardware reference manual, or a value configured by the boot
|
||||
loader).
|
||||
|
||||
Example (NEMC node with a NAND child device attached at CS1):
|
||||
|
||||
nemc: nemc@13410000 {
|
||||
compatible = "ingenic,jz4780-nemc";
|
||||
reg = <0x13410000 0x10000>;
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ranges = <1 0 0x1b000000 0x1000000
|
||||
2 0 0x1a000000 0x1000000
|
||||
3 0 0x19000000 0x1000000
|
||||
4 0 0x18000000 0x1000000
|
||||
5 0 0x17000000 0x1000000
|
||||
6 0 0x16000000 0x1000000>;
|
||||
|
||||
clocks = <&cgu JZ4780_CLK_NEMC>;
|
||||
|
||||
nand: nand@1 {
|
||||
compatible = "ingenic,jz4780-nand";
|
||||
reg = <1 0 0x1000000>;
|
||||
|
||||
ingenic,nemc-tAS = <10>;
|
||||
ingenic,nemc-tAH = <5>;
|
||||
ingenic,nemc-tBP = <10>;
|
||||
ingenic,nemc-tAW = <15>;
|
||||
ingenic,nemc-tSTRV = <100>;
|
||||
|
||||
...
|
||||
};
|
||||
};
|
@ -0,0 +1,126 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/memory-controllers/ingenic,nemc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Ingenic SoCs NAND / External Memory Controller (NEMC) devicetree bindings
|
||||
|
||||
maintainers:
|
||||
- Paul Cercueil <paul@crapouillou.net>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^memory-controller@[0-9a-f]+$"
|
||||
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- ingenic,jz4740-nemc
|
||||
- ingenic,jz4780-nemc
|
||||
- items:
|
||||
- const: ingenic,jz4725b-nemc
|
||||
- const: ingenic,jz4740-nemc
|
||||
|
||||
"#address-cells":
|
||||
const: 2
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
".*@[0-9]+$":
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
minItems: 1
|
||||
maxItems: 255
|
||||
|
||||
ingenic,nemc-bus-width:
|
||||
allOf:
|
||||
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||
- enum: [8, 16]
|
||||
description: Specifies the bus width in bits.
|
||||
|
||||
ingenic,nemc-tAS:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Address setup time in nanoseconds.
|
||||
|
||||
ingenic,nemc-tAH:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Address hold time in nanoseconds.
|
||||
|
||||
ingenic,nemc-tBP:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Burst pitch time in nanoseconds.
|
||||
|
||||
ingenic,nemc-tAW:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Address wait time in nanoseconds.
|
||||
|
||||
ingenic,nemc-tSTRV:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Static memory recovery time in nanoseconds.
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- ranges
|
||||
- reg
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/jz4780-cgu.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
nemc: memory-controller@13410000 {
|
||||
compatible = "ingenic,jz4780-nemc";
|
||||
reg = <0x13410000 0x10000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <1 0 0x1b000000 0x1000000>,
|
||||
<2 0 0x1a000000 0x1000000>,
|
||||
<3 0 0x19000000 0x1000000>,
|
||||
<4 0 0x18000000 0x1000000>,
|
||||
<5 0 0x17000000 0x1000000>,
|
||||
<6 0 0x16000000 0x1000000>;
|
||||
|
||||
clocks = <&cgu JZ4780_CLK_NEMC>;
|
||||
|
||||
ethernet@6 {
|
||||
compatible = "davicom,dm9000";
|
||||
davicom,no-eeprom;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pins_nemc_cs6>;
|
||||
|
||||
reg = <6 0 1>, /* addr */
|
||||
<6 2 1>; /* data */
|
||||
|
||||
ingenic,nemc-tAS = <15>;
|
||||
ingenic,nemc-tAH = <10>;
|
||||
ingenic,nemc-tBP = <20>;
|
||||
ingenic,nemc-tAW = <50>;
|
||||
ingenic,nemc-tSTRV = <100>;
|
||||
|
||||
reset-gpios = <&gpf 12 GPIO_ACTIVE_HIGH>;
|
||||
vcc-supply = <ð0_power>;
|
||||
|
||||
interrupt-parent = <&gpe>;
|
||||
interrupts = <19 4>;
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user