Home
last modified time | relevance | path

Searched full:isi (Results 1 – 25 of 63) sorted by relevance

123

/Linux-v6.6/drivers/media/platform/atmel/
Datmel-isi.c35 #include "atmel-isi.h"
77 * struct isi_format - ISI media bus format information
109 /* ISI peripheral clock */
135 static void isi_writel(struct atmel_isi *isi, u32 reg, u32 val) in isi_writel() argument
137 writel(val, isi->regs + reg); in isi_writel()
139 static u32 isi_readl(struct atmel_isi *isi, u32 reg) in isi_readl() argument
141 return readl(isi->regs + reg); in isi_readl()
144 static void configure_geometry(struct atmel_isi *isi) in configure_geometry() argument
147 u32 fourcc = isi->current_fmt->fourcc; in configure_geometry()
149 isi->enable_preview_path = fourcc == V4L2_PIX_FMT_RGB565 || in configure_geometry()
[all …]
/Linux-v6.6/drivers/media/platform/nxp/imx8-isi/
Dimx8-isi-core.c26 #include "imx8-isi-core.h"
55 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_bound() local
57 struct media_pad *pad = &isi->crossbar.pads[masd->port]; in mxc_isi_async_notifier_bound()
60 dev_dbg(isi->dev, "Bound subdev %s to crossbar input %u\n", sd->name, in mxc_isi_async_notifier_bound()
65 * the ISI (consumer). The source will be suspended before and resume in mxc_isi_async_notifier_bound()
66 * after the ISI. in mxc_isi_async_notifier_bound()
68 link = device_link_add(isi->dev, sd->dev, DL_FLAG_STATELESS); in mxc_isi_async_notifier_bound()
70 dev_err(isi->dev, in mxc_isi_async_notifier_bound()
80 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_complete() local
83 dev_dbg(isi->dev, "All subdevs bound\n"); in mxc_isi_async_notifier_complete()
[all …]
DMakefile3 imx8-isi-y := imx8-isi-core.o imx8-isi-crossbar.o imx8-isi-gasket.o \
4 imx8-isi-hw.o imx8-isi-pipe.o imx8-isi-video.o
5 imx8-isi-$(CONFIG_DEBUG_FS) += imx8-isi-debug.o
6 imx8-isi-$(CONFIG_VIDEO_IMX8_ISI_M2M) += imx8-isi-m2m.o
8 obj-$(CONFIG_VIDEO_IMX8_ISI) += imx8-isi.o
Dimx8-isi-debug.c14 #include "imx8-isi-core.h"
15 #include "imx8-isi-regs.h"
74 if (!pm_runtime_get_if_in_use(pipe->isi->dev)) in mxc_isi_debug_dump_regs_show()
77 seq_printf(m, "--- ISI pipe %u registers ---\n", pipe->id); in mxc_isi_debug_dump_regs_show()
84 pm_runtime_put(pipe->isi->dev); in mxc_isi_debug_dump_regs_show()
90 void mxc_isi_debug_init(struct mxc_isi_dev *isi) in mxc_isi_debug_init() argument
94 isi->debugfs_root = debugfs_create_dir(dev_name(isi->dev), NULL); in mxc_isi_debug_init()
96 for (i = 0; i < isi->pdata->num_channels; ++i) { in mxc_isi_debug_init()
97 struct mxc_isi_pipe *pipe = &isi->pipes[i]; in mxc_isi_debug_init()
101 debugfs_create_file(name, 0444, isi->debugfs_root, pipe, in mxc_isi_debug_init()
[all …]
Dimx8-isi-core.h3 * V4L2 Capture ISI subdev for i.MX8QXP/QM platform
5 * ISI is a Image Sensor Interface of i.MX8QXP/QM platform, which
57 #define MXC_ISI_DRIVER_NAME "mxc-isi"
58 #define MXC_ISI_CAPTURE "mxc-isi-cap"
59 #define MXC_ISI_M2M "mxc-isi-m2m"
151 void (*enable)(struct mxc_isi_dev *isi,
155 void (*disable)(struct mxc_isi_dev *isi, const unsigned int port);
189 struct mxc_isi_dev *isi; member
234 struct mxc_isi_dev *isi; member
262 struct mxc_isi_dev *isi; member
[all …]
Dimx8-isi-gasket.c10 #include "imx8-isi-core.h"
27 static void mxc_imx8_gasket_enable(struct mxc_isi_dev *isi, in mxc_imx8_gasket_enable() argument
34 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_HSIZE, fmt->width); in mxc_imx8_gasket_enable()
35 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_VSIZE, fmt->height); in mxc_imx8_gasket_enable()
42 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_CTRL, val); in mxc_imx8_gasket_enable()
45 static void mxc_imx8_gasket_disable(struct mxc_isi_dev *isi, in mxc_imx8_gasket_disable() argument
48 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_CTRL, 0); in mxc_imx8_gasket_disable()
64 static void mxc_imx93_gasket_enable(struct mxc_isi_dev *isi, in mxc_imx93_gasket_enable() argument
73 regmap_write(isi->gasket, DISP_MIX_CAMERA_MUX, val); in mxc_imx93_gasket_enable()
76 static void mxc_imx93_gasket_disable(struct mxc_isi_dev *isi, in mxc_imx93_gasket_disable() argument
[all …]
Dimx8-isi-crossbar.c3 * i.MX8 ISI - Input crossbar switch
20 #include "imx8-isi-core.h"
32 struct mxc_isi_dev *isi = xbar->isi; in mxc_isi_crossbar_gasket_enable() local
33 const struct mxc_gasket_ops *gasket_ops = isi->pdata->gasket_ops; in mxc_isi_crossbar_gasket_enable()
49 dev_err(isi->dev, in mxc_isi_crossbar_gasket_enable()
56 dev_err(isi->dev, "invalid frame descriptor for '%s':%u\n", in mxc_isi_crossbar_gasket_enable()
65 gasket_ops->enable(isi, &fd, fmt, port); in mxc_isi_crossbar_gasket_enable()
72 struct mxc_isi_dev *isi = xbar->isi; in mxc_isi_crossbar_gasket_disable() local
73 const struct mxc_gasket_ops *gasket_ops = isi->pdata->gasket_ops; in mxc_isi_crossbar_gasket_disable()
78 gasket_ops->disable(isi, port); in mxc_isi_crossbar_gasket_disable()
[all …]
Dimx8-isi-pipe.c3 * V4L2 Capture ISI subdev driver for i.MX8QXP/QM platform
5 * ISI is a Image Sensor Interface of i.MX8QXP/QM platform, which
26 #include "imx8-isi-core.h"
27 #include "imx8-isi-regs.h"
30 * While the ISI receives data from the gasket on a 3x12-bit bus, the pipeline
32 * subdev between the CSIS and the ISI. We thus need to expose media bus codes
237 struct mxc_isi_crossbar *xbar = &pipe->isi->crossbar; in mxc_isi_pipe_enable()
283 /* Configure the ISI channel. */ in mxc_isi_pipe_enable()
294 dev_err(pipe->isi->dev, "Failed to enable pipe %u\n", in mxc_isi_pipe_enable()
304 struct mxc_isi_crossbar *xbar = &pipe->isi->crossbar; in mxc_isi_pipe_disable()
[all …]
DKconfig4 tristate "i.MX8 Image Sensor Interface (ISI) driver"
14 V4L2 driver for the Image Sensor Interface (ISI) found in various
18 bool "i.MX8 Image Sensor Interface (ISI) memory-to-memory support"
22 in the ISI driver.
Dimx8-isi-m2m.c3 * ISI V4L2 memory to memory driver for i.MX8QXP/QM platform
5 * ISI is a Image Sensor Interface of i.MX8QXP/QM platform, which
35 #include "imx8-isi-core.h"
96 struct mxc_isi_m2m *m2m = &pipe->isi->m2m; in mxc_isi_m2m_frame_write_done()
102 dev_err(m2m->isi->dev, in mxc_isi_m2m_frame_write_done()
226 return mxc_isi_video_buffer_prepare(ctx->m2m->isi, vb2, qdata->info, in mxc_isi_m2m_vb2_buffer_prepare()
293 src_vq->dev = m2m->isi->dev; in mxc_isi_m2m_queue_init()
307 dst_vq->dev = m2m->isi->dev; in mxc_isi_m2m_queue_init()
678 ret = pm_runtime_resume_and_get(m2m->isi->dev); in mxc_isi_m2m_open()
711 pm_runtime_put(m2m->isi->dev); in mxc_isi_m2m_release()
[all …]
Dimx8-isi-video.c3 * V4L2 Capture ISI subdev driver for i.MX8QXP/QM platform
5 * ISI is a Image Sensor Interface of i.MX8QXP/QM platform, which
33 #include "imx8-isi-core.h"
34 #include "imx8-isi-regs.h"
173 * The ISI shifts the 10-bit and 12-bit formats left by 6 and 4 bits
416 max_width = pipe->id == pipe->isi->pdata->num_channels - 1 in mxc_isi_format_try()
495 struct device *dev = pipe->isi->dev; in mxc_isi_video_frame_write_done()
503 * The ISI hardware handles buffers using a ping-pong mechanism with in mxc_isi_video_frame_write_done()
519 * | Start ISI | in mxc_isi_video_frame_write_done()
556 buf_id = pipe->isi->pdata->buf_active_reverse in mxc_isi_video_frame_write_done()
[all …]
Dimx8-isi-hw.c11 #include "imx8-isi-core.h"
12 #include "imx8-isi-regs.h"
33 if (pipe->isi->pdata->has_36bit_dma) in mxc_isi_channel_set_inbuf()
53 if (pipe->isi->pdata->has_36bit_dma) { in mxc_isi_channel_set_outbuf()
69 if (pipe->isi->pdata->has_36bit_dma) { in mxc_isi_channel_set_outbuf()
128 dev_dbg(pipe->isi->dev, "input %ux%u, output %ux%u\n", in mxc_isi_channel_set_scaling()
242 dev_dbg(pipe->isi->dev, "CSC: %s -> %s\n", in mxc_isi_channel_set_csc()
287 const struct mxc_isi_set_thd *set_thd = pipe->isi->pdata->set_thd; in mxc_isi_channel_set_panic_threshold()
341 val |= CHNL_CTRL_SRC_INPUT(pipe->isi->pdata->num_ports); in mxc_isi_channel_set_control()
403 dev_dbg(pipe->isi->dev, "output format %p4cc", &format->pixelformat); in mxc_isi_channel_set_output_format()
[all …]
/Linux-v6.6/fs/iomap/
Dswapfile.c30 static int iomap_swapfile_add_extent(struct iomap_swapfile_info *isi) in iomap_swapfile_add_extent() argument
32 struct iomap *iomap = &isi->iomap; in iomap_swapfile_add_extent()
40 if (unlikely(isi->nr_pages >= isi->sis->max)) in iomap_swapfile_add_extent()
42 max_pages = isi->sis->max - isi->nr_pages; in iomap_swapfile_add_extent()
66 if (isi->lowest_ppage > first_ppage_reported) in iomap_swapfile_add_extent()
67 isi->lowest_ppage = first_ppage_reported; in iomap_swapfile_add_extent()
68 if (isi->highest_ppage < (next_ppage - 1)) in iomap_swapfile_add_extent()
69 isi->highest_ppage = next_ppage - 1; in iomap_swapfile_add_extent()
72 error = add_swap_extent(isi->sis, isi->nr_pages, nr_pages, first_ppage); in iomap_swapfile_add_extent()
75 isi->nr_extents += error; in iomap_swapfile_add_extent()
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/media/
Dnxp,imx8-isi.yaml4 $id: http://devicetree.org/schemas/media/nxp,imx8-isi.yaml#
13 The Image Sensing Interface (ISI) combines image processing pipelines with
15 sources. The inputs to the ISI go through Pixel Link interfaces, and their
22 - fsl,imx8mn-isi
23 - fsl,imx8mp-isi
24 - fsl,imx93-isi
45 A phandle referencing the block control that contains the CSIS to ISI
59 Ports represent the Pixel Link inputs to the ISI. Their number and
77 - fsl,imx8mn-isi
78 - fsl,imx93-isi
[all …]
Datmel-isi.txt1 Atmel Image Sensor Interface (ISI)
4 Required properties for ISI:
5 - compatible: must be "atmel,at91sam9g45-isi" or "microchip,sam9x60-isi".
7 - interrupts: should contain IRQ line for the ISI.
13 ISI supports a single port node with parallel bus. It shall contain one
28 isi: isi@f0034000 {
29 compatible = "atmel,at91sam9g45-isi";
/Linux-v6.6/drivers/parisc/
Diosapic.c105 ** intr_pin = iosapic_xlate_pin(isi,pcidev):
106 ** intr_line = find IRT entry(isi, PCI_SLOT(pcidev), intr_pin)
113 ** o locate vector_info (needs: isi, intr_line)
381 irt_find_irqline(struct iosapic_info *isi, u8 slot, u8 intr_pin) in irt_find_irqline() argument
413 if (!COMPARE_IRTE_ADDR(i, isi->isi_hpa)) in irt_find_irqline()
431 isi->isi_hpa, slot, intr_pin); in irt_find_irqline()
451 iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev) in iosapic_xlate_pin() argument
514 return irt_find_irqline(isi, intr_slot, intr_pin); in iosapic_xlate_pin()
699 struct iosapic_info *isi = isi_obj; in iosapic_fixup_irq() local
704 if (!isi) { in iosapic_fixup_irq()
[all …]
/Linux-v6.6/arch/arm/boot/dts/microchip/
Dat91sam9x5_isi.dtsi16 isi {
17 pinctrl_isi_data_0_7: isi-0-data-0-7 {
32 pinctrl_isi_data_8_9: isi-0-data-8-9 {
38 pinctrl_isi_data_10_11: isi-0-data-10-11 {
46 isi: isi@f8048000 { label
47 compatible = "atmel,at91sam9g45-isi";
Dsama5d3xmb.dtsi41 * i2c0 conflicts with ISI:
42 * disable it to allow the use of ISI
84 isi: isi@f0034000 { label
Dsama5d3xmb_cmp.dtsi40 * i2c0 conflicts with ISI:
41 * disable it to allow the use of ISI
83 isi: isi@f0034000 { label
Dsama5d35ek.dts36 isi: isi@f0034000 { label
/Linux-v6.6/Documentation/devicetree/bindings/soc/imx/
Dfsl,imx93-media-blk-ctrl.yaml45 - const: isi
78 "pxp", "lcdif", "isi", "csi", "dsi";
Dfsl,imx8mn-disp-blk-ctrl.yaml36 - const: isi
80 power-domain-names = "bus", "isi", "lcdif", "mipi-dsi",
Dfsl,imx8mp-media-blk-ctrl.yaml44 - const: isi
117 power-domain-names = "bus", "mipi-dsi1", "mipi-csi1", "lcdif1", "isi",
/Linux-v6.6/drivers/media/pci/ddbridge/
Dddbridge-sx8.c354 u32 ts_config = SX8_TSCONFIG_MODE_NORMAL, iq_mode = 0, isi; in set_parameters() local
359 isi = p->stream_id; in set_parameters()
360 if (isi != NO_STREAM_ID_FILTER) in set_parameters()
361 iq_mode = (isi & 0x30000000) >> 28; in set_parameters()
/Linux-v6.6/Documentation/admin-guide/media/
Dplatform-cardlist.rst20 atmel-isi ATMEL Image Sensor Interface (ISI)

123