HI, i’ve trying to get hdmi working but i’ve not figured out how to change HDMI-Params (800x600x60Hz) in uboot. hdmi-port seems to be enabled by uboot, but TFT-Screen says wrong timing…maybe false resolution
i tried that in uEnv.txt:
screen=disp.screen0_output_type=4 disp.screen0_output_mode=5
#appending screen-var to abootargs
abootargs=setenv bootargs board=${board} console=${console} root=${root} service=${service} ${bootopts} ${screen}
and also tried to set these 2 options via setenv in uboot, both does not work…
params taken from here: http://linux-sunxi.org/Fex_Guide#disp_init_configuration
@garywang where in uboot is the screen-resolution defined (maybe 720p as img-name says)? i think i’ve found it: https://github.com/BPI-SINOVOIP/BPI-R2-bsp/blob/363f3b1679e48799a94ca83fc5a0beff65908781/mt-pack/mtk/bpi-r2/configs/BPI-R2-720P/sys_config.fex#L679
output_type = 3
output_mode = 5
changing type to 4 (vga) should fix it in uboot…
how to change it with uEnv.txt?
it should be a resulution, that is accepted by nearly all TFTs, also if connected via hdmi2vga-adapters
the if that is working i want to change cmdline and boot the system.
uboot does not know boot-command, but it is listed in help…
BPI-IoT> boot
Unknown command 'boot' - try 'help'
BPI-IoT> boot help
boot - boot default, i.e., run 'bootcmd'
“bootm” seems to load kernel-image but fails on CRC
in system (debian stretch) i tried to load drm-module, but i’ve got no fbdev
root@bpi-r2:~# find /lib/modules/4.14.13-bpi-r2 -name '*hdmi*'
/lib/modules/4.14.13-bpi-r2/kernel/drivers/gpu/drm/mediatek/mediatek-drm-hdmi.ko
/lib/modules/4.14.13-bpi-r2/kernel/sound/soc/codecs/snd-soc-hdmi-codec.ko
root@bpi-r2:~# modprobe mediatek-drm-hdmi
root@bpi-r2:~# [ 86.517560] random: crng init done
root@bpi-r2:~#
root@bpi-r2:~# dmesg | grep hdmi
root@bpi-r2:~# hwinfo --framebuffer
root@bpi-r2:~#
root@bpi-r2:~# lsmod
Module Size Used by
mediatek_drm_hdmi 36864 0
drm_kms_helper 163840 1 mediatek_drm_hdmi
cfbfillrect 16384 1 drm_kms_helper
syscopyarea 16384 1 drm_kms_helper
cfbimgblt 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
cfbcopyarea 16384 1 drm_kms_helper
fb 53248 1 drm_kms_helper
drm 380928 2 mediatek_drm_hdmi,drm_kms_helper
in linux i’ve tried that config, but no hdmi-out: mt7623n_evb_fwu_defconfig (7,6 KB)
mhm…in 4.4’s dts(i) there are also hdmi-nodes which are missing in 4.14…maybe i need to add them
hdmi_phy: hdmi-phy@10209100 {
compatible = "mediatek,mt7623-hdmi-phy",
"mediatek,mt2701-hdmi-phy";
reg = <0 0x10209100 0 0x24>;
clocks = <&apmixedsys CLK_APMIXED_HDMI_REF>;
clock-names = "pll_ref";
clock-output-names = "hdmitx_dig_cts";
mediatek,ibias = <0xa>;
mediatek,ibias_up = <0x1c>;
#clock-cells = <0>;
#phy-cells = <0>;
status = "disabled";
};
disp_rdma1: rdma@14012000 {
compatible = "mediatek,mt7623-disp-rdma",
"mediatek,mt2701-disp-rdma";
reg = <0 0x14012000 0 0x1000>;
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_LOW>;
clocks = <&mmsys CLK_MM_DISP_RDMA1>;
iommus = <&iommu MT2701_M4U_PORT_DISP_RDMA1>;
mediatek,larb = <&larb0>;
};
dpi0: dpi@14014000 {
compatible = "mediatek,mt7623-dpi",
"mediatek,mt2701-dpi";
reg = <0 0x14014000 0 0x1000>;
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
clocks = <&mmsys CLK_MM_DPI1_DIGL>,
<&mmsys CLK_MM_DPI1_ENGINE>,
<&topckgen CLK_TOP_TVDPLL>;
clock-names = "pixel",
"engine",
"pll";
status = "disabled";
port {
dpi0_out: endpoint@0 {
remote-endpoint = <&hdmi0_in>;
};
dpi0_in: endpoint@1 {
remote-endpoint = <&bls_out>;
};
};
};
hdmi0: hdmi@14015000 {
compatible = "mediatek,mt7623-hdmi",
"mediatek,mt8173-hdmi";
reg = <0 0x14015000 0 0x400>;
clocks = <&mmsys CLK_MM_HDMI_PIXEL>,
<&mmsys CLK_MM_HDMI_PLL>,
<&mmsys CLK_MM_HDMI_AUDIO>,
<&mmsys CLK_MM_HDMI_SPDIF>;
clock-names = "pixel", "pll", "bclk", "spdif";
pinctrl-names = "default";
pinctrl-0 = <&hdmi_pin>;
phys = <&hdmi_phy>;
phy-names = "hdmi";
mediatek,syscon-hdmi = <&mmsys 0x900>;
cec = <&cec>;
ddc-i2c-bus = <&hdmiddc0>;
assigned-clocks = <&topckgen CLK_TOP_HDMI_SEL>;
assigned-clock-parents = <&hdmi_phy>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
hdmi0_in: endpoint {
remote-endpoint = <&dpi0_out>;
};
};
};
};
&hdmi0 {
status = "okay";
};
&hdmi_phy {
status = "okay";
};
regards Frank