162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree Source for Keystone 2 Lamarr 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 0x2000>; 1662306a36Sopenharmony_ci linkram0 = <0x100000 0x4000>; 1762306a36Sopenharmony_ci linkram1 = <0x70000000 0x10000>; /* 1MB OSR mem */ 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 queue-pools { 3662306a36Sopenharmony_ci qpend { 3762306a36Sopenharmony_ci qpend-0 { 3862306a36Sopenharmony_ci qrange = <658 8>; 3962306a36Sopenharmony_ci interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04 4062306a36Sopenharmony_ci 0 43 0xf04 0 44 0xf04 0 45 0xf04 4162306a36Sopenharmony_ci 0 46 0xf04 0 47 0xf04>; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci qpend-1 { 4462306a36Sopenharmony_ci qrange = <528 16>; 4562306a36Sopenharmony_ci interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04 4662306a36Sopenharmony_ci 0 51 0xf04 0 52 0xf04 0 53 0xf04 4762306a36Sopenharmony_ci 0 54 0xf04 0 55 0xf04 0 56 0xf04 4862306a36Sopenharmony_ci 0 57 0xf04 0 58 0xf04 0 59 0xf04 4962306a36Sopenharmony_ci 0 60 0xf04 0 61 0xf04 0 62 0xf04 5062306a36Sopenharmony_ci 0 63 0xf04>; 5162306a36Sopenharmony_ci qalloc-by-id; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci qpend-2 { 5462306a36Sopenharmony_ci qrange = <544 16>; 5562306a36Sopenharmony_ci interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04 5662306a36Sopenharmony_ci 0 59 0xf04 0 68 0xf04 0 69 0xf04 5762306a36Sopenharmony_ci 0 70 0xf04 0 71 0xf04 0 72 0xf04 5862306a36Sopenharmony_ci 0 73 0xf04 0 74 0xf04 0 75 0xf04 5962306a36Sopenharmony_ci 0 76 0xf04 0 77 0xf04 0 78 0xf04 6062306a36Sopenharmony_ci 0 79 0xf04>; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci general-purpose { 6462306a36Sopenharmony_ci gp-0 { 6562306a36Sopenharmony_ci qrange = <4000 64>; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci netcp-tx { 6862306a36Sopenharmony_ci qrange = <896 128>; 6962306a36Sopenharmony_ci qalloc-by-id; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci accumulator { 7362306a36Sopenharmony_ci acc-low-0 { 7462306a36Sopenharmony_ci qrange = <480 32>; 7562306a36Sopenharmony_ci accumulator = <0 47 16 2 50>; 7662306a36Sopenharmony_ci interrupts = <0 226 0xf01>; 7762306a36Sopenharmony_ci multi-queue; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci }; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci descriptor-regions { 8362306a36Sopenharmony_ci #address-cells = <1>; 8462306a36Sopenharmony_ci #size-cells = <1>; 8562306a36Sopenharmony_ci ranges; 8662306a36Sopenharmony_ci region-12 { 8762306a36Sopenharmony_ci id = <12>; 8862306a36Sopenharmony_ci region-spec = <8192 128>; /* num_desc desc_size */ 8962306a36Sopenharmony_ci link-index = <0x4000>; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci pdsps { 9462306a36Sopenharmony_ci #address-cells = <1>; 9562306a36Sopenharmony_ci #size-cells = <1>; 9662306a36Sopenharmony_ci ranges; 9762306a36Sopenharmony_ci pdsp0@2a10000 { 9862306a36Sopenharmony_ci reg = <0x2a10000 0x1000 /*iram */ 9962306a36Sopenharmony_ci 0x2a0f000 0x100 /*reg*/ 10062306a36Sopenharmony_ci 0x2a0c000 0x3c8 /*intd */ 10162306a36Sopenharmony_ci 0x2a20000 0x4000>; /*cmd*/ 10262306a36Sopenharmony_ci id = <0>; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci}; /* qmss */ 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ciknav_dmas: knav_dmas@0 { 10962306a36Sopenharmony_ci compatible = "ti,keystone-navigator-dma"; 11062306a36Sopenharmony_ci clocks = <&papllclk>; 11162306a36Sopenharmony_ci #address-cells = <1>; 11262306a36Sopenharmony_ci #size-cells = <1>; 11362306a36Sopenharmony_ci ranges; 11462306a36Sopenharmony_ci ti,navigator-cloud-address = <0x23a80000 0x23a90000>; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci dma_gbe: dma_gbe@0 { 11762306a36Sopenharmony_ci reg = <0x26186000 0x100>, 11862306a36Sopenharmony_ci <0x26187000 0x2a0>, 11962306a36Sopenharmony_ci <0x26188000 0xb60>, 12062306a36Sopenharmony_ci <0x26186100 0x80>, 12162306a36Sopenharmony_ci <0x26189000 0x1000>; 12262306a36Sopenharmony_ci reg-names = "global", "txchan", "rxchan", 12362306a36Sopenharmony_ci "txsched", "rxflow"; 12462306a36Sopenharmony_ci }; 12562306a36Sopenharmony_ci}; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_cinetcp: netcp@26000000 { 12862306a36Sopenharmony_ci reg = <0x2620110 0x8>; 12962306a36Sopenharmony_ci reg-names = "efuse"; 13062306a36Sopenharmony_ci compatible = "ti,netcp-1.0"; 13162306a36Sopenharmony_ci #address-cells = <1>; 13262306a36Sopenharmony_ci #size-cells = <1>; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci /* NetCP address range */ 13562306a36Sopenharmony_ci ranges = <0 0x26000000 0x1000000>; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci clocks = <&clkpa>, <&clkcpgmac>; 13862306a36Sopenharmony_ci clock-names = "pa_clk", "ethss_clk"; 13962306a36Sopenharmony_ci dma-coherent; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci ti,navigator-dmas = <&dma_gbe 0>, 14262306a36Sopenharmony_ci <&dma_gbe 8>, 14362306a36Sopenharmony_ci <&dma_gbe 0>; 14462306a36Sopenharmony_ci ti,navigator-dma-names = "netrx0", "netrx1", "nettx"; 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci netcp-devices { 14762306a36Sopenharmony_ci #address-cells = <1>; 14862306a36Sopenharmony_ci #size-cells = <1>; 14962306a36Sopenharmony_ci ranges; 15062306a36Sopenharmony_ci gbe@200000 { /* ETHSS */ 15162306a36Sopenharmony_ci label = "netcp-gbe"; 15262306a36Sopenharmony_ci compatible = "ti,netcp-gbe-5"; 15362306a36Sopenharmony_ci reg = <0x200000 0x900>, <0x220000 0x20000>; 15462306a36Sopenharmony_ci /* enable-ale; */ 15562306a36Sopenharmony_ci tx-queue = <896>; 15662306a36Sopenharmony_ci tx-channel = "nettx"; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci cpts { 15962306a36Sopenharmony_ci clocks = <&cpts_refclk_mux>; 16062306a36Sopenharmony_ci clock-names = "cpts"; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci cpts_refclk_mux: cpts-refclk-mux { 16362306a36Sopenharmony_ci #clock-cells = <0>; 16462306a36Sopenharmony_ci clocks = <&chipclk12>, <&chipclk13>, 16562306a36Sopenharmony_ci <&timi0>, <&timi1>, 16662306a36Sopenharmony_ci <&tsrefclk>; 16762306a36Sopenharmony_ci ti,mux-tbl = <0x0>, <0x1>, <0x2>, 16862306a36Sopenharmony_ci <0x3>, <0x8>; 16962306a36Sopenharmony_ci assigned-clocks = <&cpts_refclk_mux>; 17062306a36Sopenharmony_ci assigned-clock-parents = <&chipclk12>; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci interfaces { 17562306a36Sopenharmony_ci gbe0: interface-0 { 17662306a36Sopenharmony_ci slave-port = <0>; 17762306a36Sopenharmony_ci link-interface = <1>; 17862306a36Sopenharmony_ci phy-handle = <ðphy0>; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci gbe1: interface-1 { 18162306a36Sopenharmony_ci slave-port = <1>; 18262306a36Sopenharmony_ci link-interface = <1>; 18362306a36Sopenharmony_ci phy-handle = <ðphy1>; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci secondary-slave-ports { 18862306a36Sopenharmony_ci port-2 { 18962306a36Sopenharmony_ci slave-port = <2>; 19062306a36Sopenharmony_ci link-interface = <2>; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci port-3 { 19362306a36Sopenharmony_ci slave-port = <3>; 19462306a36Sopenharmony_ci link-interface = <2>; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci }; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci netcp-interfaces { 20162306a36Sopenharmony_ci interface-0 { 20262306a36Sopenharmony_ci rx-channel = "netrx0"; 20362306a36Sopenharmony_ci rx-pool = <1024 12>; 20462306a36Sopenharmony_ci tx-pool = <1024 12>; 20562306a36Sopenharmony_ci rx-queue-depth = <128 128 0 0>; 20662306a36Sopenharmony_ci rx-buffer-size = <1518 4096 0 0>; 20762306a36Sopenharmony_ci rx-queue = <528>; 20862306a36Sopenharmony_ci tx-completion-queue = <530>; 20962306a36Sopenharmony_ci efuse-mac = <1>; 21062306a36Sopenharmony_ci netcp-gbe = <&gbe0>; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci interface-1 { 21462306a36Sopenharmony_ci rx-channel = "netrx1"; 21562306a36Sopenharmony_ci rx-pool = <1024 12>; 21662306a36Sopenharmony_ci tx-pool = <1024 12>; 21762306a36Sopenharmony_ci rx-queue-depth = <128 128 0 0>; 21862306a36Sopenharmony_ci rx-buffer-size = <1518 4096 0 0>; 21962306a36Sopenharmony_ci rx-queue = <529>; 22062306a36Sopenharmony_ci tx-completion-queue = <531>; 22162306a36Sopenharmony_ci efuse-mac = <0>; 22262306a36Sopenharmony_ci local-mac-address = [02 18 31 7e 3e 7f]; 22362306a36Sopenharmony_ci netcp-gbe = <&gbe1>; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci}; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_cisa_subsys: subsys@26080000 { 22962306a36Sopenharmony_ci #address-cells = <1>; 23062306a36Sopenharmony_ci #size-cells = <1>; 23162306a36Sopenharmony_ci compatible = "simple-bus"; 23262306a36Sopenharmony_ci ranges = <0 0x26080000 0x40000>; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci sa_config: subsys@0 { 23562306a36Sopenharmony_ci compatible = "syscon"; 23662306a36Sopenharmony_ci reg = <0x0 0x100>; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci rng@24000 { 24062306a36Sopenharmony_ci compatible = "ti,keystone-rng"; 24162306a36Sopenharmony_ci reg = <0x24000 0x1000>; 24262306a36Sopenharmony_ci ti,syscon-sa-cfg = <&sa_config>; 24362306a36Sopenharmony_ci clocks = <&clksa>; 24462306a36Sopenharmony_ci clock-names = "fck"; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci}; 247