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