Enable support for a Fusion display

The Goodix and Fusion displays share properties that prevent both of them from being enabled simultaneously in the ConnectCore 6 SBC's device tree:

Since the Goodix display is enabled by default, you must make some changes to the device trees to enable the Fusion display.

Identify your display

Check the back of your 10.1" display to identify the model and determine if you must modify the device tree.

Modify your device tree(s)

Changing the display's timings

The display timings are defined in the parent .dtsi file of the platform, not the final .dts file. In this case, modify the imx6qdl-ccimx6sbc.dtsi file.

ConnectCore 6 SBC

diff --git a/arch/arm/boot/dts/imx6qdl-ccimx6sbc.dtsi b/arch/arm/boot/dts/imx6qdl-ccimx6sbc.dtsi
index b60293c..ee10c9c 100644
--- a/arch/arm/boot/dts/imx6qdl-ccimx6sbc.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-ccimx6sbc.dtsi
@@ -188,7 +188,7 @@
 fsl,data-width = <18>;
  
 display-timings {
- native-mode = <&g101evn010_1>;
+ native-mode = <&hsd101pfw2_1>;
  
 /* Fusion 10" F10A-0102 */
 hsd101pfw2_1: timing@0 {

Note This change is for lvds-channel@0, if the other channel is being used instead, change its display-timings property to hsd101pfw2_2.

Modify the touch controller

Note The touch controllers are enabled in variant-specific .dts files, so you must first identify the device tree being used on your device to choose the correct .dts file. Once you have identified which file needs to be modified, apply the following changes.

ConnectCore 6 SBC

diff --git a/arch/arm/boot/dts/imx6q-ccimx6sbc-id129.dts b/arch/arm/boot/dts/imx6q-ccimx6sbc-id129.dts
index 2ac5ce9..fe1aa61 100644
--- a/arch/arm/boot/dts/imx6q-ccimx6sbc-id129.dts
+++ b/arch/arm/boot/dts/imx6q-ccimx6sbc-id129.dts
@@ -120,18 +120,18 @@
         * to avoid this error message.
         */
        /* Uncomment to enable the fusion touch, used with hsd101pfw2 */
-       //fusion@10 {
-       //      status = "okay";
-       //};
-
-       //fusion@14 {
-       //      status = "okay";
-       //};
+       fusion@10 {
+               status = "okay";
+       };
 
-       goodix_touch: gt911@14 {
+       fusion@14 {
                status = "okay";
        };
 
+       //goodix_touch: gt911@14 {
+       //      status = "okay";
+       //};
+
        edid@50 {
                status = "okay";
        };