Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eced5a0a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'fbdev-3.12-omap-legacy-removal' of...

Merge tag 'fbdev-3.12-omap-legacy-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux

Pull OMAP specific fbdev changes from Tomi Valkeinen:
 "I've got this pull request separate from the main fbdev pull request,
  as this contains a bunch of OMAP board file changes and thus could
  possibly be rejected in case of bad conflicts.

  The removal of the old display drivers depend on the board file
  changes, so Tony Lindgren suggested taking them together via fbdev
  tree.  These are in linux-next, and also Tony didn't see any conflicts
  with any of the branches he had, so they should go in clean.

   - Change the OMAP board files to use the new OMAP display drivers

   - Remove all the old drivers, and the related auxiliary code"

* tag 'fbdev-3.12-omap-legacy-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (35 commits)
  OMAPDSS: rename omap_dss_device's 'device' field to 'dst'
  OMAPDSS: rename omap_dss_device's 'output' to 'src'
  OMAPDSS: DSS: remove legacy dss bus support
  OMAPDSS: RFBI: remove code related to old panel model
  OMAPDSS: VENC: remove code related to old panel model
  OMAPDSS: SDI: remove code related to old panel model
  OMAPDSS: DSI: remove code related to old panel model
  OMAPDSS: HDMI: remove code related to old panel model
  OMAPDSS: DPI: remove code related to old panel model
  OMAPDSS: remove all old panel drivers
  OMAPDSS: DPI: change regulator handling
  OMAPDSS: SDI: change regulator handling
  OMAPDSS: fix DPI and SDI device ids
  OMAPDSS: remove omap_dss_device->channel field
  OMAPDSS: RFBI: Mark RFBI as broken
  ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
  ARM: OMAP: AM3517EVM: use new display drivers
  ARM: OMAP: Zoom: use new display drivers
  ARM: OMAP: Pandora: use new display drivers
  ARM: OMAP: OMAP3EVM: use new display drivers
  ...
parents 7c049d08 9560dc10
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -186,13 +186,11 @@ CONFIG_OMAP2_DSS_RFBI=y
CONFIG_OMAP2_DSS_SDI=y
CONFIG_OMAP2_DSS_DSI=y
CONFIG_FB_OMAP2=m
CONFIG_PANEL_GENERIC_DPI=m
CONFIG_PANEL_TFP410=m
CONFIG_PANEL_SHARP_LS037V7DW01=m
CONFIG_PANEL_NEC_NL8048HL11_01B=m
CONFIG_PANEL_TAAL=m
CONFIG_PANEL_TPO_TD043MTEA1=m
CONFIG_PANEL_ACX565AKM=m
CONFIG_DISPLAY_ENCODER_TFP410=m
CONFIG_DISPLAY_ENCODER_TPD12S015=m
CONFIG_DISPLAY_CONNECTOR_DVI=m
CONFIG_DISPLAY_CONNECTOR_HDMI=m
CONFIG_DISPLAY_PANEL_DPI=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_PLATFORM=y
+35 −22
Original line number Diff line number Diff line
@@ -100,39 +100,52 @@ static struct platform_device sdp2430_flash_device = {
	.resource	= &sdp2430_flash_resource,
};

static struct platform_device *sdp2430_devices[] __initdata = {
	&sdp2430_flash_device,
};

/* LCD */
#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO	91
#define SDP2430_LCD_PANEL_ENABLE_GPIO		154

