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