DeviceTree 오버레이 실패

DeviceTree 오버레이 실패

설정은 다음과 같습니다. TinkerBoard-S, rk3288 칩 포함, 이전 커널 4.4.199로 armbian 실행

이제 기존 베이스에 오버레이를 추가하고 싶습니다. 기존의 내용은 다음과 같습니다.

 dsi@ff960000 {
                reg = <0x0 0xff960000 0x0 0x4000>;
                interrupts = <0x0 0x13 0x4>;
                compatible = "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi";
                clock-names = "ref", "pclk";
                reset-names = "apb";
                clocks = <0x7 0x7e 0x7 0x164>;
                power-domains = <0x72 0x9>;
                resets = <0x7 0x73>;
                status = "okay";
                #address-cells = <0x1>;
                phandle = <0xe9>;
                #size-cells = <0x0>;
                rockchip,grf = <0x47>;

                ports {
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;

                        port {
                                #address-cells = <0x1>;
                                phandle = <0xea>;
                                #size-cells = <0x0>;

                                endpoint@0 {
                                        reg = <0x0>;
                                        remote-endpoint = <0x89>;
                                        phandle = <0x81>;
                                };

                                endpoint@1 {
                                        reg = <0x1>;
                                        remote-endpoint = <0x8a>;
                                        phandle = <0x86>;
                                };
                        };
                };

                mipi-panel {
                        reg = <0x0>;
                        compatible = "asus,tc358762";
                        status = "okay";
                        phandle = <0xeb>;
                };
        };

dsi@ff964000 {
                reg = <0x0 0xff964000 0x0 0x4000>;
                interrupts = <0x0 0x14 0x4>;
                compatible = "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi";
                clock-names = "ref", "pclk";
                reset-names = "apb";
                clocks = <0x7 0x7e 0x7 0x165>;
                power-domains = <0x72 0x9>;
                resets = <0x7 0x74>;
                status = "disabled";
                #address-cells = <0x1>;
                phandle = <0xec>;
                #size-cells = <0x0>;
                rockchip,grf = <0x47>;

                ports {
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;

                        port {
                                #address-cells = <0x1>;
                                phandle = <0xed>;
                                #size-cells = <0x0>;

                                endpoint@0 {
                                        reg = <0x0>;
                                        remote-endpoint = <0x8b>;
                                        phandle = <0x83>;
 };

                                endpoint@1 {
                                        reg = <0x1>;
                                        remote-endpoint = <0x8c>;
                                        phandle = <0x88>;
                                };
                        };
                };
        };


....

 aliases {
                i2c0 = "/i2c@ff650000";
                i2c1 = "/i2c@ff140000";
                i2c2 = "/i2c@ff660000";
                i2c3 = "/i2c@ff150000";
                i2c4 = "/i2c@ff160000";
                i2c5 = "/i2c@ff170000";
                dsi0 = "/dsi@ff960000";
                dsi1 = "/dsi@ff964000";
                spi0 = "/spi@ff110000";
                spi1 = "/spi@ff120000";
                spi2 = "/spi@ff130000";
                mshc0 = "/dwmmc@ff0f0000";
                mshc1 = "/dwmmc@ff0c0000";
                mshc2 = "/dwmmc@ff0d0000";
                mshc3 = "/dwmmc@ff0e0000";
                serial0 = "/serial@ff180000";
                serial1 = "/serial@ff190000";
                serial2 = "/serial@ff690000";
                serial3 = "/serial@ff1b0000";
                serial4 = "/serial@ff1c0000";
                testcase-alias = "/testcase-data";
                ethernet0 = "/ethernet@ff290000";
        };

이제 dsi0에 다른 패널을 연결하고 싶습니다. 그래서 다음 오버레이를 만들고 컴파일했습니다.

/dts-v1/;
/plugin/;

