cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP135 NO BACKLIGHT

batuhanky
Associate

Hi Everyone,

I have problem with custom carrier and dts. I am using MP135 SoM from PHYTEC and when I add panel backlight property to the panel node, there is no pwm output, but when I comment out this feature from the panel node, the panel backlight works as expected. Can you check my dts? I am using a generic RGB display. This is my working dts:

 #include "stm32mp1-phycore-custom-carrier.dtsi"
 
 / {
     model = "CUSTOM CARRIER";
     compatible = "phytec,stm32mp135f-pbacd10", "phytec,stm32mp135f-pcl076-emmc",
              "phytec,stm32mp135f-pcl076", "st,stm32mp135";
 
     memory@c0000000 {
         reg = <0xc0000000 0x20000000>;
     };
 
     reserved-memory {
         #address-cells = <1>;
         #size-cells = <1>;
         ranges;
 
         optee_framebuffer@dd000000 {
             reg = <0xdd000000 0x1000000>;
             no-map;
         };
 
         optee@de000000 {
             reg = <0xde000000 0x2000000>;
             no-map;
         };
     };

     panel_rgb: rgb-panel {
		compatible = "panel-dpi";
                label = "dt304b-lcd";
		reset-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>;
		//backlight = <&panel_backlight>;

		data-mapping = "bgr666";

		status = "okay";

		width-mm = <115>;
		height-mm = <80>;

		port {
			panel_in_rgb: endpoint {
				remote-endpoint = <&ltdc_ep0_out>;
			};
		};
//SATOZ 4.3INCH PANEL TIMINGS
		panel-timing {
                        clock-frequency = <9000000>;
                        hactive = <480>;
			vactive = <272>;
                        hfront-porch = <8>;
			hback-porch = <43>;
			hsync-len = <4>;
			vback-porch = <12>;
			vfront-porch = <8>;
			vsync-len = <4>;
		};
	};

    panel_backlight: panel-backlight {
        compatible = "pwm-backlight";
        status = "okay";
        pwms = <&pwm_8 2 50000 0>;
        enable-gpios = <&gpiob 1 GPIO_ACTIVE_HIGH>;
        power-supply = <&scmi_vdd>;
        brightness-levels = <0 4 8 16 32 64 128 255>;
        default-brightness-level = <6>;
    };

    user-leds {
        compatible = "gpio-leds";

        sys-green-led {
            gpios = <&gpiob 13 GPIO_ACTIVE_HIGH>;
            linux,default-trigger = "heartbeat";
        };

        sys-red-led {
            gpios = <&gpiob 5 GPIO_ACTIVE_HIGH>;
            linux,default-trigger = "gpio";
            default-state = "on";
        };
    };
 };

 &ltdc {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&ltdc_pins_mx>;
    pinctrl-1 = <&ltdc_sleep_pins_mx>;

    status = "okay";
    port {
        #address-cells = <1>;
        #size-cells = <0>;

        ltdc_ep0_out: endpoint@0 {
            reg = <0>;
            remote-endpoint = <&panel_in_rgb>;
        };
    };
};

&timers8 {
	/delete-property/dmas;
	/delete-property/dma-names;
	status = "okay";
	pwm_8: pwm  {
		pinctrl-0 = <&tim8_pwm_pins_mx>;
		pinctrl-1 = <&tim8_pwm_sleep_pins_mx>;
		pinctrl-names = "default", "sleep";
		status = "okay";
	};
};

&i2c5 {
    /delete-node/i2c_rtc;
    /delete-node/tlv320;
	goodix: goodix_ts@14 {
		compatible = "goodix,gt911";
		reg = <0x14>;
		interrupt-parent = <&gpiof>;
        interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
        interrupt-controller;
		reset-gpios = <&gpiog 12 GPIO_ACTIVE_LOW>;
		touchscreen-size-x = <480>;
		touchscreen-size-y = <272>;
		status = "okay";
	};
};

 

0 REPLIES 0