blob: cf16b97394182597ed4cae54a0e5fb838aef734d [file] [log] [blame]
/dts-v1/;
/include/ "skeleton.dtsi"
/ {
model = "Texas Instruments TCI6614 EVM";
compatible = "ti,tci6614-evm";
#address-cells = <1>;
#size-cells = <1>;
chosen {
bootargs = "console=ttyS0,115200n8 mem=512M rootwait=1 rw ubi.mtd=2,2048 rootfstype=ubifs root=ubi0:rootfs";
};
memory {
device_type = "memory";
reg = <0x80000000 0x8000000>;
};
soc6614@2000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus", "ti,tci6614-bus";
ranges;
hwqueue0: hwqueue@2a00000 {
compatible = "ti,keystone-hwqueue";
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = <0x2a00000 0xc0000>;
range = <0 0x2000>;
regions = <12 3>;
linkram0 = <0x80000 0x4000>;
link-index = <0x1400 0x800>;
qmgrs {
#address-cells = <1>;
#size-cells = <1>;
ranges;
qmgr0 {
managed-queues = <0 0x2000>; /* managed queues */
reg = <0x2a00000 0x20000 /* 0 - peek */
0x2a62000 0x6000 /* 1 - status */
0x2a68000 0x2000 /* 2 - config */
0x2a6a000 0x4000 /* 3 - region */
0x2a20000 0x20000 /* 4 - push */
0x2a20000 0x20000>; /* 5 - pop */
};
};
queues {
qpend-arm {
values = <650 8>;
irq-base= <41>;
reserved;
};
general {
values = <4000 64>;
};
pa {
values = <640 9>;
reserved;
};
infradma {
values = <800 12>;
reserved;
};
accumulator-low-0 {
values = <0 32>;
// pdsp-id, channel, entries, pacing mode, latency
accumulator = <0 32 8 2 0>;
irq-base = <363>;
multi-queue;
reserved;
};
accumulator-low-1 {
values = <32 32>;
// pdsp-id, channel, entries, pacing mode, latency
accumulator = <0 33 8 2 0>;
irq-base = <364>;
multi-queue;
};
accumulator-low-2 {
values = <64 32>;
// pdsp-id, channel, entries, pacing mode, latency
accumulator = <0 34 8 2 0>;
irq-base = <365>;
multi-queue;
};
accumulator-low-3 {
values = <96 32>;
// pdsp-id, channel, entries, pacing mode, latency
accumulator = <0 35 8 2 0>;
irq-base = <366>;
multi-queue;
};
accumulator-high {
values = <728 8>;
// pdsp-id, channel, entries, pacing mode, latency
accumulator = <0 20 8 2 0>;
irq-base = <150>;
reserved;
};
riotx {
values = <672 1>;
reserved;
};
};
descriptors {
pool-net {
values = <768 128>; /* num_desc desc_size */
address = <0>;
};
pool-udma {
values = <1152 128>; /* num_desc desc_size */
address = <0>;
};
pool-rio {
values = <128 128>;
address = <0>;
};
};
pdsps {
#address-cells = <1>;
#size-cells = <1>;
ranges;
pdsp0@0x2a60000 {
firmware = "keystone/qmss_pdsp_acc48_le_1_0_3_12.fw";
reg = <0x2a60000 0x1000 /*iram */
0x2a6e000 0x1000 /*reg*/
0x2aa0000 0x3c8 /*intd */
0x2ab8000 0x4000>; /*cmd*/
id = <0>;
};
};
};
infradma: pktdma@2a6c000 {
compatible = "ti,keystone-pktdma";
reg = <0x2a6c000 0x100 /* 0 - global */
0x2a6c400 0x400 /* 1 - txchan */
0x2a6c800 0x400 /* 2 - rxchan */
0x2a6cc00 0x400 /* 3 - txsched */
0x2a6d000 0x400>; /* 4 - rxflow */
loop-back;
/* big-endian; */
enable-all;
/* debug; */
/* rx-priority = <0>; */
/* tx-priority = <0>; */
logical-queue-managers = <2>;
queues-per-queue-manager = <4096>;
qm-base-address = <0x34020000 0x34030000>;
channels {
udmatx0 {
transmit;
label = "udmatx0";
pool = "pool-udma";
submit-queue = <800>;
complete-queue = <0>;
/* debug; */
channel = <0>;
priority = <1>;
flowtag = <0>;
};
udmatx1 {
transmit;
label = "udmatx1";
pool = "pool-udma";
submit-queue = <801>;
complete-queue = <1>;
/* debug; */
channel = <1>;
priority = <1>;
flowtag = <1>;
};
udmatx2 {
transmit;
label = "udmatx2";
pool = "pool-udma";
submit-queue = <802>;
complete-queue = <2>;
/* debug; */
channel = <2>;
priority = <1>;
flowtag = <2>;
};
udmatx3 {
transmit;
label = "udmatx3";
pool = "pool-udma";
submit-queue = <803>;
complete-queue = <3>;
/* debug; */
channel = <3>;
priority = <1>;
flowtag = <3>;
};
udmatx4 {
transmit;
label = "udmatx4";
pool = "pool-udma";
submit-queue = <804>;
complete-queue = <4>;
/* debug; */
channel = <4>;
priority = <1>;
flowtag = <4>;
};
udmatx5 {
transmit;
label = "udmatx5";
pool = "pool-udma";
submit-queue = <805>;
complete-queue = <5>;
/* debug; */
channel = <5>;
priority = <1>;
flowtag = <5>;
};
udmatx6 {
transmit;
label = "udmatx6";
pool = "pool-udma";
submit-queue = <806>;
complete-queue = <6>;
/* debug; */
channel = <6>;
priority = <1>;
flowtag = <6>;
};
udmatx7 {
transmit;
label = "udmatx7";
pool = "pool-udma";
submit-queue = <807>;
complete-queue = <7>;
/* debug; */
channel = <7>;
priority = <1>;
flowtag = <7>;
};
udmatx8 {
transmit;
label = "udmatx8";
pool = "pool-udma";
submit-queue = <808>;
complete-queue = <8>;
/* debug; */
channel = <8>;
priority = <1>;
flowtag = <8>;
};
udmatx9 {
transmit;
label = "udmatx9";
pool = "pool-udma";
submit-queue = <809>;
complete-queue = <9>;
/* debug; */
channel = <9>;
priority = <1>;
flowtag = <9>;
};
udmatx10 {
transmit;
label = "udmatx10";
pool = "pool-udma";
submit-queue = <810>;
complete-queue = <10>;
/* debug; */
channel = <10>;
priority = <1>;
flowtag = <10>;
};
udmatx11 {
transmit;
label = "udmatx11";
pool = "pool-udma";
submit-queue = <811>;
complete-queue = <11>;
/* debug; */
channel = <11>;
priority = <1>;
flowtag = <11>;
};
udmarx0 {
receive;
label = "udmarx0";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <16>;
/* debug; */
channel = <0>;
flow = <0>;
};
udmarx1 {
receive;
label = "udmarx1";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <17>;
/* debug; */
channel = <1>;
flow = <1>;
};
udmarx2 {
receive;
label = "udmarx2";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <18>;
/* debug; */
channel = <2>;
flow = <2>;
};
udmarx3 {
receive;
label = "udmarx3";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <19>;
/* debug; */
channel = <3>;
flow = <3>;
};
udmarx4 {
receive;
label = "udmarx4";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <20>;
/* debug; */
channel = <4>;
flow = <4>;
};
udmarx5 {
receive;
label = "udmarx5";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <21>;
/* debug; */
channel = <5>;
flow = <5>;
};
udmarx6 {
receive;
label = "udmarx6";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <22>;
/* debug; */
channel = <6>;
flow = <6>;
};
udmarx7 {
receive;
label = "udmarx7";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <23>;
/* debug; */
channel = <7>;
flow = <7>;
};
udmarx8 {
receive;
label = "udmarx8";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <24>;
/* debug; */
channel = <8>;
flow = <8>;
};
udmarx9 {
receive;
label = "udmarx9";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <25>;
/* debug; */
channel = <9>;
flow = <9>;
};
udmarx10 {
receive;
label = "udmarx10";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <26>;
/* debug; */
channel = <10>;
flow = <10>;
};
udmarx11 {
receive;
label = "udmarx11";
pool = "pool-udma";
/* submit-queue = <xx>; */
complete-queue = <27>;
/* debug; */
channel = <11>;
flow = <11>;
};
};
};
padma: pktdma@2004000 {
compatible = "ti,keystone-pktdma";
reg = <0x2004000 0x100 /* 0 - global */
0x2004400 0x120 /* 1 - txchan */
0x2004800 0x300 /* 2 - rxchan */
0x2004c00 0x120 /* 3 - txsched */
0x2005000 0x400>; /* 4 - rxflow */
/* loop-back; */
/* bigendian; */
enable-all;
/* debug; */
/* rx-priority = <0>; */
/* tx-priority = <0>; */
logical-queue-managers = <2>;
queues-per-queue-manager = <4096>;
qm-base-address = <0x34020000 0x34030000>;
channels {
nettx {
transmit;
label = "nettx";
pool = "pool-net";
submit-queue = <648>;
/* complete-queue = <xx>; */
/* debug; */
/* channel = <0>; */
/* priority = <1>; */
};
netrx {
receive;
label = "netrx";
pool = "pool-net";
/* submit-queue = <xx>; */
complete-queue = <650>;
/* debug; */
/* channel = <0>; */
flow = <30>;
};
satx {
transmit;
label = "satx";
pool = "pool-net";
submit-queue = <646>;
};
patx-cmd {
transmit;
label = "patx-cmd";
pool = "pool-net";
submit-queue = <640>;
/* complete-queue = <xx>; */
/* debug; */
/* channel = <xx>; */
/* priority = <1>; */
};
patx-dat {
transmit;
label = "patx-dat";
pool = "pool-net";
submit-queue = <645>;
/* complete-queue = <xx>; */
/* debug; */
/* channel = <xx>; */
/* priority = <1>; */
};
parx {
receive;
label = "parx";
pool = "pool-net";
/* submit-queue = <xx>; */
/* complete-queue = <xx>; */
/* debug; */
/* channel = <0>; */
flow = <31>;
};
};
};
riodma: pktdma@2901000 {
compatible = "ti,keystone-pktdma";
reg = <0x2901000 0x100 /* 0 - global */
0x2901400 0x200 /* 1 - txchan */
0x2901800 0x200 /* 2 - rxchan */
0x2901c00 0x200 /* 3 - txsched */
0x2902000 0x300>; /* 4 - rxflow */
enable-all;
logical-queue-managers = <2>;
queues-per-queue-manager = <4096>;
qm-base-address = <0x34020000 0x34030000>;
channels {
riotx {
transmit;
label = "riotx";
pool = "pool-rio";
submit-queue = <672>;
/*complete-queue = <657>;*/
/*debug;*/
};
riorx {
receive;
label = "riorx";
pool = "pool-rio";
complete-queue = <653>;
flow = <21>;
};
};
};
mdio: mdio@2090300 {
compatible = "ti,davinci_mdio";
reg = <0x2090300 0x100>;
bus-freq = <50000000>;
};
udma0 {
compatible = "ti,keystone-udma";
};
netcp: netcp@2090000 {
reg = <0x2090000 0xf00
0x2620110 0x8>;
compatible = "ti,keystone-netcp";
rx-channel = "netrx";
rx-queue-depth = <128 128 0 0>;
rx-buffer-size = <1500 4096 0 0>;
efuse-mac = <1>;
local-mac-address = [00 18 31 7e 3e 6e];
cpsw: cpsw@2090000 {
label = "keystone-cpsw";
tx-channel = "nettx";
tx_queue_depth = <32>;
sgmii_module_ofs = <0x100>;
switch_module_ofs = <0x800>;
host_port_reg_ofs = <0x834>;
slave_reg_ofs = <0x860>;
sliver_reg_ofs = <0x900>;
hw_stats_reg_ofs = <0xb00>;
ale_reg_ofs = <0xe00>;
num_slaves = <2>;
ale_ageout = <10>;
ale_entries = <1024>;
ale_ports = <3>;
slaves {
slave0 {
label = "slave0";
link-interface = <2>;
};
slave1 {
label = "slave1";
link-interface = <1>;
};
};
};
pa: pa@2000000 {
label = "keystone-pa";
tx_cmd_queue_depth = <32>;
tx_data_queue_depth = <32>;
rx_pool_depth = <32>;
rx_buffer_size = <128>;
};
sa: pa@20c0000 {
label = "keystone-sa";
tx_queue_depth = <32>;
};
};
crypto: crypto@20c0000 {
compatible = "ti,keystone-crypto";
reg = <0x20c0000 0x40000>;
};
ipcirq: ipcirq@26202bc { /* ipc irq chip */
compatible = "ti,keystone-ipc-irq";
reg = <0x026202bc 4 /* host ack register */
0x0262027c 4>; /* ipc host interrupt generation register */
irq = <129>; /* it should match the value in irqs.h */
base = <512>; /* base irq number
following is the source id to irq mapping
SRCS0 <-> base ... SRCS27 <-> (base + 27)
note that SRCS0 is bit 4 in ipc register */
};
rproc0: rproc@2620040 {
compatible = "ti,keystone-rproc";
reg = <0x02620040 4 /* boot address register */
0x02350a5c 4 /* module control register */
0x02350120 4 /* power domain transition command register */
0x02620240 4>; /* ipc interrupt generation register */
addr-map = <0x10800000 0x00800000 0x100000 /* l2-ram global, local, size */
0x10800000 0x10800000 0x100000 /* l2-ram global, global, size */
0x0c000000 0x0c000000 0x200000 /* msmc-sram global, local, size */
0xa0000000 0xa0000000 0x20000000>; /* ddr3-sram global, local, size */
exception-irq = <512>; /* ipc irq for DSP exception */
firmware = "dsp-core0.out";
core = "dsp-core0";
};
rproc1: rproc@2620044 {
compatible = "ti,keystone-rproc";
reg = <0x02620044 4
0x02350a60 4
0x02350120 4
0x02620244 4>;
addr-map = <0x11800000 0x00800000 0x100000
0x11800000 0x11800000 0x100000
0x0c000000 0x0c000000 0x200000
0xa0000000 0xa0000000 0x20000000>;
exception-irq = <513>;
firmware = "dsp-core1.out";
core = "dsp-core1";
};
rproc2: rproc@2620048 {
compatible = "ti,keystone-rproc";
reg = <0x02620048 4
0x02350a68 4
0x02350120 4
0x02620248 4>;
addr-map = <0x12800000 0x00800000 0x100000
0x12800000 0x12800000 0x100000
0x0c000000 0x0c000000 0x200000
0xa0000000 0xa0000000 0x20000000>;
exception-irq = <514>;
firmware = "dsp-core2.out";
core = "dsp-core2";
};
rproc3: rproc@262004C {
compatible = "ti,keystone-rproc";
reg = <0x0262004c 4
0x02350a70 4
0x02350120 4
0x0262024c 4>;
addr-map = <0x13800000 0x00800000 0x100000
0x13800000 0x13800000 0x100000
0x0c000000 0x0c000000 0x200000
0xa0000000 0xa0000000 0x20000000>;
exception-irq = <515>;
firmware = "dsp-core3.out";
core = "dsp-core3";
};
rapidio: rapidio@2900000 {
#address-cells = <1>;
#size-cells = <1>;
reg = <0x2900000 0x21000 /* rio regs */
0x2620000 0x3b0>; /* boot config regs */
compatible = "ti,keystone-rapidio";
tx_channel = "riotx";
tx_queue_depth = <32>;
rx_channel = "riorx";
rx_queue_depth = <64 0 0 0>;
rx_buffer_size = <1552 0 0 0>;
ports = <0x1>; /* bitfield of port(s) to probe on this controller */
dev-id-size = <0>; /* RapidIO common transport system size.
* 0 - Small size. 8-bit deviceID fields. 256 devices.
* 1 - Large size, 16-bit deviceID fields. 65536 devices. */
};
};
};