/ {
    compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288";

    fragment@0 {
        target = <&dsi0> ;
        __overlay__ {
            status = "okay";
            dsi_panel:panel 
            {
                compatible = "simple-panel-dsi";
                reg = <0> ;
                //backlight = < & backlight > ;
                //dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST)>;
                //dsi,format = <MIPI_DSI_FMT_RGB888>;
                //bus-format = <MEDIA_BUS_FMT_RGB666_1X18>;
                dsi,lanes = <2> ;
                status = "okay";
                panel-init-sequence = [
                    05 20 01 29
                    05 96 01 11
                ];
                panel-exit-sequence = [
                    05 05 01 28
                    05 78 01 10
                ];
                disp_timings: display-timings 
                {
                    native-mode = <&timing0> ;
                    timing0:timing0 
                    {
                        clock-frequency = <64000000> ;
                        hactive = <768> ;
                        vactive = <1024> ;
                        hsync-len = <5> ; //20, 50
                        hback-porch = <25> ; //50, 56
                        hfront-porch = <150> ; //50, 30
                        vsync-len = <1> ;
                        vback-porch = <15> ;
                        vfront-porch = <100> ;
                        hsync-active = <0> ;
                        vsync-active = <0> ;
                        de-active = <0> ;
                        pixelclk-active = <0> ;
                    };
                };
            };
        };
    };

};

보드를 시작하면 다음 오류가 발생합니다.

