Lines Matching full:csid
3 * camss-csid-4-1.c
5 * Qualcomm MSM Camera Subsystem - CSID (CSI Decoder) Module
16 #include "camss-csid.h"
17 #include "camss-csid-gen1.h"
48 static void csid_configure_stream(struct csid_device *csid, u8 enable) in csid_configure_stream() argument
50 struct csid_testgen_config *tg = &csid->testgen; in csid_configure_stream()
64 input_format = &csid->fmt[MSM_CSID_PAD_SRC]; in csid_configure_stream()
65 format = csid_get_fmt_entry(csid->res->formats->formats, in csid_configure_stream()
66 csid->res->formats->nformats, in csid_configure_stream()
75 writel_relaxed(val, csid->base + CAMSS_CSID_TG_VC_CFG); in csid_configure_stream()
80 writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_0(0)); in csid_configure_stream()
84 writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_1(0)); in csid_configure_stream()
88 writel_relaxed(val, csid->base + CAMSS_CSID_TG_DT_n_CGG_2(0)); in csid_configure_stream()
90 struct csid_phy_config *phy = &csid->phy; in csid_configure_stream()
92 input_format = &csid->fmt[MSM_CSID_PAD_SINK]; in csid_configure_stream()
93 format = csid_get_fmt_entry(csid->res->formats->formats, in csid_configure_stream()
94 csid->res->formats->nformats, in csid_configure_stream()
100 writel_relaxed(val, csid->base + CAMSS_CSID_CORE_CTRL_0); in csid_configure_stream()
105 writel_relaxed(val, csid->base + CAMSS_CSID_CORE_CTRL_1); in csid_configure_stream()
111 val = readl_relaxed(csid->base + CAMSS_CSID_CID_LUT_VC_n(vc)); in csid_configure_stream()
114 writel_relaxed(val, csid->base + CAMSS_CSID_CID_LUT_VC_n(vc)); in csid_configure_stream()
120 writel_relaxed(val, csid->base + CAMSS_CSID_CID_n_CFG(cid)); in csid_configure_stream()
124 writel_relaxed(val, csid->base + CAMSS_CSID_TG_CTRL); in csid_configure_stream()
129 writel_relaxed(val, csid->base + CAMSS_CSID_TG_CTRL); in csid_configure_stream()
134 static int csid_configure_testgen_pattern(struct csid_device *csid, s32 val) in csid_configure_testgen_pattern() argument
136 if (val > 0 && val <= csid->testgen.nmodes) in csid_configure_testgen_pattern()
137 csid->testgen.mode = val; in csid_configure_testgen_pattern()
142 static u32 csid_hw_version(struct csid_device *csid) in csid_hw_version() argument
144 u32 hw_version = readl_relaxed(csid->base + CAMSS_CSID_HW_VERSION); in csid_hw_version()
146 dev_dbg(csid->camss->dev, "CSID HW Version = 0x%08x\n", hw_version); in csid_hw_version()
153 struct csid_device *csid = dev; in csid_isr() local
156 value = readl_relaxed(csid->base + CAMSS_CSID_IRQ_STATUS); in csid_isr()
157 writel_relaxed(value, csid->base + CAMSS_CSID_IRQ_CLEAR_CMD); in csid_isr()
160 complete(&csid->reset_complete); in csid_isr()
165 static int csid_reset(struct csid_device *csid) in csid_reset() argument
169 reinit_completion(&csid->reset_complete); in csid_reset()
171 writel_relaxed(0x7fff, csid->base + CAMSS_CSID_RST_CMD); in csid_reset()
173 time = wait_for_completion_timeout(&csid->reset_complete, in csid_reset()
176 dev_err(csid->camss->dev, "CSID reset timeout\n"); in csid_reset()
183 static u32 csid_src_pad_code(struct csid_device *csid, u32 sink_code, in csid_src_pad_code() argument
192 static void csid_subdev_init(struct csid_device *csid) in csid_subdev_init() argument
194 csid->testgen.modes = csid_testgen_modes; in csid_subdev_init()
195 csid->testgen.nmodes = CSID_PAYLOAD_MODE_NUM_SUPPORTED_GEN1; in csid_subdev_init()