|
@@ -721,6 +721,39 @@ static struct davinci_uart_config uart_config __initdata = {
|
|
|
#define DM646X_EVM_PHY_MASK (0x2)
|
|
|
#define DM646X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */
|
|
|
|
|
|
+/*
|
|
|
+ * The following EDMA channels/slots are not being used by drivers (for
|
|
|
+ * example: Timer, GPIO, UART events etc) on dm646x, hence they are being
|
|
|
+ * reserved for codecs on the DSP side.
|
|
|
+ */
|
|
|
+static const s16 dm646x_dma_rsv_chans[][2] = {
|
|
|
+ /* (offset, number) */
|
|
|
+ { 0, 4},
|
|
|
+ {13, 3},
|
|
|
+ {24, 4},
|
|
|
+ {30, 2},
|
|
|
+ {54, 3},
|
|
|
+ {-1, -1}
|
|
|
+};
|
|
|
+
|
|
|
+static const s16 dm646x_dma_rsv_slots[][2] = {
|
|
|
+ /* (offset, number) */
|
|
|
+ { 0, 4},
|
|
|
+ {13, 3},
|
|
|
+ {24, 4},
|
|
|
+ {30, 2},
|
|
|
+ {54, 3},
|
|
|
+ {128, 384},
|
|
|
+ {-1, -1}
|
|
|
+};
|
|
|
+
|
|
|
+static struct edma_rsv_info dm646x_edma_rsv[] = {
|
|
|
+ {
|
|
|
+ .rsv_chans = dm646x_dma_rsv_chans,
|
|
|
+ .rsv_slots = dm646x_dma_rsv_slots,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static __init void evm_init(void)
|
|
|
{
|
|
|
struct davinci_soc_info *soc_info = &davinci_soc_info;
|
|
@@ -732,6 +765,8 @@ static __init void evm_init(void)
|
|
|
|
|
|
platform_device_register(&davinci_nand_device);
|
|
|
|
|
|
+ dm646x_init_edma(dm646x_edma_rsv);
|
|
|
+
|
|
|
if (HAS_ATA)
|
|
|
davinci_init_ide();
|
|
|
|