keystone2: keystone_nav: don't use hard addresses in netcp_pktdma
authorKhoronzhuk, Ivan <ivan.khoronzhuk@ti.com>
Fri, 5 Sep 2014 16:02:46 +0000 (19:02 +0300)
committerTom Rini <trini@ti.com>
Thu, 23 Oct 2014 15:27:04 +0000 (11:27 -0400)
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>
arch/arm/cpu/armv7/keystone/keystone_nav.c
arch/arm/include/asm/arch-keystone/hardware-k2hk.h
arch/arm/include/asm/arch-keystone/keystone_nav.h

index 5219f84bfb83d33a5d1133da5f4f91d4dc5cf693..46483b185dba707c0e810636f7aa1d5402d5ec3a 100644 (file)
 #include <asm/io.h>
 #include <asm/arch/keystone_nav.h>
 
-static int soc_type =
-#ifdef CONFIG_SOC_K2HK
-       k2hk;
-#endif
-
 struct qm_config qm_memmap = {
        .stat_cfg       = KS2_QM_QUEUE_STATUS_BASE,
        .queue          = (void *)KS2_QM_MANAGER_QUEUES_BASE,
@@ -158,22 +153,21 @@ void queue_close(u32 qnum)
                ;
 }
 
-/*
+/**
  * DMA API
  */
-
-struct pktdma_cfg k2hk_netcp_pktdma = {
-       .global         = (struct global_ctl_regs *)0x02004000,
-       .tx_ch          = (struct tx_chan_regs *)0x02004400,
-       .tx_ch_num      = 9,
-       .rx_ch          = (struct rx_chan_regs *)0x02004800,
-       .rx_ch_num      = 26,
-       .tx_sched       = (u32 *)0x02004c00,
-       .rx_flows       = (struct rx_flow_regs *)0x02005000,
-       .rx_flow_num    = 32,
-       .rx_free_q      = 4001,
-       .rx_rcv_q       = 4002,
-       .tx_snd_q       = 648,
+struct pktdma_cfg netcp_pktdma = {
+       .global         = (void *)KS2_NETCP_PDMA_CTRL_BASE,
+       .tx_ch          = (void *)KS2_NETCP_PDMA_TX_BASE,
+       .tx_ch_num      = KS2_NETCP_PDMA_TX_CH_NUM,
+       .rx_ch          = (void *)KS2_NETCP_PDMA_RX_BASE,
+       .rx_ch_num      = KS2_NETCP_PDMA_RX_CH_NUM,
+       .tx_sched       = (u32 *)KS2_NETCP_PDMA_SCHED_BASE,
+       .rx_flows       = (void *)KS2_NETCP_PDMA_RX_FLOW_BASE,
+       .rx_flow_num    = KS2_NETCP_PDMA_RX_FLOW_NUM,
+       .rx_free_q      = KS2_NETCP_PDMA_RX_FREE_QUEUE,
+       .rx_rcv_q       = KS2_NETCP_PDMA_RX_RCV_QUEUE,
+       .tx_snd_q       = KS2_NETCP_PDMA_TX_SND_QUEUE,
 };
 
 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)
 {
-       switch (soc_type) {
-       case k2hk:
-               _netcp_init(&k2hk_netcp_pktdma, rx_buffers);
-               return QM_OK;
-       }
-       return QM_ERR;
+       return _netcp_init(&netcp_pktdma, rx_buffers);
 }
 
 int netcp_close(void)
index eb132f73e605dd3d189be6d899b6e896ddaeb364..43c2c42d8e0a71b3ae0a07263036bbf638ef589a 100644 (file)
 /* Number of DSP cores */
 #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 */
index ab81eaf1fda09fdd472ad07b77fe62acd1a62171..646c2f3a5697c21434fe1a1e699de3f56175d759 100644 (file)
 #include <asm/arch/hardware.h>
 #include <asm/io.h>
 
-enum soc_type_t {
-       k2hk
-};
-
 #define QM_OK                    0
 #define QM_ERR                  -1
 #define QM_DESC_TYPE_HOST        0