static struct panel_generic_dpi_data sdp2430_panel_data = {
	.name			= "nec_nl2432dr22-11b",
	.num_gpios		= 2,
	.gpios			= {
		SDP2430_LCD_PANEL_ENABLE_GPIO,
		SDP2430_LCD_PANEL_BACKLIGHT_GPIO,
	},
static const struct display_timing sdp2430_lcd_videomode = {
	.pixelclock	= { 0, 5400000, 0 },

	.hactive = { 0, 240, 0 },
	.hfront_porch = { 0, 3, 0 },
	.hback_porch = { 0, 39, 0 },
	.hsync_len = { 0, 3, 0 },

	.vactive = { 0, 320, 0 },
	.vfront_porch = { 0, 2, 0 },
	.vback_porch = { 0, 7, 0 },
	.vsync_len = { 0, 1, 0 },

	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
		DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
};

static struct omap_dss_device sdp2430_lcd_device = {
static struct panel_dpi_platform_data sdp2430_lcd_pdata = {
	.name                   = "lcd",
	.driver_name		= "generic_dpi_panel",
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.phy.dpi.data_lines	= 16,
	.data			= &sdp2430_panel_data,
	.source                 = "dpi.0",

	.data_lines		= 16,

	.display_timing		= &sdp2430_lcd_videomode,

	.enable_gpio		= SDP2430_LCD_PANEL_ENABLE_GPIO,
	.backlight_gpio		= SDP2430_LCD_PANEL_BACKLIGHT_GPIO,
};

static struct omap_dss_device *sdp2430_dss_devices[] = {
	&sdp2430_lcd_device,
static struct platform_device sdp2430_lcd_device = {
	.name                   = "panel-dpi",
	.id                     = 0,
	.dev.platform_data      = &sdp2430_lcd_pdata,
};

static struct omap_dss_board_info sdp2430_dss_data = {
	.num_devices	= ARRAY_SIZE(sdp2430_dss_devices),
	.devices	= sdp2430_dss_devices,
	.default_device	= &sdp2430_lcd_device,
	.default_display_name = "lcd",
};

static struct platform_device *sdp2430_devices[] __initdata = {
	&sdp2430_flash_device,
	&sdp2430_lcd_device,
};

#if IS_ENABLED(CONFIG_SMC91X)
+50 −33
Original line number Diff line number Diff line
@@ -126,7 +126,12 @@ static void __init sdp3430_display_init(void)

}

static struct panel_sharp_ls037v7dw01_data sdp3430_lcd_data = {
static struct panel_sharp_ls037v7dw01_platform_data sdp3430_lcd_pdata = {
	.name                   = "lcd",
	.source                 = "dpi.0",

	.data_lines		= 16,

