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:
- The display-timings property of the lvds-channel nodes needs to be set to one specific set of timings. This means either display's timings can be set, but not both at the same time.
- The touch controllers of both displays share the same I2C address (0x14), meaning both touch controllers can't coexist in the same 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.
- G101EVN01.0: this is the Goodix display, so it should work with the default software.
- CLAA101NC05: this is the Fusion display, meaning you will have to modify your device tree for it to work properly.
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"; };