drm: Add orientation quirk for Lenovo ideapad D330-10IGL
[platform/kernel/linux-rpi.git] / drivers / gpu / drm / drm_panel_orientation_quirks.c
index cf4db2c..ce739ba 100644 (file)
@@ -109,6 +109,18 @@ static const struct drm_dmi_panel_orientation_data lcd1200x1920_rightside_up = {
        .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
 };
 
+static const struct drm_dmi_panel_orientation_data lcd1280x1920_rightside_up = {
+       .width = 1280,
+       .height = 1920,
+       .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd1600x2560_leftside_up = {
+       .width = 1600,
+       .height = 2560,
+       .orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
+};
+
 static const struct dmi_system_id orientation_data[] = {
        {       /* Acer One 10 (S1003) */
                .matches = {
@@ -116,6 +128,18 @@ static const struct dmi_system_id orientation_data[] = {
                  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
                },
                .driver_data = (void *)&lcd800x1280_rightside_up,
+       }, {    /* Acer Switch V 10 (SW5-017) */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SW5-017"),
+               },
+               .driver_data = (void *)&lcd800x1280_rightside_up,
+       }, {    /* Anbernic Win600 */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Anbernic"),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Win600"),
+               },
+               .driver_data = (void *)&lcd720x1280_rightside_up,
        }, {    /* Asus T100HA */
                .matches = {
                  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
@@ -154,6 +178,12 @@ static const struct dmi_system_id orientation_data[] = {
                  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "MicroPC"),
                },
                .driver_data = (void *)&lcd720x1280_rightside_up,
+       }, {    /* GPD Win Max */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "GPD"),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "G1619-01"),
+               },
+               .driver_data = (void *)&lcd800x1280_rightside_up,
        }, {    /*
                 * GPD Pocket, note that the the DMI data is less generic then
                 * it seems, devices with a board-vendor of "AMI Corporation"
@@ -242,6 +272,18 @@ static const struct dmi_system_id orientation_data[] = {
                  DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGM"),
                },
                .driver_data = (void *)&lcd1200x1920_rightside_up,
+       }, {    /* Lenovo Ideapad D330-10IGL (HD) */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGL"),
+               },
+               .driver_data = (void *)&lcd800x1280_rightside_up,
+       }, {    /* Lenovo Yoga Book X90F / X91F / X91L */
+               .matches = {
+                 /* Non exact match to match all versions */
+                 DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X9"),
+               },
+               .driver_data = (void *)&lcd1200x1920_rightside_up,
        }, {    /* OneGX1 Pro */
                .matches = {
                  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SYSTEM_MANUFACTURER"),
@@ -249,6 +291,25 @@ static const struct dmi_system_id orientation_data[] = {
                  DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Default string"),
                },
                .driver_data = (void *)&onegx1_pro,
+       }, {    /* OneXPlayer */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ONE-NETBOOK TECHNOLOGY CO., LTD."),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ONE XPLAYER"),
+               },
+               .driver_data = (void *)&lcd1600x2560_leftside_up,
+       }, {    /* Samsung GalaxyBook 10.6 */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Galaxy Book 10.6"),
+               },
+               .driver_data = (void *)&lcd1280x1920_rightside_up,
+       }, {    /* Valve Steam Deck */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Valve"),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Jupiter"),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "1"),
+               },
+               .driver_data = (void *)&lcd800x1280_rightside_up,
        }, {    /* VIOS LTH17 */
                .matches = {
                  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VIOS"),