	.resb_gpio		= SDP3430_LCD_PANEL_ENABLE_GPIO,
	.ini_gpio		= -1,
	.mo_gpio		= -1,
@@ -134,45 +139,52 @@ static struct panel_sharp_ls037v7dw01_data sdp3430_lcd_data = {
	.ud_gpio		= -1,
};

static struct omap_dss_device sdp3430_lcd_device = {
	.name			= "lcd",
	.driver_name		= "sharp_ls_panel",
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.phy.dpi.data_lines	= 16,
	.data			= &sdp3430_lcd_data,
static struct platform_device sdp3430_lcd_device = {
	.name                   = "panel-sharp-ls037v7dw01",
	.id                     = 0,
	.dev.platform_data      = &sdp3430_lcd_pdata,
};

static struct tfp410_platform_data dvi_panel = {
	.power_down_gpio	= -1,
static struct connector_dvi_platform_data sdp3430_dvi_connector_pdata = {
	.name                   = "dvi",
	.source                 = "tfp410.0",
	.i2c_bus_num            = -1,
};

static struct omap_dss_device sdp3430_dvi_device = {
	.name			= "dvi",
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.driver_name		= "tfp410",
	.data			= &dvi_panel,
	.phy.dpi.data_lines	= 24,
static struct platform_device sdp3430_dvi_connector_device = {
	.name                   = "connector-dvi",
	.id                     = 0,
	.dev.platform_data      = &sdp3430_dvi_connector_pdata,
};

static struct omap_dss_device sdp3430_tv_device = {
	.name			= "tv",
	.driver_name		= "venc",
	.type			= OMAP_DISPLAY_TYPE_VENC,
	.phy.venc.type		= OMAP_DSS_VENC_TYPE_SVIDEO,
static struct encoder_tfp410_platform_data sdp3430_tfp410_pdata = {
	.name                   = "tfp410.0",
	.source                 = "dpi.0",
	.data_lines             = 24,
	.power_down_gpio        = -1,
};

static struct platform_device sdp3430_tfp410_device = {
	.name                   = "tfp410",
	.id                     = 0,
	.dev.platform_data      = &sdp3430_tfp410_pdata,
};

static struct omap_dss_device *sdp3430_dss_devices[] = {
	&sdp3430_lcd_device,
	&sdp3430_dvi_device,
	&sdp3430_tv_device,
static struct connector_atv_platform_data sdp3430_tv_pdata = {
	.name = "tv",
	.source = "venc.0",
	.connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
	.invert_polarity = false,
};

static struct platform_device sdp3430_tv_connector_device = {
	.name                   = "connector-analog-tv",
	.id                     = 0,
	.dev.platform_data      = &sdp3430_tv_pdata,
};

static struct omap_dss_board_info sdp3430_dss_data = {
	.num_devices	= ARRAY_SIZE(sdp3430_dss_devices),
	.devices	= sdp3430_dss_devices,
	.default_device	= &sdp3430_lcd_device,
	.default_display_name = "lcd",
};

static struct omap2_hsmmc_info mmc[] = {
@@ -583,6 +595,11 @@ static void __init omap_3430sdp_init(void)
	omap_hsmmc_init(mmc);
	omap3430_i2c_init();
	omap_display_init(&sdp3430_dss_data);
	platform_device_register(&sdp3430_lcd_device);
	platform_device_register(&sdp3430_tfp410_device);
	platform_device_register(&sdp3430_dvi_connector_device);
	platform_device_register(&sdp3430_tv_connector_device);

	if (omap_rev() > OMAP3430_REV_ES1_0)
		gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV2;
	else
+77 −36
Original line number Diff line number Diff line
@@ -120,56 +120,95 @@ static int __init am3517_evm_i2c_init(void)
	return 0;
}

static struct panel_generic_dpi_data lcd_panel = {
	.name			= "sharp_lq",
	.num_gpios		= 3,
	.gpios			= {
		LCD_PANEL_PWR,
		LCD_PANEL_BKLIGHT_PWR,
		LCD_PANEL_PWM,
	},
static const struct display_timing am3517_evm_lcd_videomode = {
	.pixelclock	= { 0, 9000000, 0 },

	.hactive = { 0, 480, 0 },
	.hfront_porch = { 0, 3, 0 },
	.hback_porch = { 0, 2, 0 },
	.hsync_len = { 0, 42, 0 },

	.vactive = { 0, 272, 0 },
	.vfront_porch = { 0, 3, 0 },
	.vback_porch = { 0, 2, 0 },
	.vsync_len = { 0, 11, 0 },

	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
		DISPLAY_FLAGS_DE_LOW | DISPLAY_FLAGS_PIXDATA_POSEDGE,
};

static struct omap_dss_device am3517_evm_lcd_device = {
	.type			= OMAP_DISPLAY_TYPE_DPI,
static struct panel_dpi_platform_data am3517_evm_lcd_pdata = {
	.name                   = "lcd",
	.driver_name		= "generic_dpi_panel",
	.data			= &lcd_panel,
	.phy.dpi.data_lines 	= 16,
	.source                 = "dpi.0",

	.data_lines		= 16,

	.display_timing		= &am3517_evm_lcd_videomode,

