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