@hubbell 试过也不行, PD20脚硬件使用4.7k电阻上拉到3.3V,进linux 还是低电平。
#define panel_reset(sel, val) sunxi_lcd_gpio_set_value(sel, 0, val)
code_textstatic void lcd_power_on(u32 sel)
{
sunxi_lcd_power_enable(sel, 0);
sunxi_lcd_delay_ms(10);
sunxi_lcd_power_enable(sel, 1);
sunxi_lcd_delay_ms(10);
sunxi_lcd_pin_cfg(sel, 1);
sunxi_lcd_delay_ms(50);
panel_reset(sel, 1);
sunxi_lcd_delay_ms(100);
panel_reset(sel, 0);
sunxi_lcd_delay_ms(100);
panel_reset(sel, 1);
sunxi_lcd_delay_ms(100);
}
// 1280x800 MIPI LCD
&lcd0 {
lcd_used = <1>;
lcd_driver_name = "he0801a068";
lcd_backlight = <100>;
lcd_if = <4>;
lcd_x = <800>;
lcd_y = <1280>;
lcd_width = <52>;
lcd_height = <52>;
lcd_dclk_freq = <72>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <7>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <1>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <40>;
lcd_ht = <900>;
lcd_hspw = <20>;
lcd_vbp = <24>;
lcd_vt = <1330>;
lcd_vspw = <4>;
lcd_dsi_lane = <4>;
lcd_dsi_if = <0>;
lcd_dsi_format = <0>;
lcd_dsi_te = <0>;
lcd_frm = <0>;
lcd_gamma_en = <0>;
lcd_cmap_en = <0>;
lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>; //reset
pinctrl-0 = <&dsi4lane_pins_a>;
pinctrl-1 = <&dsi4lane_pins_b>;
//lcd_reset = <&pio PD 20 1 0 3 1>; //reset
};