aboutsummaryrefslogtreecommitdiffstats
blob: 0ff6e9b9a13fa2f7abed53be7c74f4786af199ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
External Memory Interface
-------------------------

The emifa node describes a simple external bus controller found on some C6X
SoCs. This interface provides external busses with a number of chip selects.

Required properties:

- compatible: must be "ti,c64x+emifa", "simple-bus"
- reg: register area base and size
- #address-cells: must be 2 (chip-select + offset)
- #size-cells: must be 1
- ranges: mapping from EMIFA space to parent space


Optional properties:

- ti,dscr-dev-enable: Device ID if EMIF is enabled/disabled from DSCR

- ti,emifa-burst-priority:
      Number of memory transfers after which the EMIF will elevate the priority
      of the oldest command in the command FIFO. Setting this field to 255
      disables this feature, thereby allowing old commands to stay in the FIFO
      indefinitely.

- ti,emifa-ce-config:
      Configuration values for each of the supported chip selects.

Example:

	emifa@70000000 {
		compatible = "ti,c64x+emifa", "simple-bus";
		#address-cells = <2>;
		#size-cells = <1>;
		reg = <0x70000000 0x100>;
		ranges = <0x2 0x0 0xa0000000 0x00000008
		          0x3 0x0 0xb0000000 0x00400000
			  0x4 0x0 0xc0000000 0x10000000
			  0x5 0x0 0xD0000000 0x10000000>;

		ti,dscr-dev-enable = <13>;
		ti,emifa-burst-priority = <255>;
		ti,emifa-ce-config = <0x00240120
				      0x00240120
				      0x00240122
				      0x00240122>;

		flash@3,0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "cfi-flash";
			reg = <0x3 0x0 0x400000>;
			bank-width = <1>;
			device-width = <1>;
			partition@0 {
				reg = <0x0 0x400000>;
				label = "NOR";
			};
		};
	};

This shows a flash chip attached to chip select 3.