Commit Graph

73 Commits

Author SHA1 Message Date
Milivoje Legenovic
d68d84ae68 Odroid-M2: Enable HDMI audio
Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2026-02-28 22:28:39 +01:00
retro98boy
54ade91808 rockchip64: Drop upstreamed i2s-tdm patch 2026-02-28 08:42:08 +01:00
EvilOlaf
15393d6dc6 rockchip64-current: rewrite patches 2026-02-24 15:01:53 +01:00
chainsx
fdc58def79 station-m2: fix sata 2026-02-23 23:05:36 +01:00
retro98boy
79910a5dd7 rockchip64: Fix RTL8211 phy LED dts setting patch 2026-02-23 23:00:14 +01:00
Timothy Parys
72b61b90d7 Remove Rockchip gpio patch, already applied upstream 2026-02-07 00:10:45 +01:00
Paolo Sabatino
b499b45368 rockchip/64: import mainline patch to fix gpio can_sleep issue 2026-02-01 21:15:29 +01:00
EvilOlaf
b463f4f877 rockchip64-current: rewrite patches due to upstream changes 2026-01-31 13:52:11 +01:00
Igor Pecovnik
e05e27bc6f rockchip64-6.18: fix helios64 pcie patch
Remove ep-gpios property and max-link-speed, set status to okay for pcie0.
2026-01-30 15:55:29 +01:00
EvilOlaf
6dfbbc6f5b rockchip64-current: rewrite patches 2026-01-30 12:34:00 +01:00
retro98boy
f5650639d9 SMART AM40: Fix typo in dts 2026-01-27 23:40:43 +01:00
Alex Ling
7e0cd3bf40 rockchip64: station-m3: Enable USB type-C port
Signed-off-by: Alex Ling <ling_kasim@hotmail.com>
2026-01-21 01:40:34 +01:00
Igor Velkov
3066ea9652 rockchip64: Helios64: fix Type-C PD negotiation
Remove usb-role-switch property from fusb302 node and replace with
extcon property. The usb-role-switch property breaks PD negotiation
and DP alt mode on kernel 6.18+.

Fix based on PR #9245 (Pinebook Pro) by amazingfate.

Apply Helios64: fix Type-C PHY registration #9158 to 6.19.
2026-01-16 09:25:33 +01:00
sicxnull
0e2fec109e Fix PantherX2 2026-01-14 20:07:49 +01:00
Jianfeng Liu
8ced9d8a62 rockchip64-6.18: fix PD negotiation on pbp 2026-01-14 17:03:02 +01:00
Ricardo Pardini
0a0889501b mixtile-core3588e: alias ethernet0 to gmac0 for stable MAC address
- phew. this was all it takes. u-boot does the rest of the magic
2026-01-13 20:39:37 +01:00
Jianfeng Liu
2499a2b446 rockchip64-6.18: add patches for verisilicon av1 decoder 2026-01-13 20:39:02 +01:00
Igor Velkov
18848f530d rockchip64: Helios64: fix Type-C PHY and TCPM registration
Problem:
On Helios64 boot, the Type-C PHY (ff7c0000.phy) gets stuck in
"deferred probe" state with unknown reason. This causes:
- USB 3.0 SuperSpeed via Type-C port not working
- DisplayPort via Type-C (Alt Mode) not working

The following messages appear in dmesg:
  platform ff7c0000.phy: deferred probe pending: (reason unknown)
  platform fe800000.usb: deferred probe pending: wait for supplier /phy@ff7c0000/usb3-port
  platform fec00000.dp: deferred probe pending: wait for supplier /phy@ff7c0000/dp-port

Along with dependency cycle warnings:
  /phy@ff7c0000/dp-port: Fixed dependency cycle(s) with /i2c@ff3d0000/typec-portc@22/connector

Root cause:
The Helios64 DTS uses a legacy Type-C connection method:

  &tcphy0 {
      extcon = <&fusb0>;  // Expects extcon from fusb302
  };

However:
1. The FUSB302 driver with TCPM support (since kernel ~4.14) does NOT
   create extcon devices
2. Instead, it uses the Type-C connector class (/sys/class/typec/)
3. The phy-rockchip-typec driver calls extcon_get_edev_by_phandle(),
   fails to find an extcon device at the specified phandle, and
   returns -EPROBE_DEFER
4. The PHY remains in deferred probe indefinitely

The extcon-cables property is present in the DTS, but without a
typec_extcon_bridge node it serves no purpose.

This bug has existed since Type-C support was added to Helios64
(at least since kernel 6.6). It likely worked with older fusb302
driver versions, but broke after the transition to TCPM.

Solution:
Use the typec-extcon-bridge driver (Armbian patch from Ondrej Jirman/megi)
which translates Type-C connector class events to the extcon interface.

The Pinebook Pro patch (board-pbp-add-dp-alt-mode.patch) implements this
correctly: it has a typec_extcon_bridge node, and all extcon references
point to it rather than directly to fusb0.

Changes:
1. Add typec_extcon_bridge node with compatible = "linux,typec-extcon-bridge"
2. Change extcon = <&fusb0> to extcon = <&typec_extcon_bridge> in
   tcphy0, cdn_dp, u2phy0, usbdrd_dwc3_0 nodes
3. Add usb-role-switch, mode-switch, orientation-switch properties
   to fusb0 connector for integration with the bridge
4. Update PDO definitions with DUAL_ROLE and DATA_SWAP flags
5. Convert typec-altmodes property to modern altmodes subnode format
   (required for TCPM port registration)
6. Add extcon,ignore-usb to u2phy0 (following Pinebook Pro pattern)
7. Add snps,usb3-phy-reset-quirk to usbdrd_dwc3_0

After this fix:
- Type-C PHY (ff7c0000.phy) no longer stuck in deferred probe
- USB 3.0 SuperSpeed via Type-C port should work
- DisplayPort via Type-C (Alt Mode) should work
- Correct cable orientation detection
- USB role switching (host/device)

Known remaining issues:
- FUSB302 fails to register TCPM port with error:
    4-0022    typec_fusb302: cannot register tcpm port
  This prevents USB Power Delivery negotiation. The root cause
  appears to be in the connector configuration and requires
  further investigation.
2026-01-12 23:36:43 +01:00
Alex Ling
02475685e7 rockchip64: Automatic fan speed and USB 3.0 fix for station-m3
Signed-off-by: Alex Ling <ling_kasim@hotmail.com>
2026-01-11 23:19:24 +01:00
Ricardo Pardini
9c4f8fa339 mixtile-blade3: mainline: updates to mainline DT with "working" RTL8169's
- For 6.18 + 6.19
- mixtile-blade3: add 4-pin header fan at 40c
- mixtile-blade3: add gpu nodes
- mixtile-blade3: add vcc5v0-host-en "usb" pinctrl
  - somehow results in 2 working RTL8169's behind the ASM1182e on pcie2x1l0
  - which just means the _schematics lie_
- mixtile-blade3: drop rst pinctrl from  pcie2x1l0 and pcie2x1l1
  - this is me probably being stupid, but also required for working ASM1182e/RTL8169
- Status of this mainline port:
  - Initially started by Joshua Riek (2023?)
  - I then added some PCIe3x4 stuff, but never got around to finishing it
  - Specifically, the 2 FUSB302's are beyond me for now
    - One of them _powers_ the board. To use with mainline, power the board some other way with 12V, otherwise kaboom.
      - See sre's talk on this issue; Blade3 should be similar to Rock-5b in this aspect.
  - A challenge has been the PCI2x1 lanes to the miniPCIe and ASM1182e switch
    - Which by themselves seem to work, but the devices behind them (Switch + RTL8169 NICs) do not get powered
    - Until one day I tried to describe a (in theory) USB-related power pin, and suddenly both PCIe NICs started working!
  - All that said, the board is really not stable with this; end-users are much better off with vendor kernel for now.
  - Any and all help is appreciated. Those boards are nice, they've 2 FUSB302, and fancy PCIe Endpoint mode stuff.
  - Schematics we have access to are in https://damwold5pt25n.cloudfront.net/blade3/file/Schematic_Blade_3_v1.1.0.pdf
    - Those clearly lie.
