162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree Source for Keystone 2 Hawking Netcp driver 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/ 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciqmss: qmss@2a40000 { 962306a36Sopenharmony_ci compatible = "ti,keystone-navigator-qmss"; 1062306a36Sopenharmony_ci dma-coherent; 1162306a36Sopenharmony_ci #address-cells = <1>; 1262306a36Sopenharmony_ci #size-cells = <1>; 1362306a36Sopenharmony_ci clocks = <&chipclk13>; 1462306a36Sopenharmony_ci ranges; 1562306a36Sopenharmony_ci queue-range = <0 0x4000>; 1662306a36Sopenharmony_ci linkram0 = <0x100000 0x8000>; 1762306a36Sopenharmony_ci linkram1 = <0x0 0x10000>; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci qmgrs { 2062306a36Sopenharmony_ci #address-cells = <1>; 2162306a36Sopenharmony_ci #size-cells = <1>; 2262306a36Sopenharmony_ci ranges; 2362306a36Sopenharmony_ci qmgr0 { 2462306a36Sopenharmony_ci managed-queues = <0 0x2000>; 2562306a36Sopenharmony_ci reg = <0x2a40000 0x20000>, 2662306a36Sopenharmony_ci <0x2a06000 0x400>, 2762306a36Sopenharmony_ci <0x2a02000 0x1000>, 2862306a36Sopenharmony_ci <0x2a03000 0x1000>, 2962306a36Sopenharmony_ci <0x23a80000 0x20000>, 3062306a36Sopenharmony_ci <0x2a80000 0x20000>; 3162306a36Sopenharmony_ci reg-names = "peek", "status", "config", 3262306a36Sopenharmony_ci "region", "push", "pop"; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci qmgr1 { 3662306a36Sopenharmony_ci managed-queues = <0x2000 0x2000>; 3762306a36Sopenharmony_ci reg = <0x2a60000 0x20000>, 3862306a36Sopenharmony_ci <0x2a06400 0x400>, 3962306a36Sopenharmony_ci <0x2a04000 0x1000>, 4062306a36Sopenharmony_ci <0x2a05000 0x1000>, 4162306a36Sopenharmony_ci <0x23aa0000 0x20000>, 4262306a36Sopenharmony_ci <0x2aa0000 0x20000>; 4362306a36Sopenharmony_ci reg-names = "peek", "status", "config", 4462306a36Sopenharmony_ci "region", "push", "pop"; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci queue-pools { 4962306a36Sopenharmony_ci qpend { 5062306a36Sopenharmony_ci qpend-0 { 5162306a36Sopenharmony_ci qrange = <658 8>; 5262306a36Sopenharmony_ci interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04 5362306a36Sopenharmony_ci 0 43 0xf04 0 44 0xf04 0 45 0xf04 5462306a36Sopenharmony_ci 0 46 0xf04 0 47 0xf04>; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci qpend-1 { 5762306a36Sopenharmony_ci qrange = <8704 16>; 5862306a36Sopenharmony_ci interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04 5962306a36Sopenharmony_ci 0 51 0xf04 0 52 0xf04 0 53 0xf04 6062306a36Sopenharmony_ci 0 54 0xf04 0 55 0xf04 0 56 0xf04 6162306a36Sopenharmony_ci 0 57 0xf04 0 58 0xf04 0 59 0xf04 6262306a36Sopenharmony_ci 0 60 0xf04 0 61 0xf04 0 62 0xf04 6362306a36Sopenharmony_ci 0 63 0xf04>; 6462306a36Sopenharmony_ci qalloc-by-id; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci qpend-2 { 6762306a36Sopenharmony_ci qrange = <8720 16>; 6862306a36Sopenharmony_ci interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04 6962306a36Sopenharmony_ci 0 59 0xf04 0 68 0xf04 0 69 0xf04 7062306a36Sopenharmony_ci 0 70 0xf04 0 71 0xf04 0 72 0xf04 7162306a36Sopenharmony_ci 0 73 0xf04 0 74 0xf04 0 75 0xf04 7262306a36Sopenharmony_ci 0 76 0xf04 0 77 0xf04 0 78 0xf04 7362306a36Sopenharmony_ci 0 79 0xf04>; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci general-purpose { 7762306a36Sopenharmony_ci gp-0 { 7862306a36Sopenharmony_ci qrange = <4000 64>; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci netcp-tx { 8162306a36Sopenharmony_ci qrange = <640 9>; 8262306a36Sopenharmony_ci qalloc-by-id; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci netcpx-tx { 8562306a36Sopenharmony_ci qrange = <8752 8>; 8662306a36Sopenharmony_ci qalloc-by-id; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci accumulator { 9062306a36Sopenharmony_ci acc-low-0 { 9162306a36Sopenharmony_ci qrange = <480 32>; 9262306a36Sopenharmony_ci accumulator = <0 47 16 2 50>; 9362306a36Sopenharmony_ci interrupts = <0 226 0xf01>; 9462306a36Sopenharmony_ci multi-queue; 9562306a36Sopenharmony_ci qalloc-by-id; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci descriptor-regions { 10162306a36Sopenharmony_ci #address-cells = <1>; 10262306a36Sopenharmony_ci #size-cells = <1>; 10362306a36Sopenharmony_ci ranges; 10462306a36Sopenharmony_ci region-12 { 10562306a36Sopenharmony_ci id = <12>; 10662306a36Sopenharmony_ci region-spec = <8192 128>; /* num_desc desc_size */ 10762306a36Sopenharmony_ci link-index = <0x4000>; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci }; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci pdsps { 11262306a36Sopenharmony_ci #address-cells = <1>; 11362306a36Sopenharmony_ci #size-cells = <1>; 11462306a36Sopenharmony_ci ranges; 11562306a36Sopenharmony_ci pdsp0@2a10000 { 11662306a36Sopenharmony_ci reg = <0x2a10000 0x1000 /*iram */ 11762306a36Sopenharmony_ci 0x2a0f000 0x100 /*reg*/ 11862306a36Sopenharmony_ci 0x2a0c000 0x3c8 /*intd */ 11962306a36Sopenharmony_ci 0x2a20000 0x4000>; /*cmd*/ 12062306a36Sopenharmony_ci id = <0>; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci}; /* qmss */ 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciknav_dmas: knav_dmas@0 { 12662306a36Sopenharmony_ci compatible = "ti,keystone-navigator-dma"; 12762306a36Sopenharmony_ci clocks = <&papllclk>; 12862306a36Sopenharmony_ci #address-cells = <1>; 12962306a36Sopenharmony_ci #size-cells = <1>; 13062306a36Sopenharmony_ci ranges; 13162306a36Sopenharmony_ci ti,navigator-cloud-address = <0x23a80000 0x23a90000 13262306a36Sopenharmony_ci 0x23aa0000 0x23ab0000>; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci dma_gbe: dma_gbe@0 { 13562306a36Sopenharmony_ci reg = <0x2004000 0x100>, 13662306a36Sopenharmony_ci <0x2004400 0x120>, 13762306a36Sopenharmony_ci <0x2004800 0x300>, 13862306a36Sopenharmony_ci <0x2004c00 0x120>, 13962306a36Sopenharmony_ci <0x2005000 0x400>; 14062306a36Sopenharmony_ci reg-names = "global", "txchan", "rxchan", 14162306a36Sopenharmony_ci "txsched", "rxflow"; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci}; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_cinetcp: netcp@2000000 { 14662306a36Sopenharmony_ci reg = <0x2620110 0x8>; 14762306a36Sopenharmony_ci reg-names = "efuse"; 14862306a36Sopenharmony_ci compatible = "ti,netcp-1.0"; 14962306a36Sopenharmony_ci #address-cells = <1>; 15062306a36Sopenharmony_ci #size-cells = <1>; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci /* NetCP address range */ 15362306a36Sopenharmony_ci ranges = <0 0x2000000 0x100000>; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci clocks = <&clkpa>, <&clkcpgmac>; 15662306a36Sopenharmony_ci clock-names = "pa_clk", "ethss_clk"; 15762306a36Sopenharmony_ci dma-coherent; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci ti,navigator-dmas = <&dma_gbe 22>, 16062306a36Sopenharmony_ci <&dma_gbe 23>, 16162306a36Sopenharmony_ci <&dma_gbe 8>; 16262306a36Sopenharmony_ci ti,navigator-dma-names = "netrx0", "netrx1", "nettx"; 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci netcp-devices { 16562306a36Sopenharmony_ci ranges; 16662306a36Sopenharmony_ci #address-cells = <1>; 16762306a36Sopenharmony_ci #size-cells = <1>; 16862306a36Sopenharmony_ci gbe@90000 { /* ETHSS */ 16962306a36Sopenharmony_ci #address-cells = <1>; 17062306a36Sopenharmony_ci #size-cells = <1>; 17162306a36Sopenharmony_ci label = "netcp-gbe"; 17262306a36Sopenharmony_ci compatible = "ti,netcp-gbe"; 17362306a36Sopenharmony_ci reg = <0x90000 0x300>, <0x90400 0x400>, <0x90800 0x700>; 17462306a36Sopenharmony_ci /* enable-ale; */ 17562306a36Sopenharmony_ci tx-queue = <648>; 17662306a36Sopenharmony_ci tx-channel = "nettx"; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci cpts { 17962306a36Sopenharmony_ci clocks = <&cpts_refclk_mux>; 18062306a36Sopenharmony_ci clock-names = "cpts"; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci cpts_refclk_mux: cpts-refclk-mux { 18362306a36Sopenharmony_ci #clock-cells = <0>; 18462306a36Sopenharmony_ci clocks = <&chipclk12>, <&chipclk13>, 18562306a36Sopenharmony_ci <&timi0>, <&timi1>, 18662306a36Sopenharmony_ci <&tsrefclk>; 18762306a36Sopenharmony_ci ti,mux-tbl = <0x0>, <0x1>, <0x2>, 18862306a36Sopenharmony_ci <0x3>, <0x8>; 18962306a36Sopenharmony_ci assigned-clocks = <&cpts_refclk_mux>; 19062306a36Sopenharmony_ci assigned-clock-parents = <&chipclk12>; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci interfaces { 19562306a36Sopenharmony_ci gbe0: interface-0 { 19662306a36Sopenharmony_ci slave-port = <0>; 19762306a36Sopenharmony_ci link-interface = <1>; 19862306a36Sopenharmony_ci phy-handle = <ðphy0>; 19962306a36Sopenharmony_ci }; 20062306a36Sopenharmony_ci gbe1: interface-1 { 20162306a36Sopenharmony_ci slave-port = <1>; 20262306a36Sopenharmony_ci link-interface = <1>; 20362306a36Sopenharmony_ci phy-handle = <ðphy1>; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci }; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci secondary-slave-ports { 20862306a36Sopenharmony_ci port-2 { 20962306a36Sopenharmony_ci slave-port = <2>; 21062306a36Sopenharmony_ci link-interface = <2>; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci port-3 { 21362306a36Sopenharmony_ci slave-port = <3>; 21462306a36Sopenharmony_ci link-interface = <2>; 21562306a36Sopenharmony_ci }; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci netcp-interfaces { 22162306a36Sopenharmony_ci interface-0 { 22262306a36Sopenharmony_ci rx-channel = "netrx0"; 22362306a36Sopenharmony_ci rx-pool = <1024 12>; 22462306a36Sopenharmony_ci tx-pool = <1024 12>; 22562306a36Sopenharmony_ci rx-queue-depth = <128 128 0 0>; 22662306a36Sopenharmony_ci rx-buffer-size = <1518 4096 0 0>; 22762306a36Sopenharmony_ci rx-queue = <8704>; 22862306a36Sopenharmony_ci tx-completion-queue = <8706>; 22962306a36Sopenharmony_ci efuse-mac = <1>; 23062306a36Sopenharmony_ci netcp-gbe = <&gbe0>; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci interface-1 { 23462306a36Sopenharmony_ci rx-channel = "netrx1"; 23562306a36Sopenharmony_ci rx-pool = <1024 12>; 23662306a36Sopenharmony_ci tx-pool = <1024 12>; 23762306a36Sopenharmony_ci rx-queue-depth = <128 128 0 0>; 23862306a36Sopenharmony_ci rx-buffer-size = <1518 4096 0 0>; 23962306a36Sopenharmony_ci rx-queue = <8705>; 24062306a36Sopenharmony_ci tx-completion-queue = <8707>; 24162306a36Sopenharmony_ci efuse-mac = <0>; 24262306a36Sopenharmony_ci local-mac-address = [02 18 31 7e 3e 6f]; 24362306a36Sopenharmony_ci netcp-gbe = <&gbe1>; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci}; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_cisa_subsys: subsys@20c0000 { 24962306a36Sopenharmony_ci compatible = "simple-bus"; 25062306a36Sopenharmony_ci #address-cells = <1>; 25162306a36Sopenharmony_ci #size-cells = <1>; 25262306a36Sopenharmony_ci ranges = <0 0x20c0000 0x40000>; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci sa_config: subsys@0 { 25562306a36Sopenharmony_ci compatible = "syscon"; 25662306a36Sopenharmony_ci reg = <0x0 0x100>; 25762306a36Sopenharmony_ci }; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci rng@24000 { 26062306a36Sopenharmony_ci compatible = "ti,keystone-rng"; 26162306a36Sopenharmony_ci reg = <0x24000 0x1000>; 26262306a36Sopenharmony_ci ti,syscon-sa-cfg = <&sa_config>; 26362306a36Sopenharmony_ci clocks = <&clksa>; 26462306a36Sopenharmony_ci clock-names = "fck"; 26562306a36Sopenharmony_ci }; 26662306a36Sopenharmony_ci}; 267