|
@@ -125,7 +125,6 @@ static struct clk vpss_slave_clk = {
|
|
|
.lpsc = DAVINCI_LPSC_VPSSSLV,
|
|
|
};
|
|
|
|
|
|
-
|
|
|
static struct clk clkout1_clk = {
|
|
|
.name = "clkout1",
|
|
|
.parent = &pll1_aux_clk,
|
|
@@ -665,6 +664,17 @@ static struct platform_device dm355_asp1_device = {
|
|
|
.resource = dm355_asp1_resources,
|
|
|
};
|
|
|
|
|
|
+static void dm355_ccdc_setup_pinmux(void)
|
|
|
+{
|
|
|
+ davinci_cfg_reg(DM355_VIN_PCLK);
|
|
|
+ davinci_cfg_reg(DM355_VIN_CAM_WEN);
|
|
|
+ davinci_cfg_reg(DM355_VIN_CAM_VD);
|
|
|
+ davinci_cfg_reg(DM355_VIN_CAM_HD);
|
|
|
+ davinci_cfg_reg(DM355_VIN_YIN_EN);
|
|
|
+ davinci_cfg_reg(DM355_VIN_CINL_EN);
|
|
|
+ davinci_cfg_reg(DM355_VIN_CINH_EN);
|
|
|
+}
|
|
|
+
|
|
|
static struct resource dm355_vpss_resources[] = {
|
|
|
{
|
|
|
/* VPSS BL Base address */
|
|
@@ -701,6 +711,10 @@ static struct resource vpfe_resources[] = {
|
|
|
.end = IRQ_VDINT1,
|
|
|
.flags = IORESOURCE_IRQ,
|
|
|
},
|
|
|
+};
|
|
|
+
|
|
|
+static u64 vpfe_capture_dma_mask = DMA_BIT_MASK(32);
|
|
|
+static struct resource dm355_ccdc_resource[] = {
|
|
|
/* CCDC Base address */
|
|
|
{
|
|
|
.flags = IORESOURCE_MEM,
|
|
@@ -708,8 +722,18 @@ static struct resource vpfe_resources[] = {
|
|
|
.end = 0x01c70600 + 0x1ff,
|
|
|
},
|
|
|
};
|
|
|
+static struct platform_device dm355_ccdc_dev = {
|
|
|
+ .name = "dm355_ccdc",
|
|
|
+ .id = -1,
|
|
|
+ .num_resources = ARRAY_SIZE(dm355_ccdc_resource),
|
|
|
+ .resource = dm355_ccdc_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &vpfe_capture_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ .platform_data = dm355_ccdc_setup_pinmux,
|
|
|
+ },
|
|
|
+};
|
|
|
|
|
|
-static u64 vpfe_capture_dma_mask = DMA_BIT_MASK(32);
|
|
|
static struct platform_device vpfe_capture_dev = {
|
|
|
.name = CAPTURE_DRV_NAME,
|
|
|
.id = -1,
|
|
@@ -857,20 +881,13 @@ static int __init dm355_init_devices(void)
|
|
|
if (!cpu_is_davinci_dm355())
|
|
|
return 0;
|
|
|
|
|
|
+ /* Add ccdc clock aliases */
|
|
|
+ clk_add_alias("master", dm355_ccdc_dev.name, "vpss_master", NULL);
|
|
|
+ clk_add_alias("slave", dm355_ccdc_dev.name, "vpss_master", NULL);
|
|
|
davinci_cfg_reg(DM355_INT_EDMA_CC);
|
|
|
platform_device_register(&dm355_edma_device);
|
|
|
platform_device_register(&dm355_vpss_device);
|
|
|
- /*
|
|
|
- * setup Mux configuration for vpfe input and register
|
|
|
- * vpfe capture platform device
|
|
|
- */
|
|
|
- davinci_cfg_reg(DM355_VIN_PCLK);
|
|
|
- davinci_cfg_reg(DM355_VIN_CAM_WEN);
|
|
|
- davinci_cfg_reg(DM355_VIN_CAM_VD);
|
|
|
- davinci_cfg_reg(DM355_VIN_CAM_HD);
|
|
|
- davinci_cfg_reg(DM355_VIN_YIN_EN);
|
|
|
- davinci_cfg_reg(DM355_VIN_CINL_EN);
|
|
|
- davinci_cfg_reg(DM355_VIN_CINH_EN);
|
|
|
+ platform_device_register(&dm355_ccdc_dev);
|
|
|
platform_device_register(&vpfe_capture_dev);
|
|
|
|
|
|
return 0;
|