	.enable_gpio		= LCD_PANEL_PWR,
	.backlight_gpio		= LCD_PANEL_BKLIGHT_PWR,
};

static struct omap_dss_device am3517_evm_tv_device = {
	.type 			= OMAP_DISPLAY_TYPE_VENC,
	.name 			= "tv",
	.driver_name		= "venc",
	.phy.venc.type		= OMAP_DSS_VENC_TYPE_SVIDEO,
static struct platform_device am3517_evm_lcd_device = {
	.name                   = "panel-dpi",
	.id                     = 0,
	.dev.platform_data      = &am3517_evm_lcd_pdata,
};

static struct tfp410_platform_data dvi_panel = {
	.power_down_gpio	= -1,
static struct connector_dvi_platform_data am3517_evm_dvi_connector_pdata = {
	.name                   = "dvi",
	.source                 = "tfp410.0",
	.i2c_bus_num            = -1,
};

static struct omap_dss_device am3517_evm_dvi_device = {
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.name			= "dvi",
	.driver_name		= "tfp410",
	.data			= &dvi_panel,
	.phy.dpi.data_lines	= 24,
static struct platform_device am3517_evm_dvi_connector_device = {
	.name                   = "connector-dvi",
	.id                     = 0,
	.dev.platform_data      = &am3517_evm_dvi_connector_pdata,
};

static struct encoder_tfp410_platform_data am3517_evm_tfp410_pdata = {
	.name                   = "tfp410.0",
	.source                 = "dpi.0",
	.data_lines             = 24,
	.power_down_gpio        = -1,
};

static struct omap_dss_device *am3517_evm_dss_devices[] = {
	&am3517_evm_lcd_device,
	&am3517_evm_tv_device,
	&am3517_evm_dvi_device,
static struct platform_device am3517_evm_tfp410_device = {
	.name                   = "tfp410",
	.id                     = 0,
	.dev.platform_data      = &am3517_evm_tfp410_pdata,
};

static struct connector_atv_platform_data am3517_evm_tv_pdata = {
	.name = "tv",
	.source = "venc.0",
	.connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
	.invert_polarity = false,
};

static struct platform_device am3517_evm_tv_connector_device = {
	.name                   = "connector-analog-tv",
	.id                     = 0,
	.dev.platform_data      = &am3517_evm_tv_pdata,
};

static struct omap_dss_board_info am3517_evm_dss_data = {
	.num_devices	= ARRAY_SIZE(am3517_evm_dss_devices),
	.devices	= am3517_evm_dss_devices,
	.default_device	= &am3517_evm_lcd_device,
	.default_display_name = "lcd",
};

static void __init am3517_evm_display_init(void)
{
	gpio_request_one(LCD_PANEL_PWM, GPIOF_OUT_INIT_HIGH, "lcd panel pwm");

	omap_display_init(&am3517_evm_dss_data);

	platform_device_register(&am3517_evm_tfp410_device);
	platform_device_register(&am3517_evm_dvi_connector_device);
	platform_device_register(&am3517_evm_lcd_device);
	platform_device_register(&am3517_evm_tv_connector_device);
}

/*
 * Board initialization
 */
@@ -295,7 +334,9 @@ static void __init am3517_evm_init(void)
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);

	am3517_evm_i2c_init();
	omap_display_init(&am3517_evm_dss_data);

	am3517_evm_display_init();

	omap_serial_init();
	omap_sdrc_init(NULL, NULL);

+67 −33
Original line number Diff line number Diff line
@@ -190,52 +190,81 @@ static inline void cm_t35_init_nand(void) {}
#define CM_T35_LCD_BL_GPIO 58
#define CM_T35_DVI_EN_GPIO 54

static struct panel_generic_dpi_data lcd_panel = {
	.name			= "toppoly_tdo35s",
	.num_gpios		= 1,
	.gpios			= {
		CM_T35_LCD_BL_GPIO,
	},
static const struct display_timing cm_t35_lcd_videomode = {
	.pixelclock	= { 0, 26000000, 0 },

	.hactive = { 0, 480, 0 },
	.hfront_porch = { 0, 104, 0 },
	.hback_porch = { 0, 8, 0 },
	.hsync_len = { 0, 8, 0 },

	.vactive = { 0, 640, 0 },
	.vfront_porch = { 0, 4, 0 },
	.vback_porch = { 0, 2, 0 },
	.vsync_len = { 0, 2, 0 },

	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
		DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
};

static struct omap_dss_device cm_t35_lcd_device = {
static struct panel_dpi_platform_data cm_t35_lcd_pdata = {
	.name                   = "lcd",
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.driver_name		= "generic_dpi_panel",
	.data			= &lcd_panel,
	.phy.dpi.data_lines	= 18,
	.source                 = "dpi.0",

	.data_lines		= 18,

	.display_timing		= &cm_t35_lcd_videomode,

	.enable_gpio		= -1,
	.backlight_gpio		= CM_T35_LCD_BL_GPIO,
};

static struct tfp410_platform_data dvi_panel = {
	.power_down_gpio	= CM_T35_DVI_EN_GPIO,
	.i2c_bus_num		= -1,
static struct platform_device cm_t35_lcd_device = {
	.name                   = "panel-dpi",
	.id                     = 0,
	.dev.platform_data      = &cm_t35_lcd_pdata,
};

static struct omap_dss_device cm_t35_dvi_device = {
static struct connector_dvi_platform_data cm_t35_dvi_connector_pdata = {
	.name                   = "dvi",
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.driver_name		= "tfp410",
	.data			= &dvi_panel,
	.phy.dpi.data_lines	= 24,
	.source                 = "tfp410.0",
	.i2c_bus_num            = -1,
};

static struct omap_dss_device cm_t35_tv_device = {
static struct platform_device cm_t35_dvi_connector_device = {
	.name                   = "connector-dvi",
	.id                     = 0,
	.dev.platform_data      = &cm_t35_dvi_connector_pdata,
};

static struct encoder_tfp410_platform_data cm_t35_tfp410_pdata = {
	.name                   = "tfp410.0",
	.source                 = "dpi.0",
	.data_lines             = 24,
	.power_down_gpio        = CM_T35_DVI_EN_GPIO,
};

static struct platform_device cm_t35_tfp410_device = {
	.name                   = "tfp410",
	.id                     = 0,
	.dev.platform_data      = &cm_t35_tfp410_pdata,
};

static struct connector_atv_platform_data cm_t35_tv_pdata = {
	.name = "tv",
	.driver_name		= "venc",
	.type			= OMAP_DISPLAY_TYPE_VENC,
	.phy.venc.type		= OMAP_DSS_VENC_TYPE_SVIDEO,
	.source = "venc.0",
	.connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
	.invert_polarity = false,
};

static struct omap_dss_device *cm_t35_dss_devices[] = {
	&cm_t35_lcd_device,
	&cm_t35_dvi_device,
	&cm_t35_tv_device,
static struct platform_device cm_t35_tv_connector_device = {
	.name                   = "connector-analog-tv",
	.id                     = 0,
	.dev.platform_data      = &cm_t35_tv_pdata,
};

static struct omap_dss_board_info cm_t35_dss_data = {
	.num_devices	= ARRAY_SIZE(cm_t35_dss_devices),
	.devices	= cm_t35_dss_devices,
	.default_device	= &cm_t35_dvi_device,
	.default_display_name = "dvi",
};

static struct omap2_mcspi_device_config tdo24m_mcspi_config = {
@@ -280,6 +309,11 @@ static void __init cm_t35_init_display(void)
		pr_err("CM-T35: failed to register DSS device\n");
		gpio_free(CM_T35_LCD_EN_GPIO);
	}

	platform_device_register(&cm_t35_tfp410_device);
	platform_device_register(&cm_t35_dvi_connector_device);
	platform_device_register(&cm_t35_lcd_device);
	platform_device_register(&cm_t35_tv_connector_device);
}

static struct regulator_consumer_supply cm_t35_vmmc1_supply[] = {
Loading