Lines Matching refs:isp

35 #include "isp.h"
77 #define CCP2_PRINT_REGISTER(isp, name)\
78 dev_dbg(isp->dev, "###CCP2 " #name "=0x%08x\n", \
79 isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_##name))
83 struct isp_device *isp = to_isp_device(ccp2);
85 dev_dbg(isp->dev, "-------------CCP2 Register dump-------------\n");
87 CCP2_PRINT_REGISTER(isp, SYSCONFIG);
88 CCP2_PRINT_REGISTER(isp, SYSSTATUS);
89 CCP2_PRINT_REGISTER(isp, LC01_IRQENABLE);
90 CCP2_PRINT_REGISTER(isp, LC01_IRQSTATUS);
91 CCP2_PRINT_REGISTER(isp, LC23_IRQENABLE);
92 CCP2_PRINT_REGISTER(isp, LC23_IRQSTATUS);
93 CCP2_PRINT_REGISTER(isp, LCM_IRQENABLE);
94 CCP2_PRINT_REGISTER(isp, LCM_IRQSTATUS);
95 CCP2_PRINT_REGISTER(isp, CTRL);
96 CCP2_PRINT_REGISTER(isp, LCx_CTRL(0));
97 CCP2_PRINT_REGISTER(isp, LCx_CODE(0));
98 CCP2_PRINT_REGISTER(isp, LCx_STAT_START(0));
99 CCP2_PRINT_REGISTER(isp, LCx_STAT_SIZE(0));
100 CCP2_PRINT_REGISTER(isp, LCx_SOF_ADDR(0));
101 CCP2_PRINT_REGISTER(isp, LCx_EOF_ADDR(0));
102 CCP2_PRINT_REGISTER(isp, LCx_DAT_START(0));
103 CCP2_PRINT_REGISTER(isp, LCx_DAT_SIZE(0));
104 CCP2_PRINT_REGISTER(isp, LCx_DAT_PING_ADDR(0));
105 CCP2_PRINT_REGISTER(isp, LCx_DAT_PONG_ADDR(0));
106 CCP2_PRINT_REGISTER(isp, LCx_DAT_OFST(0));
107 CCP2_PRINT_REGISTER(isp, LCM_CTRL);
108 CCP2_PRINT_REGISTER(isp, LCM_VSIZE);
109 CCP2_PRINT_REGISTER(isp, LCM_HSIZE);
110 CCP2_PRINT_REGISTER(isp, LCM_PREFETCH);
111 CCP2_PRINT_REGISTER(isp, LCM_SRC_ADDR);
112 CCP2_PRINT_REGISTER(isp, LCM_SRC_OFST);
113 CCP2_PRINT_REGISTER(isp, LCM_DST_ADDR);
114 CCP2_PRINT_REGISTER(isp, LCM_DST_OFST);
116 dev_dbg(isp->dev, "--------------------------------------------\n");
125 struct isp_device *isp = to_isp_device(ccp2);
129 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_SYSCONFIG,
131 while (!(isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_SYSSTATUS) &
135 dev_warn(isp->dev,
148 struct isp_device *isp = to_isp_device(ccp2);
150 isp_reg_writel(isp, ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SMART |
151 ((isp->revision == ISP_REVISION_15_0 && isp->autoidle) ?
163 struct isp_device *isp = to_isp_device(ccp2);
172 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LCx_CTRL(i),
177 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL,
185 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCP2,
189 isp_reg_clr(isp, OMAP3_ISP_IOMEM_CCP2,
205 struct isp_device *isp = to_isp_device(ccp2);
211 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL,
214 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LCM_CTRL,
231 struct isp_device *isp = to_isp_device(ccp2);
235 val = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL) |
242 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL);
244 val = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL);
247 dev_warn(isp->dev, "OMAP3 CCP2 bus not available\n");
273 struct isp_device *isp = to_isp_device(ccp2);
277 val = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL);
280 if (isp->revision == ISP_REVISION_15_0) {
291 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL);
306 struct isp_device *isp = to_isp_device(ccp2);
319 val = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LCx_CTRL(0))
322 if (isp->revision == ISP_REVISION_15_0) {
338 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LCx_CTRL(0));
341 isp_reg_writel(isp, config->data_start << ISPCCP2_LCx_DAT_SHIFT,
345 isp_reg_writel(isp, config->data_size << ISPCCP2_LCx_DAT_SHIFT,
357 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LC01_IRQSTATUS);
358 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LC01_IRQENABLE, val);
405 struct isp_device *isp = to_isp_device(ccp2);
435 dev_dbg(isp->dev, "%s: minimum clock divisor = %u\n", __func__,
453 struct isp_device *isp = to_isp_device(ccp2);
466 isp_reg_writel(isp, ISPCCP2_LCM_HSIZE_SKIP_MIN |
471 isp_reg_writel(isp, config->vsize_count << ISPCCP2_LCM_VSIZE_SHIFT,
479 isp_reg_writel(isp, config->src_ofst, OMAP3_ISP_IOMEM_CCP2,
507 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LCM_CTRL);
517 isp_reg_writel(isp, hwords << ISPCCP2_LCM_PREFETCH_SHIFT,
521 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_CTRL,
526 isp_reg_writel(isp, ISPCCP2_LCM_IRQSTATUS_OCPERROR_IRQ |
531 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LCM_IRQENABLE,
545 struct isp_device *isp = to_isp_device(ccp2);
547 isp_reg_writel(isp, addr, OMAP3_ISP_IOMEM_CCP2, ISPCCP2_LCM_SRC_ADDR);
581 struct isp_device *isp = to_isp_device(ccp2);
592 lcx_irqstatus = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2,
594 isp_reg_writel(isp, lcx_irqstatus, OMAP3_ISP_IOMEM_CCP2,
597 lcm_irqstatus = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCP2,
599 isp_reg_writel(isp, lcm_irqstatus, OMAP3_ISP_IOMEM_CCP2,
604 dev_dbg(isp->dev, "CCP2 err:%x\n", lcx_irqstatus);
610 dev_dbg(isp->dev, "CCP2 OCP err:%x\n", lcm_irqstatus);
855 struct isp_device *isp = to_isp_device(ccp2);
891 omap3isp_sbl_enable(isp, OMAP3_ISP_SBL_CSI1_READ);
903 omap3isp_sbl_disable(isp, OMAP3_ISP_SBL_CSI1_READ);
947 * @video : Pointer to isp video structure
953 struct isp_ccp2_device *ccp2 = &video->isp->isp_ccp2;
1086 sd->grp_id = 1 << 16; /* group ID for isp subdevs */
1114 ccp2->video_in.isp = to_isp_device(ccp2);
1139 * @isp : Pointer to ISP device
1142 int omap3isp_ccp2_init(struct isp_device *isp)
1144 struct isp_ccp2_device *ccp2 = &isp->isp_ccp2;
1160 if (isp->revision == ISP_REVISION_2_0) {
1161 ccp2->vdds_csib = regulator_get(isp->dev, "vdds_csib");
1163 dev_dbg(isp->dev,
1167 } else if (isp->revision == ISP_REVISION_15_0) {
1168 ccp2->phy = &isp->isp_csiphy1;
1183 * @isp : Pointer to ISP device
1185 void omap3isp_ccp2_cleanup(struct isp_device *isp)
1187 struct isp_ccp2_device *ccp2 = &isp->isp_ccp2;