diyin 发表于 2022-9-19 17:44:29

core-rk3399-jd4配置LVDS屏,显示不正常,请问如何设置?

在设备树中增加了dsi节点和TC358775G的panel-init-sequence后,LVDS屏可以点亮,但是显示不正确(如图所示)。
怀疑是按照TC358764_5_774_5XBG_DSI-LVDS_Tv11p_nm表格生成的panel-init-sequence不对,
以下是屏的参数和我的配置,请专家大神帮忙看下,是否有哪里配置错了?
/dts-v1/;

#include "rk3399-firefly-port.dtsi"
#include <dt-bindings/sensor-dev.h>
#include <dt-bindings/display/media-bus-format.h>

/ {
        model = "AIO-3399-JD4-SCLVDS Board (Linux Opensource)";
        compatible = "rockchip,rk3399-firefly", "rockchip,rk3399";

        test-power {
                status = "okay";
        };

        rt5640-sound {
                simple-audio-card,cpu {
                        sound-dai = <&i2s1>;
                };
                simple-audio-card,codec {
                        sound-dai = <&rt5640>;
                };
        };

        adc-keys {
                compatible = "adc-keys";
                io-channels = <&saradc 1>;
                io-channel-names = "buttons";
                poll-interval = <300>;
                keyup-threshold-microvolt = <1800000>;

                esc-key {
                        linux,code = <KEY_ESC>;
                        label = "esc";
                        press-threshold-microvolt = <0>;
                };
        };

        fan_ctl: fan-ctl-regulator {
                compatible = "regulator-fixed";
                enable-active-high;
                regulator-always-on;
                regulator-boot-on;
                gpio = <&gpio3 10 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                regulator-name = "fan_ctl";
                pinctrl-0 = <&fan_drv>;
        };

        NPU5801_PWR_EN: HUB20-PWR-EN {
                compatible = "regulator-fixed";
                enable-active-high;
                regulator-always-on;
                regulator-boot-on;
                gpio = <&gpio0 2 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&npu5801_pwr_en>;
                regulator-name = "vcc5v0_5801_en";
                status = "okay";
        };

};

&usbdrd_dwc3_0 {
    dr_mode = "host";
};


&gmac {
        tx_delay = <0x2F>;
        rx_delay = <0x1E>;
};


&vcc_sd_h {
        rockchip,pins = <1 22 RK_FUNC_GPIO &pcfg_pull_up>;
};

&vcc_sd {
        gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>;
};

&hdmi_dp_sound {
        status = "okay";
};

&i2c2 {
        status = "disabled";
        i2c-scl-rising-time-ns = <300>;
        i2c-scl-falling-time-ns = <15>;

        sensor@4c {
                status = "disabled";
                compatible = "gs_mc3230";
                reg = <0x4c>;
                type = <SENSOR_TYPE_ACCEL>;
                irq_enable = <0>;
                poll_delay_ms = <30>;
                layout = <1>;
        };
};

&rt5640 {
    hp-det-adc-value = <900>;
    aux-det-adc-value = <900>;
    hp-con-gpio = <&gpio3 16 GPIO_ACTIVE_HIGH>;
    io-channels = <&saradc 3>,<&saradc 2>;
    io-channel-names = "hp-det","aux-det";
};

&rt5640_hpcon{
    rockchip,pins = <3 16 RK_FUNC_GPIO &pcfg_pull_none>;
};

&vcca1v8_codec {
        regulator-min-microvolt = <900000>;
        regulator-max-microvolt = <900000>;
};

&spi1 {
        dev-port = <0>;
        status = "okay";
};

&spi_wk2xxx {
    status = "okay";
        reset-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
        irq-gpio = <&gpio2 8 IRQ_TYPE_EDGE_FALLING>;
        cs-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
};

// &spi2 {
//   status = "okay";
//   max-freq = <48000000>;
//   spidev@00 {
//         compatible = "linux,spidev";
//         reg = <0x00>;
//         spi-max-frequency = <48000000>;
//                 status = "okay";
//   };
// };

&vcc3v3_3g {
        gpio = <&gpio2 28 GPIO_ACTIVE_HIGH>;
};

&vcc3v3_pcie {
        /delete-property/ gpio;
};

&pcie0 {
        ep-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
};

&uart4 {
    status = "disabled";
};

&dp_in_vopb {
        status = "disabled";
};

&hdmi_in_vopl {
        status = "disabled";
};

&wdt {
        status = "disabled";
};

&io_domains {
        bt656-supply = <&vcc_3v0>;
};

&vcc2v8_dvp {
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
};

&vcca1v8_codec {
        regulator-min-microvolt = <900000>;
        regulator-max-microvolt = <900000>;
};

&fusb0 {
    status = "disabled";
};

&cdn_dp {
    status = "disabled";
};

&tcphy0 {
    /delete-property/ extcon;
    status = "okay";
};

&u2phy0 {
    status = "okay";
    /delete-property/ extcon;

    u2phy0_otg: otg-port {
      rockchip,vbus-always-on;
      vbus-5v-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
      status = "okay";
    };
};

&usbdrd3_0 {
    status = "okay";
    /delete-property/ extcon;
};

&usbdrd_dwc3_0 {
    dr_mode = "host";
};

&route_hdmi {
        // status = "okay";
        status = "disabled";
};

&hdmi_in_vopb {
        status = "disabled";
};



&hdmi {
        // status = "okay";
        status = "disabled";
};

&backlight {
        status = "okay";
        pwms = <&pwm0 0 100000 0>;
};

&edp_in_vopl {
        status = "disabled";
};

