diff options
Diffstat (limited to 'drivers/video/imx-ipu-v3')
-rw-r--r-- | drivers/video/imx-ipu-v3/imx-hdmi.c | 3 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/imx-ipu-v3.h | 4 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/imx-ldb.c | 7 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/ipu-dc.c | 19 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/ipu-prv.h | 2 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/ipufb.c | 21 |
6 files changed, 28 insertions, 28 deletions
diff --git a/drivers/video/imx-ipu-v3/imx-hdmi.c b/drivers/video/imx-ipu-v3/imx-hdmi.c index 8b251a52ea..17b6e4cc25 100644 --- a/drivers/video/imx-ipu-v3/imx-hdmi.c +++ b/drivers/video/imx-ipu-v3/imx-hdmi.c @@ -22,6 +22,7 @@ #include <asm-generic/div64.h> #include <linux/clk.h> #include <i2c/i2c.h> +#include <video/media-bus-format.h> #include <video/vpl.h> #include <mach/imx6-regs.h> #include <mach/imx53-regs.h> @@ -1261,7 +1262,7 @@ static int dw_hdmi_ioctl(struct vpl *vpl, unsigned int port, mode = data; mode->di_clkflags = IPU_DI_CLKMODE_EXT | IPU_DI_CLKMODE_SYNC; - mode->interface_pix_fmt = V4L2_PIX_FMT_RGB24; + mode->bus_format = MEDIA_BUS_FMT_RGB888_1X24; return 0; } diff --git a/drivers/video/imx-ipu-v3/imx-ipu-v3.h b/drivers/video/imx-ipu-v3/imx-ipu-v3.h index fbfec22e4f..cdfff6992f 100644 --- a/drivers/video/imx-ipu-v3/imx-ipu-v3.h +++ b/drivers/video/imx-ipu-v3/imx-ipu-v3.h @@ -116,7 +116,7 @@ struct ipu_di; struct ipu_dc *ipu_dc_get(struct ipu_soc *ipu, int channel); void ipu_dc_put(struct ipu_dc *dc); int ipu_dc_init_sync(struct ipu_dc *dc, struct ipu_di *di, bool interlaced, - u32 pixel_fmt, u32 width); + u32 bus_format, u32 width); void ipu_dc_enable_channel(struct ipu_dc *dc); void ipu_dc_disable_channel(struct ipu_dc *dc); @@ -323,7 +323,7 @@ struct ipu_client_platformdata { struct ipu_di_mode { u32 di_clkflags; - u32 interface_pix_fmt; + u32 bus_format; }; #define IMX_IPU_VPL_DI_MODE 0x12660001 diff --git a/drivers/video/imx-ipu-v3/imx-ldb.c b/drivers/video/imx-ipu-v3/imx-ldb.c index 17ae894bf7..14a86a42c1 100644 --- a/drivers/video/imx-ipu-v3/imx-ldb.c +++ b/drivers/video/imx-ipu-v3/imx-ldb.c @@ -26,6 +26,7 @@ #include <malloc.h> #include <errno.h> #include <init.h> +#include <video/media-bus-format.h> #include <video/vpl.h> #include <mfd/imx6q-iomuxc-gpr.h> #include <linux/clk.h> @@ -75,7 +76,7 @@ struct imx_ldb_data { struct imx_ldb { struct device_d *dev; - u32 interface_pix_fmt; + u32 bus_format; int mode_valid; struct imx_ldb_channel channel[2]; u32 ldb_ctrl; @@ -273,8 +274,8 @@ static int imx_ldb_ioctl(struct vpl *vpl, unsigned int port, mode = data; mode->di_clkflags = IPU_DI_CLKMODE_EXT | IPU_DI_CLKMODE_SYNC; - mode->interface_pix_fmt = (imx_ldb_ch->datawidth == 24) ? - V4L2_PIX_FMT_RGB24 : V4L2_PIX_FMT_BGR666; + mode->bus_format = (imx_ldb_ch->datawidth == 24) ? + MEDIA_BUS_FMT_RGB888_1X24 : MEDIA_BUS_FMT_RGB666_1X18; return 0; case VPL_GET_VIDEOMODES: diff --git a/drivers/video/imx-ipu-v3/ipu-dc.c b/drivers/video/imx-ipu-v3/ipu-dc.c index 2deb2ae048..7b343e8149 100644 --- a/drivers/video/imx-ipu-v3/ipu-dc.c +++ b/drivers/video/imx-ipu-v3/ipu-dc.c @@ -17,6 +17,7 @@ #include <linux/err.h> #include <linux/clk.h> #include <malloc.h> +#include <video/media-bus-format.h> #include "imx-ipu-v3.h" #include "ipu-prv.h" @@ -138,18 +139,18 @@ static void dc_write_tmpl(struct ipu_dc *dc, int word, u32 opcode, u32 operand, ipuwritel("dc", reg2, priv->dc_tmpl_reg + word * 8 + 4); } -static int ipu_pixfmt_to_map(u32 fmt) +static int ipu_bus_format_to_map(u32 bus_format) { - switch (fmt) { - case V4L2_PIX_FMT_RGB24: + switch (bus_format) { + case MEDIA_BUS_FMT_RGB888_1X24: return IPU_DC_MAP_RGB24; - case V4L2_PIX_FMT_RGB565: + case MEDIA_BUS_FMT_RGB565_1X16: return IPU_DC_MAP_RGB565; - case IPU_PIX_FMT_GBR24: + case MEDIA_BUS_FMT_GBR888_1X24: return IPU_DC_MAP_GBR24; - case V4L2_PIX_FMT_BGR666: + case MEDIA_BUS_FMT_RGB666_1X18: return IPU_DC_MAP_BGR666; - case V4L2_PIX_FMT_BGR24: + case MEDIA_BUS_FMT_BGR888_1X24: return IPU_DC_MAP_BGR24; default: return -EINVAL; @@ -157,7 +158,7 @@ static int ipu_pixfmt_to_map(u32 fmt) } int ipu_dc_init_sync(struct ipu_dc *dc, struct ipu_di *di, bool interlaced, - u32 pixel_fmt, u32 width) + u32 bus_format, u32 width) { struct ipu_dc_priv *priv = dc->priv; u32 reg = 0; @@ -165,7 +166,7 @@ int ipu_dc_init_sync(struct ipu_dc *dc, struct ipu_di *di, bool interlaced, dc->di = ipu_di_get_num(di); - map = ipu_pixfmt_to_map(pixel_fmt); + map = ipu_bus_format_to_map(bus_format); if (map < 0) { dev_dbg(priv->dev, "IPU_DISP: No MAP\n"); return map; diff --git a/drivers/video/imx-ipu-v3/ipu-prv.h b/drivers/video/imx-ipu-v3/ipu-prv.h index 44d7802521..4d1c0692de 100644 --- a/drivers/video/imx-ipu-v3/ipu-prv.h +++ b/drivers/video/imx-ipu-v3/ipu-prv.h @@ -19,8 +19,6 @@ struct ipu_soc; #include "imx-ipu-v3.h" -#define IPU_PIX_FMT_GBR24 v4l2_fourcc('G', 'B', 'R', '3') - #define IPUV3_CHANNEL_CSI0 0 #define IPUV3_CHANNEL_CSI1 1 #define IPUV3_CHANNEL_CSI2 2 diff --git a/drivers/video/imx-ipu-v3/ipufb.c b/drivers/video/imx-ipu-v3/ipufb.c index 67fec11d4a..cfafa22c7c 100644 --- a/drivers/video/imx-ipu-v3/ipufb.c +++ b/drivers/video/imx-ipu-v3/ipufb.c @@ -23,6 +23,7 @@ #include <linux/clk.h> #include <linux/err.h> #include <asm-generic/div64.h> +#include <video/media-bus-format.h> #include "imx-ipu-v3.h" #include "ipuv3-plane.h" @@ -56,7 +57,7 @@ struct ipufb_info { void (*enable)(int enable); unsigned int di_clkflags; - u32 interface_pix_fmt; + u32 bus_format; struct ipu_dc *dc; struct ipu_di *di; @@ -108,7 +109,7 @@ int ipu_crtc_mode_set(struct ipufb_info *fbi, int ret; struct ipu_di_signal_cfg sig_cfg = {}; struct ipu_di_mode di_mode = {}; - u32 interface_pix_fmt; + u32 bus_format; dev_info(fbi->dev, "%s: mode->xres: %d\n", __func__, mode->xres); @@ -116,8 +117,7 @@ int ipu_crtc_mode_set(struct ipufb_info *fbi, mode->yres); vpl_ioctl(&fbi->vpl, 2 + fbi->dino, IMX_IPU_VPL_DI_MODE, &di_mode); - interface_pix_fmt = di_mode.interface_pix_fmt ? - di_mode.interface_pix_fmt : fbi->interface_pix_fmt; + bus_format = di_mode.bus_format ?: fbi->bus_format; if (mode->sync & FB_SYNC_HOR_HIGH_ACT) sig_cfg.Hsync_pol = 1; @@ -148,8 +148,8 @@ int ipu_crtc_mode_set(struct ipufb_info *fbi, sig_cfg.hsync_pin = 2; sig_cfg.vsync_pin = 3; - ret = ipu_dc_init_sync(fbi->dc, fbi->di, sig_cfg.interlaced, - interface_pix_fmt, mode->xres); + ret = ipu_dc_init_sync(fbi->dc, fbi->di, sig_cfg.interlaced, bus_format, + mode->xres); if (ret) { dev_err(fbi->dev, "initializing display controller failed with %d\n", @@ -318,14 +318,13 @@ static int ipufb_probe(struct device_d *dev) ret = of_property_read_string(node, "interface-pix-fmt", &fmt); if (!ret) { if (!strcmp(fmt, "rgb24")) - fbi->interface_pix_fmt = V4L2_PIX_FMT_RGB24; + fbi->bus_format = MEDIA_BUS_FMT_RGB888_1X24; else if (!strcmp(fmt, "rgb565")) - fbi->interface_pix_fmt = V4L2_PIX_FMT_RGB565; + fbi->bus_format = MEDIA_BUS_FMT_RGB565_1X16; else if (!strcmp(fmt, "bgr666")) - fbi->interface_pix_fmt = V4L2_PIX_FMT_BGR666; + fbi->bus_format = MEDIA_BUS_FMT_RGB666_1X18; else if (!strcmp(fmt, "lvds666")) - fbi->interface_pix_fmt = - v4l2_fourcc('L', 'V', 'D', '6'); + fbi->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI; } ret = vpl_ioctl(&fbi->vpl, 2 + fbi->dino, VPL_GET_VIDEOMODES, &info->modes); |