#include "dc_priv.h"
-static const u32 tegra_dc_rgb_pintable[] = {
+static const u32 tegra_dc_rgb_enable_pintable[] = {
DC_COM_PIN_OUTPUT_ENABLE0, 0x00000000,
DC_COM_PIN_OUTPUT_ENABLE1, 0x00000000,
DC_COM_PIN_OUTPUT_ENABLE2, 0x00000000,
DC_COM_PIN_OUTPUT_SELECT6, 0x00020000,
};
+static const u32 tegra_dc_rgb_disable_pintable[] = {
+ DC_COM_PIN_OUTPUT_ENABLE0, 0x55555555,
+ DC_COM_PIN_OUTPUT_ENABLE1, 0x55150005,
+ DC_COM_PIN_OUTPUT_ENABLE2, 0x55555555,
+ DC_COM_PIN_OUTPUT_ENABLE3, 0x55555555,
+ DC_COM_PIN_OUTPUT_POLARITY0, 0x00000000,
+ DC_COM_PIN_OUTPUT_POLARITY1, 0x00000000,
+ DC_COM_PIN_OUTPUT_POLARITY2, 0x00000000,
+ DC_COM_PIN_OUTPUT_POLARITY3, 0x00000000,
+ DC_COM_PIN_OUTPUT_DATA0, 0xaaaaaaaa,
+ DC_COM_PIN_OUTPUT_DATA1, 0xaaaaaaaa,
+ DC_COM_PIN_OUTPUT_DATA2, 0xaaaaaaaa,
+ DC_COM_PIN_OUTPUT_DATA3, 0xaaaaaaaa,
+ DC_COM_PIN_OUTPUT_SELECT0, 0x00000000,
+ DC_COM_PIN_OUTPUT_SELECT1, 0x00000000,
+ DC_COM_PIN_OUTPUT_SELECT2, 0x00000000,
+ DC_COM_PIN_OUTPUT_SELECT3, 0x00000000,
+ DC_COM_PIN_OUTPUT_SELECT4, 0x00000000,
+ DC_COM_PIN_OUTPUT_SELECT5, 0x00000000,
+ DC_COM_PIN_OUTPUT_SELECT6, 0x00000000,
+};
void tegra_dc_rgb_enable(struct tegra_dc *dc)
{
tegra_dc_writel(dc, DISP_CTRL_MODE_C_DISPLAY, DC_CMD_DISPLAY_COMMAND);
- tegra_dc_write_table(dc, tegra_dc_rgb_pintable);
+ tegra_dc_write_table(dc, tegra_dc_rgb_enable_pintable);
+}
+
+void tegra_dc_rgb_disable(struct tegra_dc *dc)
+{
+ tegra_dc_writel(dc, 0x00000000, DC_CMD_DISPLAY_POWER_CONTROL);
+
+ tegra_dc_write_table(dc, tegra_dc_rgb_disable_pintable);
}
struct tegra_dc_out_ops tegra_dc_rgb_ops = {
.enable = tegra_dc_rgb_enable,
+ .disable = tegra_dc_rgb_disable,
};