Backlight control signal

The ConnectCore 8M Mini Development Kit uses MCA_IO17 (PWM chip 0, channel 4) as the LVDS backlight.

See MCA I/O pads for a list of all available MCA IOs and their capabilities.

Kernel configuration

You can manage the backlight support through the following kernel configuration options:

  • Low-level backlight controls (CONFIG_BACKLIGHT_CLASS_DEVICE)

  • Generic PWM-based backlight driver (CONFIG_BACKLIGHT_PWM)

These options are enabled as built-in on the default ConnectCore 8M Mini kernel configuration file.

Besides these, you must also enable support for the MCA PWM. See MCA Pulse Width Modulation (PWM).

Device tree bindings and customization

The PWM backlight interface bindings is documented at Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt.

LVDS backlight

This device tree excerpt shows the two blocks that configure the backlight signal:

  • A backlight entry that uses the generic PWM backlight driver, defines a period for the signal and a table of predefined brightness levels.

  • The enabling of the PWM interface.

Since the PWM signal is provided by the MCA, no IOMUX configuration is needed.

ConnectCore 8M Mini Development Kit device tree
	lvds_backlight: lvds_backlight {
		compatible = "pwm-backlight";
		pwms = <&mca_pwm0 4 100000 0>;

		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
				     10 11 12 13 14 15 16 17 18 19
				     20 21 22 23 24 25 26 27 28 29
				     30 31 32 33 34 35 36 37 38 39
				     40 41 42 43 44 45 46 47 48 49
				     50 51 52 53 54 55 56 57 58 59
				     60 61 62 63 64 65 66 67 68 69
				     70 71 72 73 74 75 76 77 78 79
				     80 81 82 83 84 85 86 87 88 89
				     90 91 92 93 94 95 96 97 98 99
				    100>;
		default-brightness-level = <80>;
		power-supply = <&reg_5v_board>;
		status = "okay";
	};

	...

	mca_cc8m: mca@63 {
		compatible = "digi,mca-cc8m";
		reg = <0x63>;
		interrupt-parent = <&gpio3>;
		interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-controller;
		#interrupt-cells = <2>;
		fw-update-gpio = <&gpio1 4 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_mca_cc8m>;

	...

		pwms {
			compatible = "digi,mca-pwm";
			#address-cells = <1>;
			#size-cells = <0>;

			mca_pwm0: pwm@0 {
				reg = <0>;
				pwm-channels = <6>;
				#pwm-cells = <3>;
			};
		};

	...

	};