aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/s5p-fimc/fimc-core.c30
1 files changed, 19 insertions, 11 deletions
diff --git a/drivers/media/video/s5p-fimc/fimc-core.c b/drivers/media/video/s5p-fimc/fimc-core.c
index 6c919b38a3d8..d54e6d851f52 100644
--- a/drivers/media/video/s5p-fimc/fimc-core.c
+++ b/drivers/media/video/s5p-fimc/fimc-core.c
@@ -1750,7 +1750,7 @@ static int __devexit fimc_remove(struct platform_device *pdev)
1750} 1750}
1751 1751
1752/* Image pixel limits, similar across several FIMC HW revisions. */ 1752/* Image pixel limits, similar across several FIMC HW revisions. */
1753static struct fimc_pix_limit s5p_pix_limit[3] = { 1753static struct fimc_pix_limit s5p_pix_limit[4] = {
1754 [0] = { 1754 [0] = {
1755 .scaler_en_w = 3264, 1755 .scaler_en_w = 3264,
1756 .scaler_dis_w = 8192, 1756 .scaler_dis_w = 8192,
@@ -1775,6 +1775,14 @@ static struct fimc_pix_limit s5p_pix_limit[3] = {
1775 .out_rot_en_w = 1280, 1775 .out_rot_en_w = 1280,
1776 .out_rot_dis_w = 1920, 1776 .out_rot_dis_w = 1920,
1777 }, 1777 },
1778 [3] = {
1779 .scaler_en_w = 1920,
1780 .scaler_dis_w = 8192,
1781 .in_rot_en_h = 1366,
1782 .in_rot_dis_w = 8192,
1783 .out_rot_en_w = 1366,
1784 .out_rot_dis_w = 1920,
1785 },
1778}; 1786};
1779 1787
1780static struct samsung_fimc_variant fimc0_variant_s5p = { 1788static struct samsung_fimc_variant fimc0_variant_s5p = {
@@ -1827,7 +1835,7 @@ static struct samsung_fimc_variant fimc2_variant_s5pv210 = {
1827 .pix_limit = &s5p_pix_limit[2], 1835 .pix_limit = &s5p_pix_limit[2],
1828}; 1836};
1829 1837
1830static struct samsung_fimc_variant fimc0_variant_s5pv310 = { 1838static struct samsung_fimc_variant fimc0_variant_exynos4 = {
1831 .pix_hoff = 1, 1839 .pix_hoff = 1,
1832 .has_inp_rot = 1, 1840 .has_inp_rot = 1,
1833 .has_out_rot = 1, 1841 .has_out_rot = 1,
@@ -1840,7 +1848,7 @@ static struct samsung_fimc_variant fimc0_variant_s5pv310 = {
1840 .pix_limit = &s5p_pix_limit[1], 1848 .pix_limit = &s5p_pix_limit[1],
1841}; 1849};
1842 1850
1843static struct samsung_fimc_variant fimc2_variant_s5pv310 = { 1851static struct samsung_fimc_variant fimc2_variant_exynos4 = {
1844 .pix_hoff = 1, 1852 .pix_hoff = 1,
1845 .has_cistatus2 = 1, 1853 .has_cistatus2 = 1,
1846 .has_mainscaler_ext = 1, 1854 .has_mainscaler_ext = 1,
@@ -1848,7 +1856,7 @@ static struct samsung_fimc_variant fimc2_variant_s5pv310 = {
1848 .min_out_pixsize = 16, 1856 .min_out_pixsize = 16,
1849 .hor_offs_align = 1, 1857 .hor_offs_align = 1,
1850 .out_buf_count = 32, 1858 .out_buf_count = 32,
1851 .pix_limit = &s5p_pix_limit[2], 1859 .pix_limit = &s5p_pix_limit[3],
1852}; 1860};
1853 1861
1854/* S5PC100 */ 1862/* S5PC100 */
@@ -1874,12 +1882,12 @@ static struct samsung_fimc_driverdata fimc_drvdata_s5pv210 = {
1874}; 1882};
1875 1883
1876/* S5PV310, S5PC210 */ 1884/* S5PV310, S5PC210 */
1877static struct samsung_fimc_driverdata fimc_drvdata_s5pv310 = { 1885static struct samsung_fimc_driverdata fimc_drvdata_exynos4 = {
1878 .variant = { 1886 .variant = {
1879 [0] = &fimc0_variant_s5pv310, 1887 [0] = &fimc0_variant_exynos4,
1880 [1] = &fimc0_variant_s5pv310, 1888 [1] = &fimc0_variant_exynos4,
1881 [2] = &fimc0_variant_s5pv310, 1889 [2] = &fimc0_variant_exynos4,
1882 [3] = &fimc2_variant_s5pv310, 1890 [3] = &fimc2_variant_exynos4,
1883 }, 1891 },
1884 .num_entities = 4, 1892 .num_entities = 4,
1885 .lclk_frequency = 166000000UL, 1893 .lclk_frequency = 166000000UL,
@@ -1893,8 +1901,8 @@ static struct platform_device_id fimc_driver_ids[] = {
1893 .name = "s5pv210-fimc", 1901 .name = "s5pv210-fimc",
1894 .driver_data = (unsigned long)&fimc_drvdata_s5pv210, 1902 .driver_data = (unsigned long)&fimc_drvdata_s5pv210,
1895 }, { 1903 }, {
1896 .name = "s5pv310-fimc", 1904 .name = "exynos4-fimc",
1897 .driver_data = (unsigned long)&fimc_drvdata_s5pv310, 1905 .driver_data = (unsigned long)&fimc_drvdata_exynos4,
1898 }, 1906 },
1899 {}, 1907 {},
1900}; 1908};