xref: /freebsd/sys/contrib/device-tree/Bindings/c6x/emifa.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotExternal Memory Interface
2*c66ec88fSEmmanuel Vadot-------------------------
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotThe emifa node describes a simple external bus controller found on some C6X
5*c66ec88fSEmmanuel VadotSoCs. This interface provides external busses with a number of chip selects.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired properties:
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot- compatible: must be "ti,c64x+emifa", "simple-bus"
10*c66ec88fSEmmanuel Vadot- reg: register area base and size
11*c66ec88fSEmmanuel Vadot- #address-cells: must be 2 (chip-select + offset)
12*c66ec88fSEmmanuel Vadot- #size-cells: must be 1
13*c66ec88fSEmmanuel Vadot- ranges: mapping from EMIFA space to parent space
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel VadotOptional properties:
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot- ti,dscr-dev-enable: Device ID if EMIF is enabled/disabled from DSCR
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadot- ti,emifa-burst-priority:
21*c66ec88fSEmmanuel Vadot      Number of memory transfers after which the EMIF will elevate the priority
22*c66ec88fSEmmanuel Vadot      of the oldest command in the command FIFO. Setting this field to 255
23*c66ec88fSEmmanuel Vadot      disables this feature, thereby allowing old commands to stay in the FIFO
24*c66ec88fSEmmanuel Vadot      indefinitely.
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot- ti,emifa-ce-config:
27*c66ec88fSEmmanuel Vadot      Configuration values for each of the supported chip selects.
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel VadotExample:
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel Vadot	emifa@70000000 {
32*c66ec88fSEmmanuel Vadot		compatible = "ti,c64x+emifa", "simple-bus";
33*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
34*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
35*c66ec88fSEmmanuel Vadot		reg = <0x70000000 0x100>;
36*c66ec88fSEmmanuel Vadot		ranges = <0x2 0x0 0xa0000000 0x00000008
37*c66ec88fSEmmanuel Vadot		          0x3 0x0 0xb0000000 0x00400000
38*c66ec88fSEmmanuel Vadot			  0x4 0x0 0xc0000000 0x10000000
39*c66ec88fSEmmanuel Vadot			  0x5 0x0 0xD0000000 0x10000000>;
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot		ti,dscr-dev-enable = <13>;
42*c66ec88fSEmmanuel Vadot		ti,emifa-burst-priority = <255>;
43*c66ec88fSEmmanuel Vadot		ti,emifa-ce-config = <0x00240120
44*c66ec88fSEmmanuel Vadot				      0x00240120
45*c66ec88fSEmmanuel Vadot				      0x00240122
46*c66ec88fSEmmanuel Vadot				      0x00240122>;
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel Vadot		flash@3,0 {
49*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
50*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
51*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
52*c66ec88fSEmmanuel Vadot			reg = <0x3 0x0 0x400000>;
53*c66ec88fSEmmanuel Vadot			bank-width = <1>;
54*c66ec88fSEmmanuel Vadot			device-width = <1>;
55*c66ec88fSEmmanuel Vadot			partition@0 {
56*c66ec88fSEmmanuel Vadot				reg = <0x0 0x400000>;
57*c66ec88fSEmmanuel Vadot				label = "NOR";
58*c66ec88fSEmmanuel Vadot			};
59*c66ec88fSEmmanuel Vadot		};
60*c66ec88fSEmmanuel Vadot	};
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel VadotThis shows a flash chip attached to chip select 3.
63