Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM: dts: Permanently disable hdmi1 and ddc1 on CM4S #4869

Merged
merged 1 commit into from
Feb 3, 2022

Conversation

pelwell
Copy link
Contributor

@pelwell pelwell commented Feb 2, 2022

CM4S has no HDMI1 output, so it is advisable to disable the controller
and its I2C interface in software. This is ordinarily done by setting
their status properties to "disabled", but the vc4-kms-v3d(-pi4)
overlay enables both HDMIs and DDCs as part of the transfer of control
from the VPU.

Knobble the CM4S dts in such a way that the overlay applies
successfully but the hdmi1 and ddc1 nodes remain disabled by changing
the compatible string to something unrecognised.

See: #4857

Signed-off-by: Phil Elwell phil@raspberrypi.com

@peterharperuk
Copy link

Thanks Phil!

@iluminat23
Copy link

Shouldn't this change be in bcm2711-rpi-cm4s.dts instead of bcm2711-rpi-cm4.dts?

@pelwell
Copy link
Contributor Author

pelwell commented Feb 3, 2022

Indeed - the dangers of TAB completion.

@pelwell pelwell changed the title ARM: dts: Permanently disable hdmi1 and ddc1 on CM4s ARM: dts: Permanently disable hdmi1 and ddc1 on CM4S Feb 3, 2022
@peterharperuk
Copy link

I tried this and it seemed to fix the error in vcdbg log.

004891.079: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d-pi4.dtbo
004954.367: Loaded overlay 'vc4-kms-v3d'
005339.336: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d-pi4.dtbo
005498.774: Loaded overlay 'vc4-kms-v3d'

@nbuchwitz
Copy link
Contributor

nbuchwitz commented Feb 3, 2022

Thanks for the fix! This solves #4857 (kms driver). With fkms/legacy #4858 the VC still tries to use hdmi1:

kernel

[   11.964764] vc4-drm gpu: [drm] HDMI-A-2: EDID is invalid:
[   11.964775]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   11.964779]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   11.964782]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   11.964784]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   11.964787]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   11.964790]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   11.964792]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   11.964795]  [00] ZERO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

vcdbg

004381.019: HDMI1:EDID error reading EDID block 0 attempt 0
004387.044: HDMI1:EDID error reading EDID block 0 attempt 1
004393.066: HDMI1:EDID error reading EDID block 0 attempt 2
004399.095: HDMI1:EDID error reading EDID block 0 attempt 3
004405.118: HDMI1:EDID error reading EDID block 0 attempt 4
004411.142: HDMI1:EDID error reading EDID block 0 attempt 5
004417.164: HDMI1:EDID error reading EDID block 0 attempt 6
004423.188: HDMI1:EDID error reading EDID block 0 attempt 7
004429.211: HDMI1:EDID error reading EDID block 0 attempt 8
004435.235: HDMI1:EDID error reading EDID block 0 attempt 9
004436.248: HDMI1:EDID giving up on reading EDID block 0
004436.329: brfs: File read: 43162 bytes
004438.622: brfs: File read: /mfs/sd/config.txt
[...]
004738.728: *** Restart logging
004738.747: brfs: File read: 1938 bytes
004804.913: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
004810.939: hdmi: HDMI1:EDID error reading EDID block 0 attempt 1
004816.965: hdmi: HDMI1:EDID error reading EDID block 0 attempt 2
004822.992: hdmi: HDMI1:EDID error reading EDID block 0 attempt 3
004829.015: hdmi: HDMI1:EDID error reading EDID block 0 attempt 4
004839.132: hdmi: HDMI1:EDID error reading EDID block 0 attempt 5
004847.830: hdmi: HDMI1:EDID error reading EDID block 0 attempt 6
004853.883: hdmi: HDMI1:EDID error reading EDID block 0 attempt 7
004859.933: hdmi: HDMI1:EDID error reading EDID block 0 attempt 8
004865.986: hdmi: HDMI1:EDID error reading EDID block 0 attempt 9
004867.020: hdmi: HDMI1:EDID giving up on reading EDID block 0
004872.114: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
004878.166: hdmi: HDMI1:EDID error reading EDID block 0 attempt 1
004884.217: hdmi: HDMI1:EDID error reading EDID block 0 attempt 2
004890.269: hdmi: HDMI1:EDID error reading EDID block 0 attempt 3
004896.319: hdmi: HDMI1:EDID error reading EDID block 0 attempt 4
004902.372: hdmi: HDMI1:EDID error reading EDID block 0 attempt 5
004908.423: hdmi: HDMI1:EDID error reading EDID block 0 attempt 6
004914.475: hdmi: HDMI1:EDID error reading EDID block 0 attempt 7
004920.525: hdmi: HDMI1:EDID error reading EDID block 0 attempt 8
004926.577: hdmi: HDMI1:EDID error reading EDID block 0 attempt 9
004927.610: hdmi: HDMI1:EDID giving up on reading EDID block 0
004935.341: HDMI0: hdmi_pixel_encoding: 300000000
004935.355: HDMI1: hdmi_pixel_encoding: 300000000

@6by9
Copy link
Contributor

6by9 commented Feb 3, 2022

FKMS is unrelated to this PR or #4857.

#4858 covers FKMS.

@nbuchwitz
Copy link
Contributor

It's mentioned in the PR description, that's why I stated it

CM4S has no HDMI1 output, so it is advisable to disable the controller
and its I2C interface in software. This is ordinarily done by setting
their status properties to "disabled", but the vc4-kms-v3d(-pi4)
overlay enables both HDMIs and DDCs as part of the transfer of control
from the VPU.

Knobble the CM4S dts in such a way that the overlay applies
successfully but the hdmi1 and ddc1 nodes remain disabled by changing
the compatible string to something unrecognised.

See: raspberrypi#4857

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell
Copy link
Contributor Author

pelwell commented Feb 3, 2022

Not any more it isn't.

@pelwell pelwell marked this pull request as ready for review February 3, 2022 11:45
@pelwell pelwell merged commit c6a2e26 into raspberrypi:rpi-5.10.y Feb 3, 2022
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Feb 4, 2022
See: raspberrypi/linux#4867

kernel: Add Support for Geekworm MZP280 in vc4-dpi-panel-overlay
See: raspberrypi/linux#4868

kernel: dtoverlay: Reduce size of PCIE IB window in pcie-32-dma overlay
See: raspberrypi/linux#4870

kernel: ARM: dts: Permanently disable hdmi1 and ddc1 on CM4S
See: raspberrypi/linux#4869

kernel: dtoverlays: Correct field sizes in pcie-32bit-dma
See: raspberrypi/linux#4871
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Feb 4, 2022
See: raspberrypi/linux#4867

kernel: Add Support for Geekworm MZP280 in vc4-dpi-panel-overlay
See: raspberrypi/linux#4868

kernel: dtoverlay: Reduce size of PCIE IB window in pcie-32-dma overlay
See: raspberrypi/linux#4870

kernel: ARM: dts: Permanently disable hdmi1 and ddc1 on CM4S
See: raspberrypi/linux#4869

kernel: dtoverlays: Correct field sizes in pcie-32bit-dma
See: raspberrypi/linux#4871
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants