* Add initial support for Orangepi 5 Pro
Tested and Working:
Wireless & Bluetooth
USB 2.0 + USB 3.1
HDMI 2.1
Gigabit Ethernet (PCIe to RJ45 - Need drivers YT6801)
NVMe PCIe 2.0
MicroSD
Audio Controller es8388 - Audio Out
FAN PWM
LEDs PWM
Not Working:
Onboard Microphone
HDMI 2.0 (DP-HDMI - rockchip,rk3588-dp No Driver)
Not Tested:
Camera 1,2
eMMC
* OPi 5 Pro: Ethernet Driver Installation on First Boot
Implemented a simple script to install the driver
during first boot using the installation headers
included in the image. Takes just a few seconds
on first boot.
Disclaimer: Attempted installation in a chroot env but failed.
* fix: Make first-boot Ethernet driver install more robust
The `eth-driver-firstboot.service` would sometimes fail on first boot with a "Resource temporarily unavailable" error. This happened when another process had a lock on `dpkg`.
To fix this, the installation script now waits for any `dpkg` locks to be released before attempting to install the driver package. It also includes a retry mechanism (3 attempts) in case of a transient failure.
This ensures the network driver is successfully installed, providing a better out-of-box experience.
* set clocks to the old default rate if the codec never calls set_sysclk
After mainline kernel commit 21cfbeae7d7c54a6cdea4b00096150f438f4fbde
rockchip i2s requires that soc codecs call set_sysclk to explicity select a rate.
This patch simply reverts to the old behavior if the codec does call set_sysclk.
(rather that failing in that case with a bogus rate of 0hz)
Also adds rk3308 vendor ASoC support to 6.16 kernel
* Require use of device tree overlay to enable pcm5102a CODEC
Firstly, the upstream patch for sun4i-drm ensures the HDMI output is initialized successfully.
Secondly, patching drm_atomic_helper_connector_hdmi_check() avoids a null pointer dereference at shutdown or reboot
Although my initial testing appeared to be a success, subsequent
testing finds it to fail more often than it works.
Back to square one.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
The old method carried along with board-pbp-add-dp-alt-mode.patch only
makes typec work in one(normal) orientation. This patch introduces a
proper extcon driver and makes the workaround cleaner, so orientation
switch is working.
Improvements:
- type-c DP on rk3399 works with both orientations
- type-c USB 3.0 on rk3399 works with both orientations, with minor
issues, see below
Caveats:
- Powered USB-C hubs may be not recognized, and can be worked around by
loading a gadget driver, or manually toggling the mode once for each
connection.
- Some dual-role devices(phone, tablet) may be not recognized.
Affected boards:
- TinkerBoard 2/2S
- Pinebook Pro
- NanoPC T4
- Orange Pi 4
- Orange Pi 4 LTS
Tested on tinkerboard 2s. This patch contains other minor fixes for
tinker2's device tree, including adding a missing fan node, adding color
labels to leds.
The 2 patches adding dp support for nanopc t4 and pinebook pro are also
updated accordingly.
The device trees of Orange Pi 4 / 4 LTS are also updated to match the
new implementation.
* remove the patches that are shredding upstream device tree
* consolidation into single patch that apply over upstream dt
* add pcm5102a device tree overlay for handy usage
* correct system patch used for aliasing on Allwinner A10, A13 and A20 to ensure consistent allocation of device IDs
* Re-introduce spi overlays for each bus so that when used in conjuction with a device driver overlay, the pins are correctly muxed into SPI mode
* Ensure SPI overlay patches are applied
* Fix typo in patch name
* Move alias patches further down series.conf to ensure they are only called after the intial overlay creation
* Rephrase subject heading to improve clarity
* Fix interface aliases on Allwinner A10 for I2C, SPI and UART
* Fix interface aliases on Allwinner A13 for I2C and UART
* Fix interface aliases on Allwinner A20 for I2C, SPI and UART
* Fix SPI 2 pin names in line with latest revision of the Allwinner A10 device tree
* Fix SPI 2 pin names in line with latest revision of the Allwinner A20 device tree
* Create overlays for each bus on the Allwinner A20 so that the corresponding pins can be set into spi mode
* Create overlays for each bus on the Allwinner A10 so that the corresponding pins can be set into spi mode
* Condense alias path corrections into the intial overlay creation patch instead of applying a further patch on topof it to enact these corrections
* Remove references to our no longer needed addtional overlays
* rename to include 'arm-dts..' for consistency with other dts related patches
* Fix mistake in SPI overlay patches naming which leads to build failure
* Fix typo in application of spi2 overlay that was leading to compilation failure
* Amend the assigned aliases in overlay creation so that the kernel correctly maps the bus/port number to match the physical hardware numbering
* Update pin labels for SPI 2 to use current names as defined in sun4i-a10.dtsi and sun7i-a20.dtsi. fixed typo in sun5i-a13-spi-spidev as compatibility field should be sun5i-a13
* Re-introduce compilation of spi bus overlays on Allwinner A10 and A20 SOCs which are necessary to ensure that the pins are correctly muxed into spi mode
fan53555 driver doesn't accept "tcs,tcs452x" as a compatible, it should
be "tcs,tcs4525" instead.
This change fixes CPUFREQ on CB2 on 6.12
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
When starting a GPU with a power domain, it is necessary
to additionally control the switching on and off of the clock
in the GPU driver.
The driver is currently waiting for a response when it is
turned on, but it is not there, and this causes the OS to freeze.
The complete set will be added later after testing.
* Create rk3588-orangepi-5-ultra.dts
* Create orangepi5-ultra.csc
* fixups
* add notes
* fix u-boot compilation
* Update to v7 patch series
https://patchwork.kernel.org/project/linux-arm-kernel/cover/20250222193332.1761-1-honyuenkwun@gmail.com/
* Update rk3588-orangepi-5-ultra.dts
While I don't fully understand either the `kernel-dtb` command nor the dt syntax itself for some reason the `nophandles` version stripped more than actually phandles. Lets see what happens this way.
* Delete patch/kernel/integrate-6.15/0001-tools-Makefile-remove-pci-target.patch
* disable OPTEE
c81f89ca90
* rock-3a - fix formatting of gpio-line-names
properly format gpio-line-names, following the example from Trevor Woerner for his contribution to the radxa-zero-3 dt.
Also fix a wrong pin number
* fix applying
The extcon-usbc-virtual-pd driver requests the detection GPIO with the flag GPIOD_OUT_LOW, which leads to a failure in gpiod_to_irq and consequently causes the driver loading to fail.
This issue can be fixed by changing GPIOD_OUT_LOW to either GPIOD_IN or GPIOD_ASIS.
This patch opts to change GPIOD_OUT_LOW to GPIOD_ASIS, as this is a less invasive approach. For devices intending to use this driver, it's also necessary to set the pinctrl property of the detection GPIO to input mode in the dts file.
This reverts commit a3dac432fc.
USB patch for 6.12.y needs rework - its a bit more work as code has been moved around kernel tree. TBD after 25.2 release.
* Add MXQ target. Copy HDMI fix from odroid-c1.
* meson8, MXQ: add boot from usb support, configurable dtb
* MXQ: remove boot logo
Built-in U-BOOT is used, so the logo will not be displayed anyway.
* meson: kernel update: legacy -> 6.6, current -> 6.12
* Change Odroid C1 and Onecloud to community supported as build now passes
---------
Co-authored-by: Igor Pecovnik <igor@armbian.com>
Overlay for testing purposes:
There is a strange interaction between that ethernet adapter and the rtc
(it runs better -but still not well- with the ethernet adapter enabled).
Contains rewritten dts, based on decompiled dtb from original Klipad50
(as similiar as possible to original).
Kernel defconfig taken from MKSPI (replaced "mkspi" with "mksklipad50")
While syncing with upstream Linux helios64 dts for 6.9 I missed
the diff for the helios64 status led label (upstream was
helios64:green:status instead of Armbian helios64::status) and
thus broke armbian helios64-heartbeat-led.service.
This commit restores the Armbian label helios64::status to let
helios64-heartbeat-led.service starts.
Fixes: cbaf67f00 ("Sync helios64 to its updated 6.9 dts")
Signed-off-by: Alban Browaeys <alban.browaeys@gmail.com>
Since v5.11, Linux upstream commit 8b5c2b45b8f0 disabled the internal pull-down
for the strobe line explicitly instead of leaving it in its default
state (the opposite of Rockchip Kernel which force enable this intrnal
pulldown by default) thus causing I/O errors in HS400 mode for various
eMMC modules (the ones that did not have an external pulldown on the
strobe line likely).
Discussed upstream and the choice has been made to keep this
behavior as it has been there for too long and reverting might break
other boards http://lists.infradead.org/pipermail/linux-rockchip/2024-April/046416.html
HS400 for helios64 was disabled in commit 5f2e23e90
"Disabled hs400 on Helios64 (hopefully only temporarily) (#3126)"
but for 5.10.63 (ie before the above commit disabled internal pulldown).
Back then I had bisected the emmc I/O issue to a double init of the emmc
regulator introduced while adding deferred support to the regulator driver
core, ie commit 06653ebc0ad2 "regulator: core: resolve supply for boot-on/always-on regulators"
in 5.10.60. But due to the new default for the strobe line internal pulldown
introduced in 5.11, when this double voltage regulator init issue was fixed likely by
8a866d527ac0 "regulator: core: Resolve supply name earlier to prevent double-init"
in Linux 6.1.
* add nanopi-r3s.csc board config
* Nanopi R3S - add uboot patch
* Nanopi R3S - add dts
* fix bogus patch header
* Migrate to new patch series
Source & credits https://patchwork.ozlabs.org/project/uboot/list/?series=438193
I still need to figure out how to convert a patch series from patchwork in a way so the build framework doesn't complain about headers and magic and whatever. So a few hundreds of header lines have been replaced with something generic.
Applies and builds fine now against current stable v2024.10
* Create board-nanopi-r3s-fix-leds.patch
Thx https://github.com/armbian/build/pull/7556#issuecomment-2615110100
* Rename board-nanopi-r3s-fix-leds.patch to xx-board-nanopi-r3s-fix-leds.patch
* add new patch