[    0.000000] L2C: failed to init: -19
[    0.000000] rockchip_clk_register_branches: unknown clock type 9
[    1.506512] vcc_sd: regulator get failed, ret=-517
[    1.506917] vcc_flash: regulator get failed, ret=-517
[    2.185904] rk-vcodec ff9a0000.vpu-service: no regulator for vcodec
[    2.187620] rk-vcodec ff9a0000.vpu-service: could not find power_model node
[    2.188089] rk-vcodec ff9c0000.hevc-service: no regulator for vcodec
[    2.189531] rk-vcodec ff9c0000.hevc-service: could not find power_model node
[    2.276168] rockchip-spi ff130000.spi: no high_speed pinctrl state
[    2.288235] rk_gmac-dwmac ff290000.ethernet: phy regulator is not available yet, deferred probing
[    2.300406] Rockchip WiFi SYS interface (V1.00) ...
[    2.307694] ff540000.usb supply vusb_d not found, using dummy regulator
[    2.315123] ff540000.usb supply vusb_a not found, using dummy regulator
[    2.436886] ff580000.usb supply vusb_d not found, using dummy regulator
[    2.444329] ff580000.usb supply vusb_a not found, using dummy regulator
[    2.451950] dwc2 ff580000.usb: dwc2_core_reset() HANG! Soft Reset GRSTCTL=80000001
[    2.571761] dwc2 ff580000.usb: dwc2_wait_for_mode: Couldn't set device mode
[    2.849156] tinker-mcu: send_cmds: send command failed, ret = -6
[    2.855855] tinker-mcu: tinker_mcu_probe: init_cmd_check failed, -6
[    2.872950] rockchip-sy-mipi-dphy ff770000.syscon:mipi-phy-rx0: invalid resource
[    2.885551] rk_tsadcv2_temp_to_code: Invalid conversion table: code=4095, temperature=2147483647
[    2.911600] rockchip_cpuclk_pre_rate_change: Invalid rate : 500000000 for cpuclk
[    2.993716] ff960000.dsi.0 supply power not found, using dummy regulator
[    3.001247] dw-mipi-dsi ff960000.dsi: device mode is unsupported
[    3.007974] panel-simple-dsi: probe of ff960000.dsi.0 failed with error -22
[    3.015736] ------------[ cut here ]------------
[    3.020867] WARNING: CPU: 0 PID: 1 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x78/0x88()
[    3.029247] sysfs: cannot create duplicate filename '/devices/platform/ff960000.dsi/ff960000.dsi.0'
[    3.039257] Modules linked in:
[    3.042640] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.199-rockchip #37
[    3.050238] Hardware name: Rockchip (Device Tree)
[    3.055453] [<c011126c>] (unwind_backtrace) from [<c010cb54>] (show_stack+0x20/0x24)
[    3.064033] [<c010cb54>] (show_stack) from [<c06298fc>] (dump_stack+0x90/0xa4)
[    3.072035] [<c06298fc>] (dump_stack) from [<c01207f4>] (warn_slowpath_common+0x94/0xc4)
[    3.080995] [<c01207f4>] (warn_slowpath_common) from [<c0120864>] (warn_slowpath_fmt+0x40/0x48)
[    3.090628] [<c0120864>] (warn_slowpath_fmt) from [<c02df158>] (sysfs_warn_dup+0x78/0x88)
[    3.099685] [<c02df158>] (sysfs_warn_dup) from [<c02df250>] (sysfs_create_dir_ns+0x94/0xa0)
[    3.108935] [<c02df250>] (sysfs_create_dir_ns) from [<c062c328>] (kobject_add_internal+0xa4/0x2d4)
[    3.118856] [<c062c328>] (kobject_add_internal) from [<c062c5ac>] (kobject_add+0x54/0x9c)
[    3.127914] [<c062c5ac>] (kobject_add) from [<c0758744>] (device_add+0x100/0x5b0)
[    3.136203] [<c0758744>] (device_add) from [<c0726cb0>] (mipi_dsi_host_register+0x100/0x1dc)
[    3.145550] [<c0726cb0>] (mipi_dsi_host_register) from [<c0a331dc>] (dw_mipi_dsi_probe+0x80/0xc8)
[    3.155376] [<c0a331dc>] (dw_mipi_dsi_probe) from [<c075d740>] (platform_drv_probe+0x60/0xbc)
[    3.164817] [<c075d740>] (platform_drv_probe) from [<c075b938>] (driver_probe_device+0x1f4/0x2e8)
[    3.174644] [<c075b938>] (driver_probe_device) from [<c075bac0>] (__driver_attach+0x94/0x98)
[    3.183987] [<c075bac0>] (__driver_attach) from [<c0759a08>] (bus_for_each_dev+0x5c/0xac)
[    3.193044] [<c0759a08>] (bus_for_each_dev) from [<c075b1d0>] (driver_attach+0x2c/0x30)
[    3.201908] [<c075b1d0>] (driver_attach) from [<c075adc4>] (bus_add_driver+0x19c/0x220)
[    3.210771] [<c075adc4>] (bus_add_driver) from [<c075c514>] (driver_register+0x88/0x104)
[    3.219729] [<c075c514>] (driver_register) from [<c075d688>] (__platform_driver_register+0x50/0x58)
[    3.229747] [<c075d688>] (__platform_driver_register) from [<c124bd3c>] (dw_mipi_dsi_driver_init+0x1c/0x20)
[    3.240535] [<c124bd3c>] (dw_mipi_dsi_driver_init) from [<c0101b0c>] (do_one_initcall+0xa0/0x1f0)
[    3.250362] [<c0101b0c>] (do_one_initcall) from [<c1200fbc>] (kernel_init_freeable+0x1e8/0x28c)
[    3.259997] [<c1200fbc>] (kernel_init_freeable) from [<c0d3eb98>] (kernel_init+0x18/0x118)
[    3.269152] [<c0d3eb98>] (kernel_init) from [<c0108110>] (ret_from_fork+0x14/0x24)
[    3.277578] ---[ end trace 8535bac3d55643c8 ]---
[    3.282712] kobject_add_internal failed for ff960000.dsi.0 with -EEXIST, don't try to register things with the same name in the same directory.
[    3.296969] dw-mipi-dsi ff960000.dsi: failed to add DSI device /dsi@ff960000/mipi-panel: -17
[    3.308501] rockchip-drm display-subsystem: failed to bind ff960000.dsi (ops 0xc0ec512c): -517
[    3.756271] usb 3-1: config 1 has an invalid interface number: 255 but max is 6
[    3.764558] usb 3-1: config 1 has no interface number 6
[    3.882013] tinker-ft5406: tinker_ft5406_probe: wait connected timeout
[    3.889355] [board_info] create Board_info_proc_file sucessed!
[    3.895958] project_id_2:0x0, project_id_1:0x0, project_id_0:0x0
[    3.902782] ram_id_2:0x0, ram_id_1:0x1, ram_id_0:0x0
[    3.908443] pcb_id_2:0x0, pcb_id_1:0x1, pcb_id_0:0x0
[    6.079881] rk_gmac-dwmac ff290000.ethernet: cannot get clock clk_mac_speed
[    6.199189] ff960000.dsi.0 supply power not found, using dummy regulator
[    6.210087] dw-mipi-dsi ff960000.dsi: device mode is unsupported
[    6.216907] panel-simple-dsi: probe of ff960000.dsi.0 failed with error -22
[    6.224765] ------------[ cut here ]------------
[    6.229957] WARNING: CPU: 1 PID: 102 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x78/0x88()
[    6.238598] sysfs: cannot create duplicate filename '/devices/platform/ff960000.dsi/ff960000.dsi.0'
[    6.248675] Modules linked in:
[    6.252113] CPU: 1 PID: 102 Comm: kworker/u8:1 Tainted: G        W       4.4.199-rockchip #37
[    6.261588] Hardware name: Rockchip (Device Tree)
[    6.266828] Workqueue: deferwq deferred_probe_work_func
[    6.272654] [<c011126c>] (unwind_backtrace) from [<c010cb54>] (show_stack+0x20/0x24)
[    6.281279] [<c010cb54>] (show_stack) from [<c06298fc>] (dump_stack+0x90/0xa4)
[    6.289326] [<c06298fc>] (dump_stack) from [<c01207f4>] (warn_slowpath_common+0x94/0xc4)
[    6.298332] [<c01207f4>] (warn_slowpath_common) from [<c0120864>] (warn_slowpath_fmt+0x40/0x48)
[    6.308014] [<c0120864>] (warn_slowpath_fmt) from [<c02df158>] (sysfs_warn_dup+0x78/0x88)
[    6.317119] [<c02df158>] (sysfs_warn_dup) from [<c02df250>] (sysfs_create_dir_ns+0x94/0xa0)
[    6.326401] [<c02df250>] (sysfs_create_dir_ns) from [<c062c328>] (kobject_add_internal+0xa4/0x2d4)
[    6.336315] [<c062c328>] (kobject_add_internal) from [<c062c5ac>] (kobject_add+0x54/0x9c)
[    6.345364] [<c062c5ac>] (kobject_add) from [<c0758744>] (device_add+0x100/0x5b0)
[    6.353646] [<c0758744>] (device_add) from [<c0726cb0>] (mipi_dsi_host_register+0x100/0x1dc)
[    6.362985] [<c0726cb0>] (mipi_dsi_host_register) from [<c0a331dc>] (dw_mipi_dsi_probe+0x80/0xc8)
[    6.372802] [<c0a331dc>] (dw_mipi_dsi_probe) from [<c075d740>] (platform_drv_probe+0x60/0xbc)
[    6.382236] [<c075d740>] (platform_drv_probe) from [<c075b938>] (driver_probe_device+0x1f4/0x2e8)
[    6.392055] [<c075b938>] (driver_probe_device) from [<c075bb7c>] (__device_attach_driver+0xb8/0xc4)
[    6.402065] [<c075bb7c>] (__device_attach_driver) from [<c0759ad8>] (bus_for_each_drv+0x54/0xa4)
[    6.411786] [<c0759ad8>] (bus_for_each_drv) from [<c075b668>] (__device_attach+0x9c/0x124)
[    6.420929] [<c075b668>] (__device_attach) from [<c075bbe4>] (device_initial_probe+0x1c/0x20)
[    6.430357] [<c075bbe4>] (device_initial_probe) from [<c075ab00>] (bus_probe_device+0x94/0x9c)
[    6.439883] [<c075ab00>] (bus_probe_device) from [<c075af6c>] (deferred_probe_work_func+0x74/0xa0)
[    6.449794] [<c075af6c>] (deferred_probe_work_func) from [<c0139d00>] (process_one_work+0x1f8/0x508)
[    6.459895] [<c0139d00>] (process_one_work) from [<c013ad64>] (worker_thread+0x68/0x558)
[    6.468845] [<c013ad64>] (worker_thread) from [<c01403f0>] (kthread+0x118/0x120)
[    6.477027] [<c01403f0>] (kthread) from [<c0108110>] (ret_from_fork+0x14/0x24)

다음과 같은 오류가 발생할 수 있나요?

[    3.001247] dw-mipi-dsi ff960000.dsi: device mode is unsupported
[    3.007974] panel-simple-dsi: probe of ff960000.dsi.0 failed with error -22

모든 문제의 근원인가?

그 오류 이후에는 이러한 메시지가 반복되기 시작하는 것 같습니다. 여기에서 무엇이 잘못될 수 있는지에 대한 팁이나 피드백을 줄 수 있는 사람이 있습니까?

감사해요.

답변1

포트 0은 입력 노드입니다. 즉, 비디오 프로세서 vopb 또는 vopl로부터 데이터를 수신해야 하며, 포트 1은 출력, 즉 dsi 디스플레이 패널에 사용됩니다.

관련 정보