Lines Matching full:csid

3  * camss-csid-4-7.c
5 * Qualcomm MSM Camera Subsystem - CSID (CSI Decoder) Module
15 #include "camss-csid.h"
16 #include "camss-csid-gen1.h"
47 static void csid_configure_stream(struct csid_device *csid, u8 enable) in csid_configure_stream() argument
49 struct csid_testgen_config *tg = &csid->testgen; in csid_configure_stream()
50 u32 sink_code = csid->fmt[MSM_CSID_PAD_SINK].code; in csid_configure_stream()
51 u32 src_code = csid->fmt[MSM_CSID_PAD_SRC].code; in csid_configure_stream()
65 input_format = &csid->fmt[MSM_CSID_PAD_SRC]; in csid_configure_stream()
66 format = csid_get_fmt_entry(csid->res->formats->formats, in csid_configure_stream()
67 csid->res->formats->nformats, in csid_configure_stream()
76 writel_relaxed(val, csid->base + CAMSS_CSID_TG_VC_CFG); in csid_configure_stream()
81 writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_0(0)); in csid_configure_stream()
85 writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_1(0)); in csid_configure_stream()
89 writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_2(0)); in csid_configure_stream()
91 struct csid_phy_config *phy = &csid->phy; in csid_configure_stream()
93 input_format = &csid->fmt[MSM_CSID_PAD_SINK]; in csid_configure_stream()
94 format = csid_get_fmt_entry(csid->res->formats->formats, in csid_configure_stream()
95 csid->res->formats->nformats, in csid_configure_stream()
101 writel_relaxed(val, csid->base + CAMSS_CSID_CORE_CTRL_0); in csid_configure_stream()
106 writel_relaxed(val, csid->base + CAMSS_CSID_CORE_CTRL_1); in csid_configure_stream()
113 val = readl_relaxed(csid->base + CAMSS_CSID_CID_LUT_VC_n(vc)); in csid_configure_stream()
116 writel_relaxed(val, csid->base + CAMSS_CSID_CID_LUT_VC_n(vc)); in csid_configure_stream()
132 writel_relaxed(val, csid->base + CAMSS_CSID_CID_n_CFG(cid)); in csid_configure_stream()
136 writel_relaxed(val, csid->base + CAMSS_CSID_TG_CTRL); in csid_configure_stream()
141 writel_relaxed(val, csid->base + CAMSS_CSID_TG_CTRL); in csid_configure_stream()
146 static int csid_configure_testgen_pattern(struct csid_device *csid, s32 val) in csid_configure_testgen_pattern() argument
148 if (val > 0 && val <= csid->testgen.nmodes) in csid_configure_testgen_pattern()
149 csid->testgen.mode = val; in csid_configure_testgen_pattern()
154 static u32 csid_hw_version(struct csid_device *csid) in csid_hw_version() argument
156 u32 hw_version = readl_relaxed(csid->base + CAMSS_CSID_HW_VERSION); in csid_hw_version()
158 dev_dbg(csid->camss->dev, "CSID HW Version = 0x%08x\n", hw_version); in csid_hw_version()
164 * isr - CSID module interrupt service routine
166 * @dev: CSID device
172 struct csid_device *csid = dev; in csid_isr() local
175 value = readl_relaxed(csid->base + CAMSS_CSID_IRQ_STATUS); in csid_isr()
176 writel_relaxed(value, csid->base + CAMSS_CSID_IRQ_CLEAR_CMD); in csid_isr()
179 complete(&csid->reset_complete); in csid_isr()
185 * csid_reset - Trigger reset on CSID module and wait to complete
186 * @csid: CSID device
190 static int csid_reset(struct csid_device *csid) in csid_reset() argument
194 reinit_completion(&csid->reset_complete); in csid_reset()
196 writel_relaxed(0x7fff, csid->base + CAMSS_CSID_RST_CMD); in csid_reset()
198 time = wait_for_completion_timeout(&csid->reset_complete, in csid_reset()
201 dev_err(csid->camss->dev, "CSID reset timeout\n"); in csid_reset()
208 static u32 csid_src_pad_code(struct csid_device *csid, u32 sink_code, in csid_src_pad_code() argument
240 static void csid_subdev_init(struct csid_device *csid) in csid_subdev_init() argument
242 csid->testgen.modes = csid_testgen_modes; in csid_subdev_init()
243 csid->testgen.nmodes = CSID_PAYLOAD_MODE_NUM_SUPPORTED_GEN1; in csid_subdev_init()