Home | History | Annotate | Download | only in dts
      1 /*
      2  * Device Tree Source for K2G Netcp driver
      3  *
      4  * Copyright 2015 Texas Instruments, Inc.
      5  *
      6  * This program is free software; you can redistribute it and/or modify
      7  * it under the terms of the GNU General Public License version 2 as
      8  * published by the Free Software Foundation.
      9  */
     10 
     11 qmss: qmss@4020000 {
     12 	compatible = "ti,keystone-navigator-qmss-l";
     13 	dma-coherent;
     14 	#address-cells = <1>;
     15 	#size-cells = <1>;
     16 	/* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
     17 	/* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
     18 	clock-names = "nss_vclk";
     19 	ranges;
     20 	queue-range	= <0 0x80>;
     21 	linkram0	= <0x4020000 0x7ff>;
     22 
     23 	qmgrs {
     24 		#address-cells = <1>;
     25 		#size-cells = <1>;
     26 		ranges;
     27 		qmgr0 {
     28 			managed-queues = <0 0x80>;
     29 			reg = <0x4100000 0x800>,
     30 			      <0x4040000 0x100>,
     31 			      <0x4080000 0x800>,
     32 			      <0x40c0000 0x800>;
     33 			reg-names = "peek", "config",
     34 				    "region", "push";
     35 		};
     36 
     37 	};
     38 	queue-pools {
     39 		qpend {
     40 			qpend-0 {
     41 				qrange = <77 8>;
     42 				interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
     43 					     0 311 0xf04 0 312 0xf04 0 313 0xf04
     44 					     0 314 0xf04 0 315 0xf04>;
     45 				qalloc-by-id;
     46 			};
     47 		};
     48 		general-purpose {
     49 			gp-0 {
     50 				qrange = <112 8>;
     51 			};
     52 			netcp-tx {
     53 				qrange = <5 8>;
     54 				qalloc-by-id;
     55 			};
     56 		};
     57 	};
     58 
     59 	descriptor-regions {
     60 		#address-cells = <1>;
     61 		#size-cells = <1>;
     62 		ranges;
     63 		region-12 {
     64 			id = <12>;
     65 			region-spec = <1023 128>; /* num_desc desc_size */
     66 			link-index = <0x400>;
     67 		};
     68 	};
     69 }; /* qmss */
     70 
     71 knav_dmas: knav_dmas@0 {
     72 	compatible = "ti,keystone-navigator-dma";
     73 	#address-cells = <1>;
     74 	#size-cells = <1>;
     75 	/* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
     76 	/* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
     77 	clock-names = "nss_vclk";
     78 	ranges;
     79 	ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
     80 
     81 	dma_gbe: dma_gbe@0 {
     82 		reg = <0x4010000 0x100>,
     83 			  <0x4011000 0x2a0>, /* 21 Tx channels */
     84 			  <0x4012000 0x400>, /* 32 Rx channels */
     85 			  <0x4010100 0x80>,
     86 			  <0x4013000 0x400>; /* 32 Rx flows */
     87 		reg-names = "global", "txchan", "rxchan",
     88 				"txsched", "rxflow";
     89 	};
     90 
     91 };
     92 
     93 gbe_subsys: subsys@4200000 {
     94 	compatible = "syscon";
     95 	reg = <0x4200000 0x100>;
     96 };
     97 
     98 netcp: netcp@4000000 {
     99 	reg = <0x2620110 0x8>;
    100 	reg-names = "efuse";
    101 	compatible = "ti,netcp-1.0";
    102 	status = "disabled";
    103 	#address-cells = <1>;
    104 	#size-cells = <1>;
    105 	/* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
    106 	/* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_ESW_CLK>; */
    107 	clock-names = "ethss_clk";
    108 
    109 	/* NetCP address range */
    110 	ranges = <0 0x4000000 0x1000000>;
    111 
    112 	dma-coherent;
    113 
    114 	ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
    115 	ti,navigator-dma-names = "netrx0", "nettx";
    116 
    117 	netcp-devices {
    118 		#address-cells = <1>;
    119 		#size-cells = <1>;
    120 		ranges;
    121 		gbe@200000 {
    122 			label = "netcp-gbe";
    123 			compatible = "ti,netcp-gbe-2";
    124 			syscon-subsys = <&gbe_subsys>;
    125 			reg = <0x200100 0xe00>, <0x220000 0x20000>;
    126 			/* enable-ale; */
    127 			tx-queue = <5>;
    128 			tx-channel = "nettx";
    129 
    130 			interfaces {
    131 				gbe0: interface-0 {
    132 					slave-port = <0>;
    133 					link-interface	= <5>;
    134 				};
    135 			};
    136 		};
    137 	};
    138 
    139 	netcp-interfaces {
    140 		interface-0 {
    141 			rx-channel = "netrx0";
    142 			rx-pool = <512 12>;
    143 			tx-pool = <511 12>;
    144 			rx-queue-depth = <128 128 0 0>;
    145 			rx-buffer-size = <1518 4096 0 0>;
    146 			rx-queue = <77>;
    147 			tx-completion-queue = <78>;
    148 			efuse-mac = <1>;
    149 			netcp-gbe = <&gbe0>;
    150 		};
    151 	};
    152 };
    153