2026-01-08 12:06:59 +01:00
Alex Ling
545b6e28bb rockchip64-6.18: Enable audio for HDMI0 on station-m3
Signed-off-by: Alex Ling <ling_kasim@hotmail.com>
2026-01-06 18:44:25 +01:00
EvilOlaf
c98fc56724 rockchip64: fix broken patch in 6.18.3, rewrite everything 2026-01-02 20:47:31 +01:00
SuperKali
50d6519612
rockchip64: add edge kernel support for Youyeetoo YY3588 (#9137)
- Add mainline device tree for YY3588 board
- Enable all peripherals: USB 3.0, Ethernet, PCIe, HDMI
- Add RK8602 PMIC regulators for CPU/NPU power
- Enable I2C buses for PMIC and RTC
- Fix pinctrl conflicts (I2C1 M2, disable SFC for UART7)
- Configure USB-C and USB 3.0 host ports
- Add HDMI0 output with HDPTX PHY
- Enable thermal management with PWM fan
- Add SD card and eMMC storage support
- Configure all UARTs, I2S audio, and SPI buses
- ES8323 audio codec currently disabled for further debugging
2025-12-29 12:18:56 +01:00
Ricardo Pardini
77aa36d799 rockchip64-6.18: mixtile-core3588e: device tree additions & fixes
- on top of Joshua Riek's DT, add:
  - GPU
  - NPU
  - i2c5 (40-pin)
  - saradc
  - tsadc (thermals)
  - pwm2 / tacho / cooling fan
  - sys-led
  - usb2 otg (for flashing / UMS - microusb port)
  - USB3 ports (via usb hub on carrier board)
  - hdmi0 & hdmi0 audio & vop
  - uart1 (40-pin)
2025-12-29 09:29:20 +01:00
Ricardo Pardini
42a0055940 mixtile-core3588e: add board with vendor and edge branches (Joshua Riek + fixes)
- vendor:
  - kernel: armbian/linux-rockchip already had a DTS from jriek
  - u-boot: taken from jriek (reorg'ed the defconfig)
- edge:
  - kernel: taken from jriek's 6.11 wip branch
  - u-boot: generic (can only boot SD/eMMC)
2025-12-29 09:29:20 +01:00
Ricardo Pardini
2c881a87a0 rockchip64-6.18: Enable HDMI1 and audio for HDMI0/1 on CM3588-NAS 2025-12-29 09:16:04 +01:00
Ricardo Pardini
dce9abba2e rockchip64-6.18: mekotronics-r58-4x4: rtl8125/8169 describe in DT for stable MAC
- this will later be patched by an u-boot board file fdt_init() with ethaddr
- for now just hardcoded
2025-12-28 12:38:02 +01:00
Ricardo Pardini
d176957476 rockchip64-6.18: mekotronics-r58-4x4: usb 2.0 type-A ports & regulator/pinctrl
- straight-ish from vendor (which is a complete mess)
- front:
  - blue ports work (in usb2.0 mode, which also happens in vendor kernel)
  - black ports do NOT work (but are powered...?)
- back:
  - white ports work in usb 2.0 mode (as expected, also in vendor kernel)
    - those ports have too-long wires (flat cable) and reset all the time
- in summary: blue "USB3" ports at the front work in USB2.0 mode
  - rest doesn't
2025-12-28 12:38:02 +01:00
Ricardo Pardini
941dc725bc rockchip64-6.18: mekotronics-r58-4x4: uart6 and bluetooth part of BCM43752
- all credit to armsom sige7 DT, otherwise I'd be lost forever
2025-12-28 12:38:02 +01:00
Ricardo Pardini
e49880669b rockchip64-6.18: mekotronics-r58-4x4: uart1 (green connector on back of board) 2025-12-28 12:38:02 +01:00
Ricardo Pardini
3c9243b5d0 rockchip64-6.18: mekotronics-r58-4x4: wifi on pcie2x1l0 with clock and wifi_host_wake_irq 2025-12-28 12:38:02 +01:00
Ricardo Pardini
9164cc93ca rockchip64-6.18: mekotronics-r58-4x4: rtc 2025-12-28 12:38:02 +01:00
Ricardo Pardini
fa672fbfcb rockchip64-6.18: mekotronics-r58-4x4: hdmi-in (hdmirx)
- the 4x4 has 4 HDMI-In's, only one of them (labeled "HDMI IN60") is 3588-native
2025-12-28 12:38:02 +01:00
Ricardo Pardini
7e531c09e3 rockchip64-6.18: mekotronics-r58-4x4: hdmi audio (out) 2025-12-28 12:38:02 +01:00
Ricardo Pardini
24a9e994bd rockchip64-6.18: mekotronics-r58-4x4: "power" led & pinctrl 2025-12-28 12:38:02 +01:00
Ricardo Pardini
8aa448f8f8 rockchip64-6.18: mekotronics-r58-4x4: i2c2 regulator and NPU 2025-12-28 12:38:02 +01:00
Ricardo Pardini
94fa014ac1 rockchip64-6.18: mekotronics-r58-4x4: hdmi, vop, gpu, saradc, tsadc
- all work fine
2025-12-28 12:38:02 +01:00
Ricardo Pardini
b0da2145ad rockchip64-6.18: mekotronics-r58-4x4: pcie2x1l0 (wifi) and pcie2x1l1 (rtl8169)
- wifi doesn't come up; guess I'll have to add bus-range later
- rtl8169 works
2025-12-28 12:38:02 +01:00
Ricardo Pardini
dfcc8cd7b6 rockchip64-6.18: mekotronics-r58-4x4: pcie3x4 (NVMe) 2025-12-28 12:38:02 +01:00
Ricardo Pardini
2a54f483e9 rockchip64-6.18: mekotronics-r58-4x4: simple u2phy0(_otg) and usb_host0_xhci for UMS 2025-12-28 12:38:02 +01:00
Ricardo Pardini
3c073a94e0 rockchip64-6.18: mekotronics-r58-4x4: big voltage for big cores 2025-12-28 12:38:02 +01:00
Ricardo Pardini
166c1a3d08 rockchip64-6.18: mekotronics-r58-4x4: eMMC & SD fixes +regulator 2025-12-28 12:38:02 +01:00
Ricardo Pardini
312bfd4905 rockchip64-6.18: mekotronics-r58-4x4: adapt rk806 according to vendor
- a translation of the vendor "&rk806single" and its "pmic-power-off" with rk806_dvs1_slp
2025-12-28 12:38:02 +01:00
Ricardo Pardini
9b03d788d7 rockchip64-6.18: mekotronics-r58-4x4: basic DT with SD/eMMC/UART/rk806
- very basic, started from a mainlined DT, stripped almost everything
- only SD/eMMC/debug UART and basic regulators
2025-12-28 12:38:02 +01:00
Werner
8fb61c91d7
dts: orangepi-4-lts: fix mispelled disable properites (#9123) 2025-12-25 12:44:57 +01:00
Fabian Wolter
3aacc125a6 rockchip64: Fix IEP driver 2025-12-21 13:42:12 +01:00
brentr
7a84087f74
DevTree overlays to enable RK3308 UARTS (#9072)
* rk3308 dts overlays to enable its built-in uarts
* Add rk3308 uart enabling device tree overlays
2025-12-19 16:30:25 +01:00
Ricardo Pardini
4be2185a50 rockchip64-6.18: radxa-e24c: map LEDs to RTL DSA switch ports 2025-12-19 16:16:17 +01:00
Ricardo Pardini
cc58129bc6 rockchip64-6.18: add DeviceTree for radxa-e24c (picked from Kwiboo)
- works: PCIe/NVMe, GMAC, Realtek DSA switch, SD, SPI-NOR
- does not work: USB (I didn't manage to pick correctly; lets wait for Kwiboo on this)
- untested: everything else
2025-12-19 16:16:17 +01:00
Ricardo Pardini
a28680603d rockchip64-6.18: rk3528: PCIe & SFC enablement; RTL DSA fixes
- rk3528 PCIe patch from 6.19
- rest is all Kwiboo
- I didn't pick GRF/USB/thermal stuff as I couldn't make it work
2025-12-19 16:16:17 +01:00