Home | History | Annotate | Line # | Download | only in dts
      1 // SPDX-License-Identifier: GPL-2.0
      2 /*
      3  * Device Tree Source for Keystone 2 Hawking Netcp driver
      4  *
      5  * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/
      6  */
      7 
      8 qmss: qmss@2a40000 {
      9 	compatible = "ti,keystone-navigator-qmss";
     10 	dma-coherent;
     11 	#address-cells = <1>;
     12 	#size-cells = <1>;
     13 	clocks = <&chipclk13>;
     14 	ranges;
     15 	queue-range	= <0 0x4000>;
     16 	linkram0	= <0x100000 0x8000>;
     17 	linkram1	= <0x0 0x10000>;
     18 
     19 	qmgrs {
     20 		#address-cells = <1>;
     21 		#size-cells = <1>;
     22 		ranges;
     23 		qmgr0 {
     24 			managed-queues = <0 0x2000>;
     25 			reg = <0x2a40000 0x20000>,
     26 			      <0x2a06000 0x400>,
     27 			      <0x2a02000 0x1000>,
     28 			      <0x2a03000 0x1000>,
     29 			      <0x23a80000 0x20000>,
     30 			      <0x2a80000 0x20000>;
     31 			reg-names = "peek", "status", "config",
     32 				    "region", "push", "pop";
     33 		};
     34 
     35 		qmgr1 {
     36 			managed-queues = <0x2000 0x2000>;
     37 			reg = <0x2a60000 0x20000>,
     38 			      <0x2a06400 0x400>,
     39 			      <0x2a04000 0x1000>,
     40 			      <0x2a05000 0x1000>,
     41 			      <0x23aa0000 0x20000>,
     42 			      <0x2aa0000 0x20000>;
     43 			reg-names = "peek", "status", "config",
     44 				    "region", "push", "pop";
     45 		};
     46 	};
     47 
     48 	queue-pools {
     49 		qpend {
     50 			qpend-0 {
     51 				qrange = <658 8>;
     52 				interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04
     53 					     0 43 0xf04 0 44 0xf04 0 45 0xf04
     54 					     0 46 0xf04 0 47 0xf04>;
     55 			};
     56 			qpend-1 {
     57 				qrange = <8704 16>;
     58 				interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04
     59 					      0 51 0xf04 0 52 0xf04 0 53 0xf04
     60 					      0 54 0xf04 0 55 0xf04 0 56 0xf04
     61 					      0 57 0xf04 0 58 0xf04 0 59 0xf04
     62 					      0 60 0xf04 0 61 0xf04 0 62 0xf04
     63 					      0 63 0xf04>;
     64 				qalloc-by-id;
     65 			};
     66 			qpend-2 {
     67 				qrange = <8720 16>;
     68 				interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04
     69 					      0 59 0xf04 0 68 0xf04 0 69 0xf04
     70 					      0 70 0xf04 0 71 0xf04 0 72 0xf04
     71 					      0 73 0xf04 0 74 0xf04 0 75 0xf04
     72 					      0 76 0xf04 0 77 0xf04 0 78 0xf04
     73 					      0 79 0xf04>;
     74 			};
     75 		};
     76 		general-purpose {
     77 			gp-0 {
     78 				qrange = <4000 64>;
     79 			};
     80 			netcp-tx {
     81 				qrange = <640 9>;
     82 				qalloc-by-id;
     83 			};
     84 			netcpx-tx {
     85 				qrange = <8752 8>;
     86 				qalloc-by-id;
     87 			};
     88 		};
     89 		accumulator {
     90 			acc-low-0 {
     91 				qrange = <480 32>;
     92 				accumulator = <0 47 16 2 50>;
     93 				interrupts = <0 226 0xf01>;
     94 				multi-queue;
     95 				qalloc-by-id;
     96 			};
     97 		};
     98 	};
     99 
    100 	descriptor-regions {
    101 		#address-cells = <1>;
    102 		#size-cells = <1>;
    103 		ranges;
    104 		region-12 {
    105 			id = <12>;
    106 			region-spec = <8192 128>;	/* num_desc desc_size */
    107 			link-index = <0x4000>;
    108 		};
    109 	};
    110 
    111 	pdsps {
    112 		#address-cells = <1>;
    113 		#size-cells = <1>;
    114 		ranges;
    115 		pdsp0@2a10000 {
    116 			reg = <0x2a10000 0x1000    /*iram */
    117 			       0x2a0f000 0x100     /*reg*/
    118 			       0x2a0c000 0x3c8	   /*intd */
    119 			       0x2a20000 0x4000>;  /*cmd*/
    120 			id = <0>;
    121 		};
    122 	};
    123 }; /* qmss */
    124 
    125 knav_dmas: knav_dmas@0 {
    126 	compatible = "ti,keystone-navigator-dma";
    127 	clocks = <&papllclk>;
    128 	#address-cells = <1>;
    129 	#size-cells = <1>;
    130 	ranges;
    131 	ti,navigator-cloud-address = <0x23a80000 0x23a90000
    132 				   0x23aa0000 0x23ab0000>;
    133 
    134 	dma_gbe: dma_gbe@0 {
    135 		reg = <0x2004000 0x100>,
    136 			  <0x2004400 0x120>,
    137 			  <0x2004800 0x300>,
    138 			  <0x2004c00 0x120>,
    139 			  <0x2005000 0x400>;
    140 		reg-names = "global", "txchan", "rxchan",
    141 				"txsched", "rxflow";
    142 	};
    143 };
    144 
    145 netcp: netcp@2000000 {
    146 	reg = <0x2620110 0x8>;
    147 	reg-names = "efuse";
    148 	compatible = "ti,netcp-1.0";
    149 	#address-cells = <1>;
    150 	#size-cells = <1>;
    151 
    152 	/* NetCP address range */
    153 	ranges  = <0 0x2000000 0x100000>;
    154 
    155 	clocks = <&clkpa>, <&clkcpgmac>;
    156 	clock-names = "pa_clk", "ethss_clk";
    157 	dma-coherent;
    158 
    159 	ti,navigator-dmas = <&dma_gbe 22>,
    160 			<&dma_gbe 23>,
    161 			<&dma_gbe 8>;
    162 	ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
    163 
    164 	netcp-devices {
    165 		ranges;
    166 		#address-cells = <1>;
    167 		#size-cells = <1>;
    168 		gbe@90000 { /* ETHSS */
    169 			#address-cells = <1>;
    170 			#size-cells = <1>;
    171 			label = "netcp-gbe";
    172 			compatible = "ti,netcp-gbe";
    173 			reg = <0x90000 0x300>, <0x90400 0x400>, <0x90800 0x700>;
    174 			/* enable-ale; */
    175 			tx-queue = <648>;
    176 			tx-channel = "nettx";
    177 
    178 			cpts {
    179 				clocks = <&cpts_refclk_mux>;
    180 				clock-names = "cpts";
    181 
    182 				cpts_refclk_mux: cpts-refclk-mux {
    183 					#clock-cells = <0>;
    184 					clocks = <&chipclk12>, <&chipclk13>,
    185 						 <&timi0>, <&timi1>,
    186 						 <&tsrefclk>;
    187 					ti,mux-tbl = <0x0>, <0x1>, <0x2>,
    188 						<0x3>, <0x8>;
    189 					assigned-clocks = <&cpts_refclk_mux>;
    190 					assigned-clock-parents = <&chipclk12>;
    191 				};
    192 			};
    193 
    194 			interfaces {
    195 				gbe0: interface-0 {
    196 					slave-port = <0>;
    197 					link-interface = <1>;
    198 					phy-handle = <&ethphy0>;
    199 				};
    200 				gbe1: interface-1 {
    201 					slave-port = <1>;
    202 					link-interface = <1>;
    203 					phy-handle = <&ethphy1>;
    204 				};
    205 			};
    206 
    207 			secondary-slave-ports {
    208 				port-2 {
    209 					slave-port = <2>;
    210 					link-interface	= <2>;
    211 				};
    212 				port-3 {
    213 					slave-port = <3>;
    214 					link-interface	= <2>;
    215 				};
    216 			};
    217 		};
    218 	};
    219 
    220 	netcp-interfaces {
    221 		interface-0 {
    222 			rx-channel = "netrx0";
    223 			rx-pool = <1024 12>;
    224 			tx-pool = <1024 12>;
    225 			rx-queue-depth = <128 128 0 0>;
    226 			rx-buffer-size = <1518 4096 0 0>;
    227 			rx-queue = <8704>;
    228 			tx-completion-queue = <8706>;
    229 			efuse-mac = <1>;
    230 			netcp-gbe = <&gbe0>;
    231 
    232 		};
    233 		interface-1 {
    234 			rx-channel = "netrx1";
    235 			rx-pool = <1024 12>;
    236 			tx-pool = <1024 12>;
    237 			rx-queue-depth = <128 128 0 0>;
    238 			rx-buffer-size = <1518 4096 0 0>;
    239 			rx-queue = <8705>;
    240 			tx-completion-queue = <8707>;
    241 			efuse-mac = <0>;
    242 			local-mac-address = [02 18 31 7e 3e 6f];
    243 			netcp-gbe = <&gbe1>;
    244 		};
    245 	};
    246 };
    247 
    248 sa_subsys: subsys@20c0000 {
    249 	compatible = "simple-bus";
    250 	#address-cells = <1>;
    251 	#size-cells = <1>;
    252 	ranges = <0 0x20c0000 0x40000>;
    253 
    254 	sa_config: subsys@0 {
    255 		compatible = "syscon";
    256 		reg = <0x0 0x100>;
    257 	};
    258 
    259 	rng@24000 {
    260 		compatible = "ti,keystone-rng";
    261 		reg = <0x24000 0x1000>;
    262 		ti,syscon-sa-cfg = <&sa_config>;
    263 		clocks = <&clksa>;
    264 		clock-names = "fck";
    265 	};
    266 };
    267