keystone2: keystone_nav: don't use hard addresses in netcp_pktdma

Use definitions in netcp_pktdma instead direct addresses.
The definitions can be set specifically for SoC, so there
is no reason to check SoC type while initialization.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
This commit is contained in:
Khoronzhuk, Ivan 2014-09-05 19:02:46 +03:00 committed by Tom Rini
parent afa479cf66
commit ed948e2959
3 changed files with 27 additions and 29 deletions

View file

@ -10,11 +10,6 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/arch/keystone_nav.h> #include <asm/arch/keystone_nav.h>
static int soc_type =
#ifdef CONFIG_SOC_K2HK
k2hk;
#endif
struct qm_config qm_memmap = { struct qm_config qm_memmap = {
.stat_cfg = KS2_QM_QUEUE_STATUS_BASE, .stat_cfg = KS2_QM_QUEUE_STATUS_BASE,
.queue = (void *)KS2_QM_MANAGER_QUEUES_BASE, .queue = (void *)KS2_QM_MANAGER_QUEUES_BASE,
@ -158,22 +153,21 @@ void queue_close(u32 qnum)
; ;
} }
/* /**
* DMA API * DMA API
*/ */
struct pktdma_cfg netcp_pktdma = {
struct pktdma_cfg k2hk_netcp_pktdma = { .global = (void *)KS2_NETCP_PDMA_CTRL_BASE,
.global = (struct global_ctl_regs *)0x02004000, .tx_ch = (void *)KS2_NETCP_PDMA_TX_BASE,
.tx_ch = (struct tx_chan_regs *)0x02004400, .tx_ch_num = KS2_NETCP_PDMA_TX_CH_NUM,
.tx_ch_num = 9, .rx_ch = (void *)KS2_NETCP_PDMA_RX_BASE,
.rx_ch = (struct rx_chan_regs *)0x02004800, .rx_ch_num = KS2_NETCP_PDMA_RX_CH_NUM,
.rx_ch_num = 26, .tx_sched = (u32 *)KS2_NETCP_PDMA_SCHED_BASE,
.tx_sched = (u32 *)0x02004c00, .rx_flows = (void *)KS2_NETCP_PDMA_RX_FLOW_BASE,
.rx_flows = (struct rx_flow_regs *)0x02005000, .rx_flow_num = KS2_NETCP_PDMA_RX_FLOW_NUM,
.rx_flow_num = 32, .rx_free_q = KS2_NETCP_PDMA_RX_FREE_QUEUE,
.rx_free_q = 4001, .rx_rcv_q = KS2_NETCP_PDMA_RX_RCV_QUEUE,
.rx_rcv_q = 4002, .tx_snd_q = KS2_NETCP_PDMA_TX_SND_QUEUE,
.tx_snd_q = 648,
}; };
struct pktdma_cfg *netcp; struct pktdma_cfg *netcp;
@ -300,12 +294,7 @@ static int _netcp_init(struct pktdma_cfg *netcp_cfg,
int netcp_init(struct rx_buff_desc *rx_buffers) int netcp_init(struct rx_buff_desc *rx_buffers)
{ {
switch (soc_type) { return _netcp_init(&netcp_pktdma, rx_buffers);
case k2hk:
_netcp_init(&k2hk_netcp_pktdma, rx_buffers);
return QM_OK;
}
return QM_ERR;
} }
int netcp_close(void) int netcp_close(void)

View file

@ -84,4 +84,17 @@
/* Number of DSP cores */ /* Number of DSP cores */
#define KS2_NUM_DSPS 8 #define KS2_NUM_DSPS 8
/* NETCP pktdma */
#define KS2_NETCP_PDMA_CTRL_BASE 0x02004000
#define KS2_NETCP_PDMA_TX_BASE 0x02004400
#define KS2_NETCP_PDMA_TX_CH_NUM 9
#define KS2_NETCP_PDMA_RX_BASE 0x02004800
#define KS2_NETCP_PDMA_RX_CH_NUM 26
#define KS2_NETCP_PDMA_SCHED_BASE 0x02004c00
#define KS2_NETCP_PDMA_RX_FLOW_BASE 0x02005000
#define KS2_NETCP_PDMA_RX_FLOW_NUM 32
#define KS2_NETCP_PDMA_RX_FREE_QUEUE 4001
#define KS2_NETCP_PDMA_RX_RCV_QUEUE 4002
#define KS2_NETCP_PDMA_TX_SND_QUEUE 648
#endif /* __ASM_ARCH_HARDWARE_H */ #endif /* __ASM_ARCH_HARDWARE_H */

View file

@ -13,10 +13,6 @@
#include <asm/arch/hardware.h> #include <asm/arch/hardware.h>
#include <asm/io.h> #include <asm/io.h>
enum soc_type_t {
k2hk
};
#define QM_OK 0 #define QM_OK 0
#define QM_ERR -1 #define QM_ERR -1
#define QM_DESC_TYPE_HOST 0 #define QM_DESC_TYPE_HOST 0