InES-HPMM / linux-l4t

Linux kernel 3.10 forked from Nvidia Linux4Tegra for the TX1. Branches for L4T 24.2.1. Also available: 23.1 (DEPRECATED), 24.1 (DEPRECATED).
https://blog.zhaw.ch/high-performance/
Other
21 stars 17 forks source link

Disabling HDMI in B #7

Closed sani1486 closed 6 years ago

sani1486 commented 6 years ago

Hello I am looking for a way to change the device tree files to disable HDMI in B input . What i did was commenting out some of the lines in the device tree which i thought is related with HDMI in B Following is the file i changed . and it didn't seem to work ` /*

include "tegra210-jetson-cv-base-p2597-2180-a00.dts"

/ { model = "jetson_tx1"; compatible = "nvidia,jetson-cv", "nvidia,tegra210"; nvidia,dtsfilename = FILE;

#address-cells = <2>;
#size-cells = <2>;

chosen {
    bootloader {
        nvidia,skip-display-init;
    };
};

host1x {
    dc@54200000 {
        status = "disabled";
    };

    dc@54240000 {
        nvidia,dc-or-node = "/host1x/sor1";
    };

    dsi {
        status = "disabled";
        panel-a-wuxga-8-0 {
            status = "disabled";
        };
        panel-s-wqxga-10-1 {
            status = "disabled";
        };
    };
};

i2c@7000c400 {
    lp8557-backlight-a-wuxga-8-0@2c {
        status = "disabled";
    };
};

pinmux@700008d4 {
    common {
        /*
         * Pull down the INT pin of the TC358840 (HDMI IN A) while
         * in reset in order to set i2c address 0x0F.
         */
        cam1_pwdn_ps7 {
            nvidia,enable-input = <TEGRA_PIN_ENABLE>;
            nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
            nvidia,tristate = <TEGRA_PIN_DISABLE>;
        };

        /*
         * Pull up the INT pin of the TC358840 (HDMI IN B) while
         * in reset in order to set i2c address 0x1F.
         */

// cam2_pwdn_pt0 { // nvidia,enable-input = ; // nvidia,pull = ; // nvidia,tristate = ; // }; }; };

/* 
 * Delete device-tree entries by Nvidia for camera hardware that is not
 * available on the HDMI2CSI hardware and not supported by tegra_vi2
 */
/delete-node/ plugin-manager;
i2c1: i2c@7000c000 {
    /delete-node/ ov23850_c@36;
    /delete-node/ lc898212@72;
};
aliases {
    /delete-property/ gpio288;
};
host1x {
    /delete-node/ vi;
    /delete-node/ i2c@546c0000;
    /delete-node/ i2c@70000c000;
};

host1x {
/* /dev/i2c-6: Note the shift of 1! */
    i2c7: i2c@546c0000 {
        #address-cells = <1>;
        #size-cells = <0>;

        compatible = "nvidia,tegra210-vii2c";
        reg = <0x0 0x546C0000 0x0 0x00034000>;
        status = "okay";

        iommus = <&smmu 18>;
        interrupts = <0 17 0x04>;
        scl-gpio = <&gpio ((18 * 8) + 2) 0>;
        sda-gpio = <&gpio ((18 * 8) + 3) 0>;
        clock-frequency = <400000>;
        bus-pullup-supply = <&max77620_sd3>;
        avdd_dsi_csi-supply = <&max77620_sd3>;

        /* HDMI IN A (4K) */
        tc358840xbg@0f {
            compatible = "toshiba,tc358840xbg";
            reg = <0x0f>;
            status = "okay";

            /* GPIO */
            reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_LOW>;

            /* Interrupt */
            interrupt-parent = <&gpio>;
            interrupts = <CAM0_PWDN IRQ_TYPE_LEVEL_HIGH>;

            refclk_hz = <48000000>; /* 40 - 50 MHz */

            ddc5v_delay = <1>;      /* 50 ms */

            /* HDCP */
            /* TODO: Not yet implemented */
            enable_hdcp = <0>;

            /* CSI Output */
            csi_port = <3>;         /* Enable TX0 (4 lanes) & TX1 (4 lanes) */

            lineinitcnt = <0x00000FA0>;
            lptxtimecnt = <0x00000004>;
            tclk_headercnt = <0x00180203>;
            tclk_trailcnt = <0x00040005>;
            ths_headercnt = <0x000D0004>;
            twakeup = <0x00003E80>;
            tclk_postcnt = <0x0000000A>;
            ths_trailcnt = <0x00080006>;
            hstxvregcnt = <0x00000020>;

            /* PLL */
            /* Bps per lane is (refclk_hz / pll_prd) * pll_fbd */
            pll_prd = <10>;
            pll_fbd = <125>;

            port {
                hdmi_in_a: endpoint {
                    remote-endpoint = <&csi_a>;
                };
            };
        };

// / HDMI IN B (Full HD) / // tc358840xbg@1f { // compatible = "toshiba,tc358840xbg"; // reg = <0x1f>; // status = "okay"; // // / GPIO / // reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_LOW>; // // / Interrupt / // interrupt-parent = <&gpio>; // interrupts = ; // // refclk_hz = <48000000>; / 40 - 50 MHz / // // ddc5v_delay = <1>; / 50 ms / // // / HDCP / // / TODO: Not yet implemented / // enable_hdcp = <0>; // // / CSI Output / // csi_port = <1>; / Enable TX0 only / // // lineinitcnt = <0x00000FA0>; // lptxtimecnt = <0x00000004>; /// tclk_headercnt = <0x00180203>; // tclk_trailcnt = <0x00040005>; // ths_headercnt = <0x000D0004>; // twakeup = <0x00003E80>; // tclk_postcnt = <0x0000000A>; // ths_trailcnt = <0x00080006>; // hstxvregcnt = <0x00000020>; // // / PLL / // / Bps per lane is (refclk_hz / pll_prd) pll_fbd */ // pll_prd = <10>; // pll_fbd = <125>; // // port { // hdmi_in_b: endpoint { // remote-endpoint = <&csi_b>; // }; // }; // }; }; };

pinmux@700008d4 {
    common {
        /*
         * Pull down the INT pin of the TC358840 (HDMI IN A) while
         * in reset in order to set i2c address 0x0F.
         */
        cam1_pwdn_ps7 {
            nvidia,enable-input = <TEGRA_PIN_ENABLE>;
            nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
            nvidia,tristate = <TEGRA_PIN_DISABLE>;
        };

        /*
         * Pull up the INT pin of the TC358840 (HDMI IN B) while
         * in reset in order to set i2c address 0x1F.
         */

// cam2_pwdn_pt0 { // nvidia,enable-input = ; // nvidia,pull = ; // nvidia,tristate = ; // }; }; };

host1x {
    vi {
        compatible = "nvidia,tegra210-vi2";
        reg = <0x0 0x54080000 0x0 0x40000>;
        interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
        status = "okay";
        //clocks = <&tegra_car TEGRA210_CLK_VI>,<&tegra_car TEGRA210_CLK_CSI>,<&tegra_car TEGRA210_CLK_PLL_C>;
        clocks = <&tegra_car TEGRA210_CLK_ID_VI>,
             <&tegra_car TEGRA210_CLK_ID_CSI>,
             <&tegra_car TEGRA210_CLK_ID_CSUS>,
             <&tegra_car TEGRA210_CLK_ID_ISP>,
             <&tegra_car TEGRA210_CLK_ID_CILAB>,
             <&tegra_car TEGRA210_CLK_ID_CILCD>,
             <&tegra_car TEGRA210_CLK_ID_CILE>,
             <&tegra_car TEGRA210_CLK_ID_VI_SENSOR>,
             <&tegra_car TEGRA210_CLK_ID_VI_SENSOR2>,
             <&tegra_car TEGRA210_CLK_ID_PLL_D>;
        clock-names = "vi", "csi", "csus", "isp", "cilab",
                    "cilcd", "cile", "vi_sensor", "vi_sensor2", "pll_d";

        power-domains = <&ve_pd>;
        iommus = <&smmu 18>;
        resets = <&tegra_car 20>;
        reset-names = "vi";

        avdd_dsi_csi-supply = <&max77620_ldo0>;

        #address-cells = <1>;
        #size-cells = <0>;

        /* HDMI IN A (dual-link) */
        vi_port_0: port@0 {
            reg = <0>;

            #address-cells = <1>;
            #size-cells = <0>;

            csi_a: endpoint@0 {
                reg = <0>;
                remote-endpoint = <&hdmi_in_a>;
                clock-lanes = <0>;
                data-lanes = <1 2 3 4>;
            };
            csi_b: endpoint@1 {
                reg = <1>;
                remote-endpoint = <&hdmi_in_a>;
                clock-lanes = <0>;
                data-lanes = <1 2 3 4>;
            };
        };

        /* HDMI IN B */

// port@2 { // reg = <2>; //
// #address-cells = <1>; // #size-cells = <0>; // // csi_c: endpoint { // reg = <0>; // remote-endpoint = <&hdmi_in_b>; // clock-lanes = <0>; // data-lanes = <1 2 3 4>; // }; // }; }; };

backlight {
    status = "disabled";
};

regulators {
    /* Enable power supply for HDMI extension board */

    /* VDD_SYS_EN */
    en_vdd_cam: regulator@5 {
        regulator-boot-on;
        regulator-always-on;
    };

    /* CAM_VDD_1V8_EN */
    en_vdd_cam_1v8: regulator@211 {
        regulator-boot-on;
        regulator-always-on;
    };

    /* CAM_VDD_1V2_EN */
    en_vdd_cam_1v2: regulator@209 {
        regulator-boot-on;
        regulator-always-on;
    };
};

tegra_axbar: ahub {
    status = "okay";

    tegra_i2s4: i2s@702d1300 {
        status = "okay";
    };      
};

sound_card: sound {
    compatible = "nvidia,tegra-audio-t210ref-mobile-rt565x";
    nvidia,model = "tegra-snd-t210ref-mobile-rt565x";

    nvidia,num-codec-link = <5>;

    nvidia,audio-routing =
      "x Headphone Jack", "x HPO L Playback",
      "x Headphone Jack", "x HPO R Playback",
      "x MICBIAS1",   "x Mic Jack",
      "x IN1P",   "x Mic Jack",
      "x Mic Det Power",  "x Mic Jack",
      "x Int Spk",    "x SPO Playback",
      "x DMIC L1",            "x Int Mic",
      "x DMIC L2",            "x Int Mic",
      "x DMIC R1",            "x Int Mic",
      "x DMIC R2",            "x Int Mic",
      "x Headphone",    "x OUT",
      "x IN",     "x Mic",
      "y Headphone",    "y OUT",
      "y IN",     "y Mic",
      "l IN",     "l OUT",
      "s Headphone",    "s OUT",
      "s IN",     "s Mic";

    nvidia,xbar = <&tegra_axbar>;

    /* The codec-dai here is initialized to dummy and will be   */
    /* replaced with rt565x codec-dai on detecting super-module */
    nvidia,dai-link-1 {
      link-name = "rt565x-playback";
      cpu-dai = <&tegra_i2s1>;
      codec-dai = <&spdif_dit4>;
      cpu-dai-name = "I2S1";
      codec-dai-name = "dit-hifi";
      format = "i2s";
//      bitclock-slave;
      bitclock-master;
//      frame-slave;
      frame-master;
      bitclock-noninversion;
      frame-noninversion;
//      bit-format = "s16_le";
      bit-format = "s32_le";
//      bclk_ratio = <0>;
      bclk_ratio = <0>;
      srate = <48000>;
      num-channel = <2>;
      ignore_suspend;
      name-prefix = "x";
    };

    nvidia,dai-link-2 {
      link-name = "spdif-dit-1";
      cpu-dai = <&tegra_i2s2>;
      codec-dai = <&spdif_dit1>;
      cpu-dai-name = "I2S2";
      codec-dai-name = "dit-hifi";
      format = "dsp_a";
      bitclock-slave;
      frame-slave;
      bitclock-inversion;
      frame-inversion;
      bit-format = "s16_le";
      bclk_ratio = <4>;
      srate = <8000>;
      num-channel = <1>;
      ignore_suspend;
      name-prefix = "y";
    };

    nvidia,dai-link-3 {
      link-name = "spdif-dit-2";
      cpu-dai = <&tegra_dmic3>;
      codec-dai = <&spdif_dit2>;
      cpu-dai-name = "DMIC3";
      codec-dai-name = "dit-hifi";
      format = "i2s";
      bit-format = "s16_le";
      srate = <48000>;
      num-channel = <2>;
      ignore_suspend;
      name-prefix = "z";
    };

    nvidia,dai-link-4 {
      link-name = "spdif-dit-3";
      cpu-dai = <&tegra_i2s3>;
      codec-dai = <&spdif_dit3>;
      cpu-dai-name = "I2S3";
      codec-dai-name = "dit-hifi";
      format = "i2s";
      bitclock-slave;
      frame-slave;
      bitclock-noninversion;
      frame-noninversion;
      bit-format = "s16_le";
      bclk_ratio = <0>;
      srate = <48000>;
      num-channel = <2>;
      ignore_suspend;
      name-prefix = "l";
    };

    nvidia,dai-link-5 {
      link-name = "spdif-dit-0";
      cpu-dai = <&tegra_i2s4>;
      codec-dai = <&spdif_dit0>;
      cpu-dai-name = "I2S4";
      codec-dai-name = "dit-hifi";
      format = "i2s";
//      bitclock-slave;
      bitclock-master;
//      frame-slave;
      frame-master;
      bitclock-noninversion;
      frame-noninversion;
//      bit-format = "s16_le";
      bit-format = "s32_le";
//      bclk_ratio = <0>;
      bclk_ratio = <0>;
      srate = <48000>;
      num-channel = <2>;
      ignore_suspend;
      name-prefix = "s";
    };
};

hda@70030000 {
    status = "okay";
};

}; `

However i saw a dtb file in the prebuilt image named tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi2csi-hdmib-disabled.dtb but i didnt find the source file of this binary . I am using l4t-24.2.1 . using the prebuilt image isn't an option for me because of other changes and drivers . I must compile by myself . So if you happen to have the source file of the hdmi B disabling dtb file (dtsi) it would mean a lot to me . Regards

matthiasFrei commented 6 years ago

Hi

You can convert a dtb file back to a dts by using dtc:

dtc -I dtb -O dts <devicetree.dtb> -o <devicetree.dts>

I'll check wether we can find the source file.

tkammacher commented 6 years ago

On first glance it looks like your idea of commenting out the "host1x/vi/port@2" and "host1x/i2c7/tc358840xbg@1f" should work for disabling HDMI-In B.

Maybe there was a problem replacing the device tree? You can check your device tree nodes at run time by looking at "/proc/device-tree/". Each node should be represented as directory and you can check whether your changes have been applied.

Unfortunately we dont have the source for tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi2csi-hdmib-disabled.dtb anymore, but you can convert it back as mentioned..

sani1486 commented 6 years ago

Thanks for the suggestions , I think I will take the road of changing the dtb files back to dts . But i am wondering if i use the tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi2csi-hdmib-disabled.dtb , then what else i might need to change , should i still comment out the above dts ? or i can keep as it was before and just change the /boot/extlinux/extlinux.conf with the tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi2csi-hdmib-disabled.dtb .

and about replacing the device tree : I am not really an expert . and do you think it would work if i just simply copy the hdmi disabling dtb file to my own compiled /boot directory . I simply didn't change anything in the git repo except the version name ? what if i just copy the all the dtbs in /boot directory and paste it to my own version ? should that work ? Regards

tkammacher commented 6 years ago

Booting on the TX1 works in multiple stages: First Stage Boot Loader -> U-Boot -> Extlinux -> Linux

The best point to modify this in 24.2.1 is to change the /boot/extlinux/extlinux.conf file. You can define many boot options, which you can then choose in U-Boot if you have attached a serial console to the TX1 on J21 (see https://elinux.org/Jetson/TX1_Serial_Console). Or you can change the default option.

You can modify extlinux.conf to use the ...hdmib-disabled.dtb with your own kernel. Just change an existing boot option in the extlinux.conf or make a new boot option with your kernel and the desired .dtb.

Pay attention to the serial output after you selected your desired boot option. If it fails to find the .dtb (e.g. if you have a spelling mistake) it will fall back to a default device tree, which can be hard to debug..

For kernel compilation and changing the device tree we have written up some instructions on our wiki: https://github.com/InES-HPMM/linux-l4t/wiki/customKernelCompilation

sani1486 commented 6 years ago

Okay , I think i had changed the extlinux.conf in proper way and it is booting that correct dtb , howwever i also changed the u-boot . I mean i flashed the u-boot you provided for pre-built image . but whenever i run sudo modprobe tc358840 it gives the following error in the terminal tc358840 6-000f: i2c_rd: reading register 0x0 from 0xf failed tc358840 6-000f: Invalid chip ID 0x0000 and that is one of the other few problems , i flashed the system and it was fine all along and when i ran sudo depmod to install the modules , and restart then tx1 wouldn't boot completely and no desktop appears in t he monitor . while in serial console it shows following message tegra210_mixer tegra210-mixer: ASoC: hw_params() failed: -22 tegra-snd-t210ref-mobile-rt56x sound.27: ASoC: PRE_PMU: TX1 Transmit-MIXER-1 Receive event failed NOTE: I didn't change anyhting at all from the repository code . Please advise. Regards

matthiasFrei commented 6 years ago

The occurance of the tc358840 6-000f: i2c_rd: reading register 0x0 from 0xf failed tc358840 6-000f: Invalid chip ID 0x0000 is very unusal and may states that the tc chip is still in reset state.

As we do not know in which state your system currently is, I have the feeling we can not help much anymore.

You should bring your system to a defined state, therefore I strongly recommend using the pre-build image. https://github.com/InES-HPMM/linux-l4t/wiki/l4t_prebuilt_image

Alternatively you can try to follow the https://github.com/InES-HPMM/linux-l4t/wiki/customKernelCompilation Guide completely.

sani1486 commented 6 years ago

Yes , I understand . I have been trying to compile in the following way . just a while ago , i compiled following the instructions given in the wiki, while i was building dtbs , i found make dtb doesn't build the tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi2csi-hdmib-disabled.dts file that i decompiled after copying the dtb from the pre-build image . so , is it necessary to make or i can jsut simply copy the dtb in the /boot directory is enough ? The reason i can't use the pre-built image is i have another precompiled binaries for a driver made for 3.10.96-tegra . but pre-built image shows something like 3.10.96-gcxxx, which makes the modprobe fail for that usb module driver . so i was needing to compile the whole thing by myself so it could match the version names.

on a different note : I saw there is an updated version for l4t-4.4 that works with both tx1 and tx2 . I would like to know if i can disable the hdmi input B there too ?

sani1486 commented 6 years ago

Hello I have one question about the https://github.com/InES-HPMM/linux-l4t/wiki/customKernelCompilation guide .

Copy/install the kernel files you built onto the TX1

Replace the kernel Image (copy arch/arm64/boot/Image to the TX1 in /boot/Image (or call it differently if you want to use multiple extlinux configurations)
Replace the DTB (copy arch/arm64/boot/dts/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb to the TX1 mount path and /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi-4k.dtb)
Install the modules (using make modules_install and the correct INSTALL_MOD_PATH environment variable to the TX1 mount path)

what does it mean ? should i remove the original tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb and paste the tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi-4k.dtb ? or should i remove the original tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb and then paste both the new compiled tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb and the tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi-4k.dtb? or should i keep the original tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb , where it was and just paste the new tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi-4k.dtb ? Please clarify . Regards

matthiasFrei commented 6 years ago

Ok, It doesn't matter how you name your devicetree and your kernel: important is that you,

You have 3 options:

  1. you put your kernel and dtb with a different name and add a second config
  2. you put your kernel and dtb with a different name and change the existing config
  3. replace the original files , no change to extlinx .conf required

Important is that you change LINUX /boot/<KERNELFILENAME> and FDT /boot/<DTBFILENAME> to match your filenames

Example for 1

TIMEOUT 30
DEFAULT InES
MENU TITLE p2371-2180 eMMC boot options
LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
      APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait

LABEL InES
      MENU LABEL HDMI2CSI 4k
      LINUX /boot/Image_4k
      INITRD /boot/initrd
      FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi.dtb
      APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait

With the default entry you can choose the image and dtb that is loaded, if you have a serial console connected you also have the possibillity to choose your kernel while starting

Example for 2

TIMEOUT 30
DEFAULT primary
MENU TITLE p2371-2180 eMMC boot options
LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image_4k
      INITRD /boot/initrd
      FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi.dtb
      APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait

Yes, we have a newer version available here, https://github.com/InES-HPMM/linux-l4t-4.4/wiki/hdmi2csi it is based on l4t-r28.1. Of course you can disable HDMI-B here, by changing the device tree. Please note that the process changed and you need to follow the seperate compile instruction for 28.1 found here https://github.com/InES-HPMM/linux-l4t-4.4/wiki/customKernelCompilation

sani1486 commented 6 years ago

ok , so is there any isntruction how cna i change the dtb to disable the hdmi ? I am not really a programmer of any kind . Please Help Regards .

matthiasFrei commented 6 years ago

Short answer, no.

You can have a look at the tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi2csi-hdmib-disabled.dts to see how it's done. We will not do any further work in this direction because, a) we now work on lte-r28.1 and b) I don't think disable InputB is a widely demanded feature.

sani1486 commented 6 years ago

well , can you tell me which dtb fille i need to work on to disable it ?

tkammacher commented 6 years ago
sani1486 commented 6 years ago

Thanks for the detail explanation, I have another question , what if i choose tc358840 not as a module . i mean to install it as a module i need to select 'm' in the .config file / menuconfig . what if i choose 'y' instead. should that work , or i need to make more changes to install the driver not as a module ? Please advise Regards

tkammacher commented 6 years ago

If you choose 'y' on the tc358840 in the kernel configuration, the compiler will include the driver in the kernel. This should work in theory but we have not tested it.

On the new L4T 28.1 (https://github.com/InES-HPMM/linux-l4t-4.4) it works for sure and is the default.

sani1486 commented 6 years ago

okay , i think I should open a new issue on l4t-4.4 repository

tkammacher commented 6 years ago

To answer your question about how to disable HDMI-In B: I found the commit where we disabled it and this is also how we generated the tegra210-jetson-tx1-p2597-2180-a01-devkit-hdmi2csi-hdmib-disabled.dtb. See this commit: https://github.com/InES-HPMM/linux-l4t/commit/994b6490a6adb4a4f4117d0fe0bb74e3e3cbc5b7