126 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # 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:
 | |
|         $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>;
 | |
|       };
 | |
|     };
 |