* meson-s4t7: bump u-boot to khadas-vims-u-boot-2019.01-v1.6-release
* Use khadas default bootargs as much as possible
* Add new hook to allow copying code into kernel
* meson-s4t7: legacy: Switch to 5.15 kernel
* meson-s4t7: add kernel-config for 5.15 kernel
* device tree overlays for 5.15 kernel for vim1s and vim4
* restructure packaging of bsp files for vim1s/vim4
* silence vblank warning on boot
* Remove display workaround as it doesn't work with 5.15 kernel
* Remove 5.4 kernel patches
* add salvas UHS overlay and enable on 2 known devices known to have voltage regulator needed to leverage UHS
* remove increased UHS from pinebook-pro default due to justification in kernel commit history
* remove enabling YOLO UHS overlay from default board config
In my initial commit I assumed CONFIG_USE_PREBOOT=y was enabled
by default. I was wrong.
As reported by MicroLinux (Salva) on DISCORD the unit was still
having issues booting. I sent him a patch I use which enables
preboot and he reported back that "It boots fine now".
NOTES: The patch he tested also had boot logo support enabled. In
my testing boot logo support is not required. If for some reason
in the future there are still eMMC boot issues, than maybe adding
a slight delay "sleep 2" to preboot would suffice.
https://github.com/armbian/build/pull/5858
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
* rockchip64: Add board "ASUS Tinker-Edge-R"
* rockchip64: Add board "ASUS Tinker-Edge-R": hammer for 6.6 current & 6.7 edge
- cleanup
- squash dtsi and dt into a single thing, rename to dashes
- change dtb reference in board file
- drop the 6.1 patch that has junk in it
---------
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
PWM controllable fan (G12A/B/SM1)
Commit provides two new overlays. One for the BananaPi CM4IO
Baseboard "GPIOH_5" and another for general use "GPIOX_5".
CM4IO HEADER PINS: 5V "4"; GND "6"; PWM "7"
On other units the location of the PWM HEADER PIN may vary,
so users will need to either review the wiki or schematic
of said unit.
Fan used in testing:
https://a.co/d/hasnLtj
Modifications: M2S/M5 RTL8822CS
Modded the overlays to be specific to the unit they were made
to be used on.
Tested-on: BananaPi BPI-CM4IO Baseboard with BPI-CM4 Module
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
- general-rc-drivers-should-produce-alternate-pulse-and-space-timing-events.patch: dropped
- added `-spidev` DT's for a few boards (gives access to SPI Flash in exchange for slower eMMC)
- cleanup 0000.patching_config.yaml for meson64-6.7
This does not change the current boot order and requires specific
hardware.
Test-on: BananaPi BPI-CM4IO Baseboard with BPI-CM4 Module
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
- arm64: dts: rockchip: pci3x4 for Mixtile Blade3
- pinctrl for `1 RK_PB2` pull_up
- regulator `vcc3v3_pcie30` always-on and boot-on
- there is probably a much better fix than this, but I couldn't find it
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- arm64: dts: rockchip: cleanups for Mixtile Blade3
- drop `hym8563` pinctrl (don't think the blade3 has an RTC)
- `i2c5` is exposed on the 30-pin, add comment
- fix tab in `pcie30phy`
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Enable CPU frequency configuration for Orange Pi Zero 3
* Revert "Enable CPU frequency configuration for Orange Pi Zero 3"
This reverts commit 7af1ee1116.
* Enable CPU frequency configuration for Orange Pi Zero 3
---------
Co-authored-by: Gunjan Gupta <viraniac@gmail.com>
* merge patches from rockchip and rk322x families for current and edge
kernels
* adjust patches for tinkerboard to remove some cruft and overclocking
* rework kernel configs
* fix rk322x dmc to avoid lockup on rk3288
* migrate rockchip-6.6 into patch series, rename all patches with
more understandable names
* add gen-series.sh script in tools directory (it is a naive tool to
create patch series when you don't want to rebase everything)
* CONFIG_SYS_SCSI_MAX_DEVICE was replaced by a macro in U-Boot v2022.04
* Fixes u-boot for rockchip64 derivatives
* Fix missing include for cli_simple_run_command
* Do not return value in a void function
While at it, also fixed the following warning
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi:189.40-191.6: Warning (unit_address_format): /soc/efuse@3006000/cpu-speed-grade@00: unit name should not have leading 0s
- add Device Odroid M1 device tree to dt subfolder
- fix permission for panther x2
- move and rename overlays
- integrate hardkernel fixup to rockchip fixup script
- detach nanopi r5 from nonexisting odroid kernel family to rockchip64
- Remove patches for 6.5
- Use correct overlay namings
- Align Board name with others from the vendor
> tl,dr: add 4 small-ish UEFI-like kernels, with Microsoft patches & fixes, for use with Microsoft WSL2 on x86/arm64 and 6.1.y/6.6.y
- the boards are UEFI derivatives, using a common `microsoft` vendor include to modify
- `KERNELPATCHDIR`/`LINUXFAMILY` (for now, we don't want those patches in regular UEFI builds / .debs)
- disable `EXTRAWIFI` (kernel is for a VM, will never have wifi so doesn't need any drivers)
- `LINUXCONFIG`, so we can use Microsoft's own monolithic kernel, required for WSL2 (their initrd is a mistery)
- really, what we're mostly interested right now are the kernels (in the future we might have an "Armbian" WSL2 app in the Microsoft Store)
- `current` `6.1.y`:
- rebased from https://github.com/microsoft/WSL2-Linux-Kernel/tree/linux-msft-wsl-6.1.y onto real 6.1.y
- using Microsoft's `.config` exactly (monolithic, there are no `=m`'s)
- `edge` `6.6.y`:
- also from https://github.com/microsoft/WSL2-Linux-Kernel/tree/linux-msft-wsl-6.1.y but rebased onto 6.6.y
- using updated Microsoft's `.config` (monolithic, there are no `=m`'s)
- dropped 2 of 6.1.y's patches that were actually upstreamed in the meantime:
- `mm-page_reporting-Add-checks-for-page_reporting_order-param` - mainlined in https://lore.kernel.org/all/1664517699-1085-2-git-send-email-shradhagupta@linux.microsoft.com/
- `hv_balloon-Add-support-for-configurable-order-free-page-reporting` - mainlined in https://lore.kernel.org/all/1664517699-1085-3-git-send-email-shradhagupta@linux.microsoft.com/
- drop the `arm64: hyperv: Enable Hyper-V synthetic clocks/timers` patch, since it causes asm breakage on 6.6.y
- a shame, but I tried and can't fix it myself - @kelleymh ?
- add my own patch to fix:
- `1709-drivers-hv-dxgkrnl-restore-uuid_le_cmp-removed-from-upstream-in-f5b3c341a.patch` due to https://lore.kernel.org/all/20230202145412.87569-1-andriy.shevchenko@linux.intel.com/ landing in 6.6
- `1710-drivers-hv-dxgkrnl-adapt-dxg_remove_vmbus-to-96ec29396-s-reality-void-return.patch` to adapt to
https://lore.kernel.org/all/TYCP286MB2323A93C55526E4DF239D3ACCAFA9@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
There are many changes in this file and its impossible to cover this with a patch for now current and all kernels back
We are using same hack in UWE drivers.
I have changed the way the patches are generated a bit. Instead of using orange-pi branch from megous tree for 6.6 kernel, I have used the following kernel branches
a83t-suspend, af8133j, anx, audio,
axp, cam, drm, err, fixes, mbus,
modem, opi3, pb, pinetab, pp, ppkb,
samuel, speed, tbs-a711, ths
These branches were carefully chosen to include only allwinner related patches and remove importing of the rockchip related patches into the allwinner kernel.
Following patches are modified to fix patch application failure
- patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-reg_usb1_vbus-status-ok.patch
- patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-Enable-GPU-mali.patch
- patches.armbian/arm64-dts-allwinner-h616-Add-efuse_xlate-cpu-frequency-scaling-v1_6_2.patch
- patches.armbian/arm64-dts-allwinner-h616-LED-green_power_on-red_status_heartbeat.patch
- patches.armbian/arm64-dts-allwinner-overlay-Add-Overlays-for-sunxi64.patch
- patches.armbian/arm64-dts-sun50i-h616-bigtreetech-cb1.patch
Following patches are modified because of kernel api change to fix compilation failure
- patches.armbian/drv-gpu-drm-sun4i-Add-HDMI-audio-sun4i-hdmi-encoder.patch
- patches.armbian/drv-of-Device-Tree-Overlay-ConfigFS-interface.patch
Update Das U-Boot to v2023.07.02
Patch: HACK: mmc: meson-gx: limit to 24MHz
db6738fed9
In my testing the patch is required for stable boot on REV 1.51.
It is not required on REV 1.4, but has no ill effects on boot.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
Set fan max speed to kick in at 65*C. This keeps the unit roughly
at 70*C or lower, when pusing all cores for an extended period of
time.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
HACK: BOOT ORDER: NVMe SDCARD eMMC.
NOTES:
In my testing there has been no false starts or hangs up. Meaning
the boot process has been stable.
The downside to this in my opinion is that if there is an OS on
the NVMe it will always take boot priority. The drive would need
to be pulled or DD'd in order for SD eMMC boot to kick in.
Tested-on: Waveshare CM4-IO-BASE-B
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
https://www.waveshare.com/wiki/CM4-IO-BASE-B
Fan, RTC and USB support
RTC requires rtc pcf85063 driver
Fan requires hwmon emc2305 driver
Added wakeup-source to fanctrl node so emc2305 module loads at boot.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
BPI-CM4 fan control
hwmon: emc2305: fixups for driver
The driver had a number of issues, checkpatch warnings/errors,
and other limitations, so fix these up to make it usable.
hwmon: emc2305: Change OF properties pwm-min & pwm-max to u8
hwmon: emc2305: Add calls to initialize cooling maps
233096b8a9/drivers/hwmon/emc2305.c
Tested-on: CM4-IO-BASE-B: https://www.waveshare.com/wiki/CM4-IO-BASE-B
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
https://www.waveshare.com/wiki/CM4-IO-BASE-B
Fan, RTC and USB support
RTC requires rtc pcf85063 driver
Fan requires hwmon emc2305 driver
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
In sunxi-6.1 and sunxi-6.5 kernel we have a patch that changes r_rsb to r_i2c. But same
change is not done for u-boot. Mixing use of r_rsb and r_i2c seems to cause issues if
its also something handled in crust. Hence making it consistent across u-boot and kernel
dts files
- remove add-board-makefile Patch
- remove `overlay-y` Makefile patch
- add note to the 6.1 version: Makefile autopatcher can't be enabled for 6.1, since the armhf move to subdirs only landed in 6.5-rc1
> Based on AmazingFate's kernel DT and Kwiboo's `rk3568-2023.10`
Tested with a OrangePi 3B 4GB v1.1:
- SD-card boot
- eMMC boot
- SPI Flash boot
- chip is XMC `XM25QU128CWIQ`, not `W25Q256JWEIQ` listed in schematics
- PCIe/NVMe
- Ethernet has stable MAC
- can boot both edge (mainline) and legacy (vendor rk 5.10) kernels
- USB in uboot is untested
- UMS untested (I lost my A-to-A otg cable)
BPI-CM4: Add support for the waveshare cm4-io-base-b
https://www.waveshare.com/wiki/CM4-IO-BASE-B
BPI-CM4: Enable usb support on waveshare baseboards via overlay
BPI-SM1: Removed UART_B overlay. Short of it being an available
option in the vendor kernel via overlay. I can not find any docs
to support why that is. I feel it is safer that we just remove it.
BPI-SM1: Add UART_A "pin-ctrl: cts rts"
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
* update libreelec patches to latest bits
* rework some patches
* rework dtb patches due to new arch/arm/boot/dts layout
* fix led overlays due to idiot u-boot dtbo bug
Upstream code has trickled down into 6.5.y, so adjust patching
accordingly.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
Restore 'less than or equal' match of clocks that was lost in patch transition from 6.3 to 6.4:
ttps://github.com/armbian/build/blob/6d981baba68699b0c6ada476704556e11dd661bc/patch/kernel/archive/rockchip64-6.3/rk356x-vop2-support.patch#L333
6d981baba6/patch/kernel/archive/rockchip64-6.4/rk356x-vop2-support.patch (L333)
This is just a cosmetic change. Patches have been consolidated
into one patch within each corresponding linux version directory.
Added: linux-6.6 (RC-1)
Removed: linux-6.2/6.3
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
Also added some cleanup fixes to silence some of the compiler warnings,
fixes for issues during inserting and removing xradio module and fixes
for possible data corruption on vmmaped stack.
All of these fixes were taken from https://github.com/fifteenhex/xradio
* patch: misc: rtw88: wireless-next: 2023-08-25
Updated: 6.1 / 6.4
Added: 6.5
For doc sake, this update makes 6.1 slightly differrent than 6.4 and
6.5 in one particular area of main.c.
As shown here:
7746e2fa87
6.1 requires we use del_timer_sync, where the above releases use
timer_delete_sync.
Tested-on: ODROID-C4 X96-AIR BPI-CM4 (linux 6.x.y)
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
* driver_rtw88: `linux-version compare "${version}" ge 6.1`
Suggested-by: @viraniac
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
---------
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
After we bumped u-boot to version v2022.10, a couple of boards
stopped booting because the CONFIG_SPL_STACK value used in our
u-boot config was too low for that SOC. This change drops explicit
CONFIG_SPL_STACK defination from the affected boards.
The boards confirmed to have the issues were Orange Pi 3 LTS and
NanoPi Neo Black2 but I suspect that NanoPi K1 plus is also affected
hence similar change is done for that as well
* dts: amlogic: meson-g12b-bananapi-cm4: switch to enable-gpios
The recommended name for enable GPIOs property in regulator-gpio is
enable-gpios. This is also required by bindings:
meson-g12b-bananapi-cm4-cm4io.dtb: regulator-vddio-c: Unevaluated properties are not allowed ('enable-gpio' was unexpected)
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
* board-bananapi-cm4-switch-to-enable-gpios: `text formatting correction`
Apparently the builder did care for the original.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
---------
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
- using Kwiboo's `rk3568-2023.10` branch with BINMAN-handled blobs
- patches (defconfig unless indicated):
- boot usb first (rockchip-common)
- blink leds & keep red one one on preboot; reset SPI env once after deinfesting from Petitboot
- change usb_host0_xhci to otg (u-boot dtsi)
- enable DM_GADGET, UMS 🔥 and RockUSB
- **usage instructions**:
- build & burn image to SD card
- insert SD card into board
- **hold the recovery (RCY) button** and power on the board
- watch board boot
- **de-infest Petitboot**: use `armbian-install` to install bootloader to MTD
- if you don't, you'll need to hold the recovery button every boot
- optionally: use `armbian-install` to install OS to eMMC/NVMe/USB
- power-off board
- remove SD card (new u-boot always boots SD first!)
- boot into your newly de-infested machine
- boot order: USB, SD, MMC, NVME, SCSI
- de-infested machine can now boot (directly) from USB/SATA/NVMe, possibly via EFI:
- Armbian UEFI-arm64
- Fedora 38 aarch64
- HASSOS for ODROID-M1
- Talos arm64
- others...
- extra: new u-boot by Kwiboo (with GMAC patches) gives us stable MAC address
- although it is based on cpuid#, doesn't match the HK sticker on the board
- run `fw_setenv ethaddr XX:XX:XX:XX:XX:XX` to change eth addr in SPI flash environment if needed
- `odroidm1`: update DDR/BL31 blobs (this depends on https://github.com/armbian/rkbin/pull/20)
Backport DTS/DTSI changes from linux-6.4.y to 6.1.y
Add meson64-reboot driver to all boards
Add board: ODROID N2L
Add uart_A uart_AO_B uart_B uart_C where appropriate
U-Boot v2023.07.02: ODROID N2/N2L/N2Plus/C4
Meson64-reboot driver: (source: tobetter)
While the current meson64-reboot driver is cleaner and doesn't
depend on modding other kernel sources, its functionality leaves
much to be desired. One example can be found in the ODROID C4.
Using the current driver, the board will not properly power off,
leaving the POWER LED still on. The new driver powers off the unit
completely.
Fan control: (ODROID N2L/N2PLus)
Added service and script for controlling the trip point.
fanctrl: arguments: 65 55 45 35 25 menu run
┌──┤ Fan Control ├──┐
│ │
│ 6) 65°C │
│ 5) 55°C │
│ 4) 45°C │
│ 3) 35°C │
│ 2) 25°C │
│ E) Exit .. │
│ │
│ │
│ <Ok> │
│ │
└───────────────────┘
NOTES: (N2L/HC4): I do not own the units so I can't run tests.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
- vim1s/vim4: remove uEnv.txt and default extlinux args, use simple arguments instead
- meson-s4t7.conf: hack: rereadpt (re-read partition table) in initrd local-top (for eMMC boot of oowow'ed image)
- meson-s4t7.conf: include both `u-boot.bin.sd.bin.signed` and `u-boot.bin.signed` in uboot package
- meson-s4t7: patch kernel for different dt "model" across VIM4 and "New VIM4"
- meson-s4t7.conf: set `EXTLINUX_SPECIFIC_FDT=no`, so u-boot auto-determines which DTB to use
- don't specify DTB; this way both the "original VIM4" and the "new VIM4" can boot with the same image
Linux 6.1 (current) / 6.4 (edge)
Add "current" to: config/boards/bananapim2pro.csc
Add uart_AO_B and uart_B to: meson-sm1-bananapi.dtsi
Add related pins to: meson-g12-common.dtsi
add wif/bt support to: meson-sm1-bananapi-m5.dts (BT = uart_A)
Add the ability to enable via overlays
NOTE: The overlay to enable the wifi on the BPI-M5 will be added
at a later date.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>