xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mips/cavium/bootbus.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Boot Bus
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunThe Octeon Boot Bus is a configurable parallel bus with 8 chip
4*4882a593Smuzhiyunselects.  Each chip select is independently configurable.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunProperties:
7*4882a593Smuzhiyun- compatible: "cavium,octeon-3860-bootbus"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun  Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun- reg: The base address of the Boot Bus' register bank.
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun- #address-cells: Must be <2>.  The first cell is the chip select
14*4882a593Smuzhiyun   within the bootbus.  The second cell is the offset from the chip select.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun- #size-cells: Must be <1>.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun- ranges: There must be one one triplet of (child-bus-address,
19*4882a593Smuzhiyun  parent-bus-address, length) for each active chip select.  If the
20*4882a593Smuzhiyun  length element for any triplet is zero, the chip select is disabled,
21*4882a593Smuzhiyun  making it inactive.
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunThe configuration parameters for each chip select are stored in child
24*4882a593Smuzhiyunnodes.
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunConfiguration Properties:
27*4882a593Smuzhiyun- compatible:  "cavium,octeon-3860-bootbus-config"
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun- cavium,cs-index: A single cell indicating the chip select that
30*4882a593Smuzhiyun  corresponds to this configuration.
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun- cavium,t-adr: A cell specifying the ADR timing (in nS).
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun- cavium,t-ce: A cell specifying the CE timing (in nS).
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun- cavium,t-oe: A cell specifying the OE timing (in nS).
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun- cavium,t-we: A cell specifying the WE timing (in nS).
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun- cavium,t-rd-hld: A cell specifying the RD_HLD timing (in nS).
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun- cavium,t-wr-hld: A cell specifying the WR_HLD timing (in nS).
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun- cavium,t-pause: A cell specifying the PAUSE timing (in nS).
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun- cavium,t-wait: A cell specifying the WAIT timing (in nS).
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun- cavium,t-page: A cell specifying the PAGE timing (in nS).
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun- cavium,t-rd-dly: A cell specifying the RD_DLY timing (in nS).
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun- cavium,pages: A cell specifying the PAGES parameter (0 = 8 bytes, 1
53*4882a593Smuzhiyun  = 2 bytes, 2 = 4 bytes, 3 = 8 bytes).
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun- cavium,wait-mode: Optional.  If present, wait mode (WAITM) is selected.
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun- cavium,page-mode: Optional.  If present, page mode (PAGEM) is selected.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun- cavium,bus-width: A cell specifying the WIDTH parameter (in bits) of
60*4882a593Smuzhiyun  the bus for this chip select.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun- cavium,ale-mode: Optional.  If present, ALE mode is selected.
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun- cavium,sam-mode: Optional.  If present, SAM mode is selected.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun- cavium,or-mode: Optional.  If present, OR mode is selected.
67*4882a593Smuzhiyun
68*4882a593SmuzhiyunExample:
69*4882a593Smuzhiyun	bootbus: bootbus@1180000000000 {
70*4882a593Smuzhiyun		compatible = "cavium,octeon-3860-bootbus";
71*4882a593Smuzhiyun		reg = <0x11800 0x00000000 0x0 0x200>;
72*4882a593Smuzhiyun		/* The chip select number and offset */
73*4882a593Smuzhiyun		#address-cells = <2>;
74*4882a593Smuzhiyun		/* The size of the chip select region */
75*4882a593Smuzhiyun		#size-cells = <1>;
76*4882a593Smuzhiyun		ranges = <0 0  0x0 0x1f400000  0xc00000>,
77*4882a593Smuzhiyun			 <1 0  0x10000 0x30000000  0>,
78*4882a593Smuzhiyun			 <2 0  0x10000 0x40000000  0>,
79*4882a593Smuzhiyun			 <3 0  0x10000 0x50000000  0>,
80*4882a593Smuzhiyun			 <4 0  0x0 0x1d020000  0x10000>,
81*4882a593Smuzhiyun			 <5 0  0x0 0x1d040000  0x10000>,
82*4882a593Smuzhiyun			 <6 0  0x0 0x1d050000  0x10000>,
83*4882a593Smuzhiyun			 <7 0  0x10000 0x90000000  0>;
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun			cavium,cs-config@0 {
86*4882a593Smuzhiyun			compatible = "cavium,octeon-3860-bootbus-config";
87*4882a593Smuzhiyun			cavium,cs-index = <0>;
88*4882a593Smuzhiyun			cavium,t-adr  = <20>;
89*4882a593Smuzhiyun			cavium,t-ce   = <60>;
90*4882a593Smuzhiyun			cavium,t-oe   = <60>;
91*4882a593Smuzhiyun			cavium,t-we   = <45>;
92*4882a593Smuzhiyun			cavium,t-rd-hld = <35>;
93*4882a593Smuzhiyun			cavium,t-wr-hld = <45>;
94*4882a593Smuzhiyun			cavium,t-pause  = <0>;
95*4882a593Smuzhiyun			cavium,t-wait   = <0>;
96*4882a593Smuzhiyun			cavium,t-page   = <35>;
97*4882a593Smuzhiyun			cavium,t-rd-dly = <0>;
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun			cavium,pages     = <0>;
100*4882a593Smuzhiyun			cavium,bus-width = <8>;
101*4882a593Smuzhiyun		};
102*4882a593Smuzhiyun		.
103*4882a593Smuzhiyun		.
104*4882a593Smuzhiyun		.
105*4882a593Smuzhiyun		cavium,cs-config@6 {
106*4882a593Smuzhiyun			compatible = "cavium,octeon-3860-bootbus-config";
107*4882a593Smuzhiyun			cavium,cs-index = <6>;
108*4882a593Smuzhiyun			cavium,t-adr  = <5>;
109*4882a593Smuzhiyun			cavium,t-ce   = <300>;
110*4882a593Smuzhiyun			cavium,t-oe   = <270>;
111*4882a593Smuzhiyun			cavium,t-we   = <150>;
112*4882a593Smuzhiyun			cavium,t-rd-hld = <100>;
113*4882a593Smuzhiyun			cavium,t-wr-hld = <70>;
114*4882a593Smuzhiyun			cavium,t-pause  = <0>;
115*4882a593Smuzhiyun			cavium,t-wait   = <0>;
116*4882a593Smuzhiyun			cavium,t-page   = <320>;
117*4882a593Smuzhiyun			cavium,t-rd-dly = <0>;
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun			cavium,pages     = <0>;
120*4882a593Smuzhiyun			cavium,wait-mode;
121*4882a593Smuzhiyun			cavium,bus-width = <16>;
122*4882a593Smuzhiyun		};
123*4882a593Smuzhiyun		.
124*4882a593Smuzhiyun		.
125*4882a593Smuzhiyun		.
126*4882a593Smuzhiyun	};
127