&edp_in_vopb {
        status = "disabled";
};

&dsi_in_vopl {
        status = "disabled";
};

&dsi_in_vopb {
        status = "okay";
};

&vopb_out_dsi {
        status = "okay";
};
&vopl_out_dsi {
        status = "okay";
};

&route_dsi {
        status = "disabled";
        connect = <&vopb_out_dsi>;
};

&dsi {
        status = "okay";
        rockchip,lane-rate = <550>;
        panel@0 {
                status = "okay";
                compatible = "simple-panel-dsi";
                // compatible = "auo,g101evn013", "simple-panel-dsi";
                reg = <0>;
                backlight = <&backlight>;
                enable-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
                reset-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
                dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
                dsi,format = <MIPI_DSI_FMT_RGB888>;
                bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;
                dsi,lanes = <4>;

                reset-delay-ms = <120>;
                init-delay-ms = <120>;
                enable-delay-ms = <120>;
                prepare-delay-ms = <120>;
                unprepare-delay-ms = <12>;
                disable-delay-ms = <120>;

                panel-init-sequence = [
                        29 00 06 3C 01 09 00 07 00                       
                        29 00 06 14 01 06 00 00 00                       
                        29 00 06 64 01 0A 00 00 00                       
                        29 00 06 68 01 0A 00 00 00                       
                        29 00 06 6C 01 0A 00 00 00                       
                        29 00 06 70 01 0A 00 00 00                       
                        29 00 06 34 01 1F 00 00 00                       
                        29 00 06 10 02 1F 00 00 00                       
                        29 00 06 04 01 01 00 00 00                       
                        29 00 06 04 02 01 00 00 00                       
                        29 00 06 50 04 20 01 F0 03                       
                        29 00 06 54 04 20 00 20 00                       
                        29 00 06 58 04 00 05 48 00                       
                        29 00 06 5C 04 04 00 04 00                       
                        29 00 06 60 04 20 03 08 00                       
                        29 00 06 64 04 01 00 00 00                       
                        29 00 06 A0 04 2D 80 44 00                       
                        29 00 06 A0 04 2D 80 04 00                       
                        29 00 06 04 05 04 00 00 00                       
                        29 00 06 80 04 00 01 02 03                       
                        29 00 06 84 04 04 07 05 08                       
                        29 00 06 88 04 09 0A 0E 0F                       
                        29 00 06 8C 04 0B 0C 0D 10                       
                        29 00 06 90 04 16 17 11 12                       
                        29 00 06 94 04 13 14 15 1B                       
                        29 00 06 98 04 18 19 1A 06                       
                        29 00 06 9C 04 63 06 00 00
                ];
                panel-exit-sequence = [
                        05 05 01 28
                        05 78 01 10
                ];

                disp_timings: display-timings {
                        native-mode = <&timing0>;
                        timing0: timing0 {
                                clock-frequency = <69327360>; //@60 71214000
                                hactive = <1280>;
                                vactive = <800>;
                                hsync-len = <32>;
                                hback-porch = <32>;
                                hfront-porch = <72>;
                                vsync-len = <4>;
                                vback-porch = <4>;
                                vfront-porch = <8>;
                                hsync-active = <0>;
                                vsync-active = <0>;
                                de-active = <0>;
                                pixelclk-active = <0>;
                        };
                };
        };
};

&rk808 {
   /delete-property/ pmic,stby-gpio;
   /delete-property/ pmic,hold-gpio;
};

&vcc_mipi {
        status = "okay";
};

&dvdd_1v2 {
        status = "okay";
};

&ov13850 {
        pwdn-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
        status = "okay";
};

&rkisp1_0 {
        status = "okay";
};

&mipi_dphy_rx0 {
        status = "okay";
};

&isp0_mmu {
        status = "okay";
};

&rkisp1_1 {
        status = "okay";
};

&mipi_dphy_tx1rx1 {
        status = "okay";
};

&isp1_mmu {
        status = "okay";
};


&pinctrl {
        pinctrl-names = "default";
        pinctrl-0 = <&host_hub_vcc>;

        npu_pwr_en {
                // control VCC5V0_HOST3
                npu5801_pwr_en: npu5801-pwr-en {
                        rockchip,pins =
                                <0 2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };

        host-hub-vcc {
                host_hub_vcc: host-hub-vcc {
                        rockchip,pins =
                                <2 4 RK_FUNC_GPIO &pcfg_output_high>,
                                <4 29 RK_FUNC_GPIO &pcfg_output_high>;
                };
        };

        pcie {
                pcie_3g_drv: pcie-3g-drv {
                        rockchip,pins =
                                <2 6 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };

        vcc_sd {
                vcc_sd_h: vcc-sd-h {
                        rockchip,pins =
                                <1 22 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };

        fan-ctl {
                fan_drv: fan-drv {
                        rockchip,pins = <3 10 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
};




diyin 发表于 2022-9-21 08:50:17

abcxyztt 发表于 2022-9-20 18:09
参数设定有问题

能给具体看下哪个参数不对吗?图片红框里的参数应该怎么填?

luwy 发表于 2022-9-21 18:01:52

hactive 和vactive的参数交换一下试试

diyin 发表于 2022-9-22 11:15:23

luwy 发表于 2022-9-21 18:01
hactive 和vactive的参数交换一下试试

交换一下 屏不亮了

diyin 发表于 2022-9-22 11:32:29

abcxyztt 发表于 2022-9-21 14:32
Q我

加好友了{:4_189:}
页: [1]
查看完整版本: core-rk3399-jd4配置LVDS屏,显示不正常,请问如何设置?