hi! I did a brief look over the diffs and honestly they look broadly fine. please break them into a stack in reviews.freebsd.org and I'll assign them the relevant tags / reviewers and let's get it into the tree.
-adrian On Thu, 14 May 2026 at 20:11, Cristian A Trinidad Martinez <[email protected]> wrote: > > USB-Zenmap in Kalilinux verified link rate BSD of dynamic lanes @ 60 Hz - > 1920x1080(3.7,Gbps); > ________________________________ > From: [email protected] <[email protected]> on behalf > of Cristian A Trinidad Martinez <[email protected]> > Sent: Thursday, May 14, 2026 23:05 > To: Jesper Schmitz Mouridsen <[email protected]>; Bin C0d3x > <[email protected]>; [email protected] <[email protected]> > Cc: [email protected] <[email protected]> > Subject: Re: USB-C DisplayPort + audio bring-up on RK3399 (RockPro64) — > looking for reviewers > > Go: *("https://pkg.kali.org/pkg/zenmap") during USB-Kernel up to bring-panel > artifact frame side by cosmetic software source ; > ________________________________ > From: [email protected] <[email protected]> on behalf > of Jesper Schmitz Mouridsen <[email protected]> > Sent: Thursday, May 14, 2026 15:07 > To: Bin C0d3x <[email protected]>; [email protected] > <[email protected]> > Cc: [email protected] <[email protected]> > Subject: Re: USB-C DisplayPort + audio bring-up on RK3399 (RockPro64) — > looking for reviewers > > > > On 5/14/26 17:27, Bin C0d3x wrote: > > Hi, > > > > > > > > > > I have a working USB-C DisplayPort + audio path for the RK3399 > > > > (RockPro64) on -CURRENT that I'd like to start landing. Looking for > > > > a reviewer or two before I split this into Differential reviews. > > > > > > > > Hardware: Pine64 RockPro64, FUSB302B Type-C controller (i2c), Cadence > > > > MHDP DPTX block at 0xfec00000, RK3399 Type-C PHY, dw-hdmi for audio > > > > codec endpoint, I2S2 (8-ch on-chip-only) feeding both HDMI and the > > > > Cadence DP audio packetizer. Sink: XYM W156F1 portable monitor over > > > > USB-C; verified 1920x1080 @ 60 Hz, link rate HBR (2.7 Gbps), 2 lanes, > > > > plus stereo LPCM 48 kHz audio through panel speakers. > > > > > > > > > > What's in the work (new drivers / subsystems): > > > > > > > > > > sys/dev/iicbus/usb/fusb302.c > > > > > > FUSB302B i2c driver: SRC/SNK PD policy state machine, > > > > DP Alt Mode VDM (Discover/Enter/DP_Status), role discovery, > > > > hard-reset, fault recovery. Modeled functionally on Linux's > > > > drivers/usb/typec/tcpm/fusb302.c -- not a port, clean > > > > re-implementation. > > > > > > > > > > sys/sys/usbc/* > > > > > > USB-PD policy state machine framework + TCPC abstraction so the > > PD/VDM logic is driver-agnostic. > > > > > > > > > > sys/arm64/rockchip/rk_typec_phy.c > > > > > > RK3399 Type-C PHY bring-up for DP altmode (combo PHY mode > > > > switch, lane swap, pin assignments C/D/E/F). > > > > > > > > > > sys/arm64/rockchip/rk_cdn_dp.c > > > > > > Cadence MHDP DPTX scaffold: firmware load, 19-stage bring-up, > > AUX over mailbox, link training (CR+EQ both lanes at HBR), > > > > DPCD, EDID readback, MSA/timing, audio packetizer with SDP > > > > infoframe, DPMS sleep/wake via scanout swap. > > > > > > > > > > sys/arm64/rockchip/rk_hdmi_codec_stub.c > > > > > > Tiny audio_dai shim that claims rockchip,rk3399-dw-hdmi so > > > > audio_soc's simple-audio-card codec phandle resolves -- enables > > > > /dev/dsp0 over both HDMI and DP audio paths. > > > > > > > > > > sys/arm64/rockchip/rk_gpio.c (PIC method fix) > > > > > > pic_disable_intr/enable_intr/pre_ithread/post_ithread, missing > > > > from the Rockchip GPIO PIC. Without them, level-sensitive > > > > sources (FUSB302 INT_N) starve the system with ~210 kHz storms > > > > during their ithread. > > > > > > > > > > sys/dev/drm2/drm_fb_helper.c (small fix) > > > > > > Don't strand on a safe-fallback fb after a late EDID arrives -- > > > > the cdn-dp panel EDID only becomes available after the 19-stage > > > > bring-up, well after the kernel's first hotplug pass. > > > > > > > > Status: > > > > > > * fusb302 + PD policy SM: stable. Source + sink contracts work, > > > > DP Alt Mode succeeds, retry/hard-reset paths exercised. > > > > * cdn-dp: panel lit at 1920x1080@60 HBR. Audio decodes through > > > > panel speakers via /dev/dsp0 with the rk_hdmi_codec_stub. > > > > * Trace output is gated behind dev.fusb302.0.debug / > > > > > > dev.rk_cdn_dp.0.debug (default 0), so default dmesg is quiet. > > > > * Known open: transient panel artifacts ("black tears") during > > > > USB-C boot bring-up. Source-side fully clean; appears framer- > > > > side; cosmetic only. > > > > > > > > > > Public reference: > > > > > > https://github.com/b1nc0d3x/FBSD_DEV/tree/rkdev > > > > > > > > > > That branch is a fork of freebsd/freebsd-src with ~30 commits on top. > > > > I plan to split into separate Differential reviews: > > > > > > 1. rk_gpio PIC method fix (independent, useful on its own) > > > > 2. drm_fb_helper hotplug fix > > > > > > 3. USB-PD policy SM framework (sys/sys/usbc/) > > > > > > 4. fusb302 driver > > > > > > 5. rk_typec_phy > > 6. rk_cdn_dp (scaffold + bring-up) > > > > > > 7. rk_cdn_dp DP audio + rk_hdmi_codec_stub > > > > > > 8. RockPro64 DT overlays + module hookup > > > > > > > > > > Each phase is self-contained and builds cleanly on the previous. > > > > > > > > Would anyone with arm64 / DRM / USB-C familiarity be willing to look > > > > at (1) and (2) first? They're the smallest and most clearly correct > > > > bits. I can post Differentials as soon as a reviewer says go. > > > > > > > > Thanks, > > > > > > Kyle Crenshaw <[email protected]> > > > I did similar work but too gpl infected so I never published it. I can > test your work. Do you get any fusb302 interrupt on cold boot? Even the > RockChip kernel on linux did not.. > Do you know my anxdp port from openbsd for the edp? the HW is in the > pinebook pro, which share the usb-c graphics with rockpro64. With a > minor u-boot change it works the same. So you should add support for the > pinebook pro as well. If you do not have the hw i can test. > Great work, congrats! > /jsm >
