#ifdef CONFIG_DRM_EXYNOS_HDMI
&exynos_drm_hdmi_device,
#endif
+#ifdef CONFIG_BUSFREQ_OPP
+ &exynos5_busfreq,
+#endif
+};
+
+static struct platform_device *thermistor_devices[] __initdata = {
&s3c_device_adc_ntc_thermistor0,
&s3c_device_adc_ntc_thermistor1,
&s3c_device_adc_ntc_thermistor2,
&s3c_device_adc_ntc_thermistor3,
-#ifdef CONFIG_BUSFREQ_OPP
- &exynos5_busfreq,
-#endif
};
static struct regulator_consumer_supply dummy_supplies[] = {
}
/*
- * Request lcd_bl_en GPIO for smdk5250_bl_notify().
- * TODO: Fix this so we are not at risk of requesting the GPIO
- * multiple times, this should be done with device tree, and
- * likely integrated into the plat-samsung/dev-backlight.c init.
+ * Set the backlight on LCD_PWM pin only for boards not using the
+ * Parade eDP bridge which has an internal PWN for the backlight.
*/
- gpio_request_one(EXYNOS5_GPX3(0), GPIOF_OUT_INIT_HIGH, "lcd_bl_en");
+ if (!of_find_compatible_node(NULL, NULL, "parade,ps8622")) {
+ if (of_machine_is_compatible("google,snow")) {
+ smdk5250_bl_data.max_brightness = 2800;
+ smdk5250_bl_data.dft_brightness = 2800;
+ }
- if (of_machine_is_compatible("google,snow")) {
- smdk5250_bl_data.max_brightness = 2800;
- smdk5250_bl_data.dft_brightness = 2800;
+ /*
+ * Request lcd_bl_en GPIO for smdk5250_bl_notify().
+ * TODO: Fix this so we are not at risk of requesting the GPIO
+ * multiple times, this should be done with device tree, and
+ * likely integrated into the plat-samsung/dev-backlight.c init.
+ */
+ gpio_request_one(EXYNOS5_GPX3(0), GPIOF_OUT_INIT_HIGH,
+ "lcd_bl_en");
+
+ samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
}
- samsung_bl_set(&smdk5250_bl_gpio_info, &smdk5250_bl_data);
/*
* HACK ALERT! TODO: FIXME!
exynos5250_auxdata_lookup, NULL);
#ifdef CONFIG_DRM_EXYNOS_FIMD
- if ((of_machine_is_compatible("google,snow")) ||
- (of_machine_is_compatible("google,spring")))
+ if (of_machine_is_compatible("google,snow"))
exynos_dp_gpio_setup_24bpp();
else
exynos_fimd_gpio_setup_24bpp();
#endif
s5p_tv_setup();
- /* Enable power to ADC */
- __raw_writel(0x1, S5P_ADC_PHY_CONTROL);
+ np = of_find_compatible_node(NULL, NULL, "samsung,exynos5-adc");
+ if (np && of_device_is_available(np)) {
+ /* Enable power to ADC */
+ __raw_writel(0x1, S5P_ADC_PHY_CONTROL);
+
+ s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor0);
+ s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor1);
+ s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor2);
+ s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor3);
- s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor0);
- s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor1);
- s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor2);
- s3c_adc_ntc_init(&s3c_device_adc_ntc_thermistor3);
+ platform_add_devices(thermistor_devices,
+ ARRAY_SIZE(thermistor_devices));
+ }
#ifdef CONFIG_BUSFREQ_OPP
dev_add(&busfreq, &exynos5_busfreq.dev);