Compare commits

..

69 Commits
7.2 ... 8.0.rc1

Author SHA1 Message Date
Stefan Agner
feebc0abe9 Bind mount output directory in release builds (#1834) 2022-04-07 19:56:35 +02:00
Stefan Agner
88aa4c7651 Bump Raspberry Pi kernel/firmware to 1.20220331 (#1833)
* RaspberryPi: Update kernel 5.15.32 - 1.20220331

* Bump buildroot

* buildroot 949a683071...c62532023d (1):
  > package/rpi-firmware: bump version to 1.20220331
2022-04-07 16:51:54 +02:00
Stefan Agner
d9ec603164 Enable IPv6 forwarding by default (#1832)
Enable IPv6 forwarding by default which is useful to run IPv6 based
OpenThread Border Router.

Currently Docker enables IPv4 forwarding by default. Enabling IPv6
support will enable IPv6 routing as well, but we are not ready yet to
enable IPv6 support for Docker at this point.

Enabling IPv6 forwarding should be harmless as there are no IPv6
addresses configured internally and Home Assistant OS is not typically
dual-homed. In cases where it is dual-homed (e.g. VPN), routing is
often used and firewalling is setup as part of that add-on.
2022-04-07 13:24:13 +02:00
Stefan Agner
afff68ca4d Deploy bootcode.bin for Raspberry Pi 2 and 3 (#1831)
* Drop unnecessary rpi-firmware.mk overrides

* Deploy bootcode.bin for Raspberry Pi 2 and 3
2022-04-04 15:44:15 +02:00
Stefan Agner
dceba8bb43 Add Intel WiFi 3945ABG/BG/4965AGN drivers and firmware (#1826) (#1827)
* Enable Intel WiFi 3945ABG/BG/4965AGN drivers and firmware

* buildroot a98c1c31a0...949a683071 (1):
  > package/linux-firmware: Add Intel WiFi 3945ABG/BG/4965AGN
2022-04-04 15:43:38 +02:00
Guglielmo De Concini
f0032a39f2 Enable wext backend for wpa_supplicant to support r8188eu (#1811)
* Enable wext and nl80211 drivers for wpa_supplicant for all devices

* Enable r8188eu module globally and add related firmware to all devices config

Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-04-01 18:39:28 +02:00
Stefan Agner
66303c1078 Use anonymous Docker volume as build output (#1825)
* Use anonymous Docker volume as build output

Use anonymous Docker volumes as build output. This makes sure
every build is using a clean output directory.
2022-03-31 23:43:37 +02:00
Stefan Agner
23e58009f2 Enable nftables packet filtering as modules (#1812) (#1824) 2022-03-31 21:27:38 +02:00
Stefan Agner
6b3440f4fd Set GRUB2 bootloader timeout to 1s (#1823)
This aligns with what we used to have in Barebox. Most of the time the
user is not expected to make a choice, so keeping the timeout short is
sensible.
2022-03-31 21:26:50 +02:00
Stefan Agner
31b9c46a79 Enable 32-bit UEFI support (#1752) (#1819) 2022-03-31 17:48:06 +02:00
Stefan Agner
e8f487f96e Linux: Update kernel 5.15.32 (#1818)
* Linux: Update kernel 5.15.32

* Fix kernel update script
2022-03-31 17:47:54 +02:00
Stefan Agner
9bdd810e76 Yellow: Bump Raspberry Pi kernel to 1.20220308 (#1817)
Update kernel to Raspberry Pi kernel 1.20220308 and rebase Yellow
specific patches.
2022-03-29 01:06:23 +02:00
Stefan Agner
99be958c4f Drop NetworkManager default config (#1813)
* Drop default NetworkManager configuration

NetworkManager will automatically connect using the global defaults.
Also Supervisor today will create a profiles once the user configures
the network explicitly.

* Create system-connection directory
2022-03-25 08:53:30 +01:00
Stefan Agner
59d69209dc Use correct path for tempio (#1807) 2022-03-21 01:06:55 +01:00
Stefan Agner
1b7f9cd42f Bump Raspberry Pi kernel/firmware to 1.20220308 (#1806)
* RaspberryPi: Update kernel 5.10.103 - 1.20220308

* Bump buildroot

* buildroot 8b00576a77...a98c1c31a0 (1):
  > package/rpi-firmware: bump version to 1.20220308
2022-03-21 00:41:21 +01:00
Guglielmo De Concini
a9ea934edc Add RTL_81XX firmware to raspberry pi devices (#1804) 2022-03-21 00:41:08 +01:00
redgryphon
f62fee2ff7 Add support for NTP configuration via DHCP (fixes #689) (#1798)
* Add support for NTP configuration via DHCP.

* Default fallback NTP pool is the Cloudflare's one
2022-03-21 00:40:43 +01:00
Stefan Agner
616c406e8e Use tempio to generate RAUC configuration files (#1797)
* Add tempio host package

tempio is a template helper using Go's template engine and sprig
functions.

* Use tempio to generate rauc manifest

* Use tempio to generate rauc system.conf
2022-03-17 20:28:40 +01:00
Stefan Agner
dde7a7b809 Revert "Remove git submodules before git checkout (#1611)" (#1799)
This reverts commit ff07728fa3.

Removing the .git file from the git submodule is problematic when
updating buildroot: Files deleted stay present in the buildroot
directory (since their origin is no longer known).

The workaround has been introduced to allow building non-git submodule
releases (rel-6) on the same runners. Since rel-7 uses git submodule and
we stay with git submodule for the forseeable future, remove this work
around.
2022-03-17 13:40:02 +01:00
Stefan Agner
829b5941e1 Update to Buildroot 2022.02 (#1781)
* Update board configurations for Buildroot 2022.02

* Bump buildroot

* buildroot 962ff8c0d4...8b00576a77 (3445):
  > Revert "package/systemd: set cgroups default-hierarchy to unified"
  > package/linux-firmware: Add Broadcom BNX2 firmware
  > package/rpi-firmware: bump version to 1.20220120
  > package/linux-firmware: add rtl8761b/rtl8761bu firmware
  > package/docker-proxy: bump version to 64b7a4574d14
  > network-manager: wpa_supplicant
  > Update for 2022.02
2022-03-17 12:26:54 +01:00
Stefan Agner
4390fa7acd Add IP set support for iptables (#1778) (#1780) 2022-03-16 15:38:34 +01:00
Stefan Agner
62de5f53a8 Improve OS 8 GRUB upgrade (#1793)
* Drop unnecessary device tree utilities

They have been used for Barebox which uses device tree to configure the
state storage and its location. With the change to GRUB the tools are no
longer required.

* Determine manual GRUB update depending on installed tools

Manually update the GRUB environment if no grub environment tools are
installed. This makes a upgrade work even after a previous downgrade (in
that case a grubenv file might still be present in the UEFI ESP).
2022-03-16 15:38:18 +01:00
Stefan Agner
bf0aa61d87 Bump Khadas VIM3 to Linux 5.15.25 (#1779) 2022-03-02 15:35:42 +01:00
Stefan Agner
7ca62cb53a Fix Linux kernel 5.15 bump fallout (#1777)
* Add generic-aarch64 to the list of Kernels

* Bump buildroot

* buildroot 8bbb32c16a...962ff8c0d4 (1):
  > package/rtl8812au-aircrack-ng: bump version to 3a6402e

* Fix kernel version for Raspberry Pi kernel based boards
2022-03-02 12:16:22 +01:00
Stefan Agner
cd87324452 Don't fail update even if files are missing (#1776)
Don't fail the boot slot update even if files are missing in the current
boot directory.
2022-03-02 11:44:56 +01:00
Stefan Agner
de21729578 Update to latest Linux LTS kernel 5.15.25 (#1774)
* Linux: Update kernel 5.15.25

Use highest available kernel version in Buildroot 2021.08 (5.13)

* Update Hardkernel patches to Linux 5.15

* Update generic-x86-64/ova kernel config/patches for 5.15

* Drop Intel e1000e Sourceforge driver

The driver has been discontinued sometime last year. The main reason the
out-of-tree kernel has been enabled was for support for the i219-V
network chips which meanwhile are supported in mainline.
2022-03-01 23:40:25 +01:00
Stefan Agner
fc0f1e20d5 Fix GRUB2 update using post-install hook (#1770)
* Use shell functions for install hooks

* Use post-install hook to initialize GRUB2 bootloader env

Unfortunately the boot name to be updated (RAUC_SLOT_BOOTNAME) is not
available when updating the "boot" slot. Instead, initialize the boot
slot in a kernel post-install slot.
2022-02-28 16:49:34 +01:00
Stefan Agner
22f5a83dcc Fix migration from Barebox GRUB for OVA (#1769) 2022-02-28 00:17:49 +01:00
Stefan Agner
f509e9ce5d Shutdown HA CLI properly (#1768)
Drop IgnoreOnIsolate to make sure the service is shutdown during
shutdown.
2022-02-25 19:17:57 +01:00
Stefan Agner
381026758a Fix migration from Barebox GRUB (#1767)
* Fix migration from Barebox GRUB

Create GRUB env which defaults to the boot slot we are updating to. This
makes sure that the newly installed OS version will be booted on next
reboot even if installed on boot slot B.
2022-02-25 19:17:49 +01:00
Stefan Agner
5a409ec0ec Linux: Update kernel 5.10.102 (#1765)
* Linux: Update kernel 5.10.102
2022-02-24 13:42:30 +01:00
Stefan Agner
d1cc7394b5 Use GRUB bootloader for all UEFI platforms (#1762)
* Use GRUB bootloader for all UEFI platforms
* Introduce and use file_env command
* Compress squashfs for aarch64 as well
2022-02-24 13:42:17 +01:00
Stefan Agner
b0bbe70315 Bump U-Boot to 2022.01 (#1761) 2022-02-24 13:22:21 +01:00
Mark Dietzer
0f4016c180 Add support for AArch64/ARM64 EFI architecture (#1757)
* Add AArch64/ARM64 EFI boot support (for QEMU and some boards)
* Allow GRUB to load cmdline.txt-like
* Enable qcow2/vmdk disk images

Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-02-23 10:42:02 +01:00
kyangk
81b3bc8787 Add support for RTL88x2BU USB WiFi dongles (#1742)
* buildroot: package/rtl88x2bu: add rtl88x2bu package

Signed-off-by: Kevin Yang <kangyang@google.com>
Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-02-21 17:32:23 +01:00
Stefan Agner
061a6e9860 Add Intel WiFi driver fix to avoid crash on Intel NUC systems (#1739) (#1745) 2022-02-08 16:13:13 +01:00
Stefan Agner
c29f95678f Linux: Update kernel 5.10.98 (#1744) 2022-02-08 16:13:03 +01:00
Calvin Vette
fed57ec5a3 network.md doc - add WiFi example with caveat (#1719)
Add example command to enabling WiFi with note about caveat.

Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-02-08 14:41:34 +01:00
Stefan Agner
d9f463322b Add Broadcom BNX2/BNX2X firmware (#1732) (#1735)
* buildroot e2ac9b528a...8bbb32c16a (1):
  > package/linux-firmware: Add Broadcom BNX2 firmware

* Add Broadcom BNX2/BNX2X firmware (#1732)

Signed-off-by: Stefan Agner <stefan@agner.ch>
2022-02-02 16:57:32 +01:00
Stefan Agner
6d75b47865 Linux: Update kernel 5.10.96 (#1736) 2022-02-02 16:41:36 +01:00
Stefan Agner
feb045b32d Bump raspberry pi kernel firmware to 1.20220120 (#1731)
* Bump buildroot

* buildroot 3cedcad616...e2ac9b528a (1):
  > package/rpi-firmware: bump version to 1.20220120

* RaspberryPi: Update kernel 5.10.92 - 1.20220120
2022-01-26 13:53:38 +01:00
Jens Maus
c1bd178021 Integrate dual HomeMatic+HomeMatic IP support for HmIP-RFUSB (#1683)
* updated generic_raw_uart to latest version which comes with dualcopro
support for the HmIP-RFUSB usb rf-sticks by eQ3/ELV.

* remove 99-hmip-rfusb.rules to keep a HmIP-RFUSB device free from being
occupied by the cp210x driver but use the new generic_raw_uart support
instead allowing for advanced dualcopro support for HomeMatic/BidCos-RF
and homematicIP support in parallel.
2022-01-26 13:53:16 +01:00
Stefan Agner
260a7c7d05 Update issue template with directions to the new locations (#1727) 2022-01-26 11:56:06 +01:00
Stefan Agner
5291fbf999 Fix reboot on ODROID-N2 (again) (#1722)
To make HDMI CEC work, we have to compile MESON_DRM as a module
(see #1717). However, this essentially reverts #1347, which fixed the
reboot problem by compiling the driver into the kernel.

Hence we need to reintroduce the earlier fix from #1345, which reverts
the offending commit causing the reboot problem.
2022-01-16 12:44:42 +01:00
Stefan Agner
a5949bbc0b Remove reference to non-existing patch directory to fix ODROID-C2 build (#1718) 2022-01-15 14:50:56 +01:00
Stefan Agner
d17a739f48 Fix HDMI CEC on ODROID-N2(+) (#1717)
Build HDMI graphics driver as a module which seems to fix HDMI CEC on
ODROID-N2(+).
2022-01-15 14:41:39 +01:00
Stefan Agner
3c582190d6 Add Intel SoC sound drivers (#1690) (#1715) 2022-01-13 17:38:16 +01:00
Stefan Agner
186107e089 Disable DW-HDMI CEC driver to avoid non-working CEC device file (#1216) (#1714)
The DW HDMI CEC implementation is not used in Amlogic SoC. Disable the
driver to avoid it claiming /dev/cec0 and getting used by user space
tools.

See also: https://lore.kernel.org/all/20210416092737.1971876-3-narmstrong@baylibre.com/T/
2022-01-13 17:37:48 +01:00
Stefan Agner
4399b28d2f Linux: Update kernel 5.10.91 (#1713) 2022-01-13 17:37:34 +01:00
Stefan Agner
c1acccf30e Home Assistant Yellow fixes (#1709)
* Fix enable USB host mode kernel patch

Update to a new patch which applies the device tree change such that the
USB controller actually gets enabled.

* Update Home Assistant Yellow board config

Update config to match changes which have been made to other baords as
well.
2022-01-12 11:11:02 +01:00
Stefan Agner
51b8836af0 Rename Home Assistant Amber to Yellow (#1708)
* Rename Home Assistant Amber to Yellow

Rename the board from "amber" to "yellow" as Home Assistant Yellow is
the official name now.

* Add Home Assistant Yellow to the build matrix
2022-01-07 18:14:25 +01:00
Stefan Agner
76d4485639 Bump buildroot (#1700)
* buildroot 4c6c8fb767...3cedcad616 (1):
  > Merge tag '2021.08.3' into 2021.08.x-haos
2021-12-29 16:49:35 +01:00
Stefan Agner
abfee18363 ODROID XU4: Update U-Boot on eMMC boot partition (#1699)
* ODROID XU4: Update U-Boot on eMMC boot partition

Update the U-Boot on the eMMC boot partition if present. Only write the
first megabyte as the eMMC boot partition might be smaller than the SPL
image and only the first megabyte is occupied by FW/BL1/BL2/TZSW (see
https://wiki.odroid.com/odroid-xu4/software/partition_table#tab__odroid-xu341).
2021-12-29 15:19:31 +01:00
Stefan Agner
5d2154cc97 Update Raspberry Pi kernel and firmware to oldstable_20211201/71bd3109/Linux 5.10.63 (#1119) (#1696)
* Bump buildroot

* buildroot 907739ed48...4c6c8fb767 (1):
  > package/rpi-firmware: bump version to 71bd3109

* RaspberryPi: Update kernel 5.10.63 - oldstable_20211201

* Add Raspberry Pi Zero 2 W device tree
2021-12-28 15:58:18 +01:00
Stefan Agner
24615739ea Use LSI Logic SCSI controller (#1695)
* Use LSI Logic SCSI controller in vmdk descriptor as well

For some reason, the vmdk disk format's descriptor contains the
controller type as well. By default, qemu-img sets it to "ide", which
seems not optimal especially for VMware's ESXi. Set adapter type to
commonly supported "lsilogic".

* Move ova image generation to hdd-image.sh
2021-12-27 14:58:27 +01:00
Stefan Agner
55c9b54b13 Check if Busybox supports oflag (#1692) (#1694)
* Check if Busybox supports oflag

It seems that Busybox' dd shipped with OS release 5 and earlier does not
support oflag. Check if the flag is supported before making use of it.

* Exit if a command in the update scripts returns an error

This makes sure that the update isn't marked as successful in case there
is an error in the update script.
2021-12-27 14:58:19 +01:00
Stefan Agner
580e541f77 Linux: Update kernel 5.10.88 (#1693) 2021-12-27 14:58:11 +01:00
Łukasz Szeremeta
7ed97e89a3 Devices description update (#1684)
* Devices description update

Updating the list of supported devices according to https://www.home-assistant.io/installation/

* Intel NUC -> Generic x86-64 (e.g. Intel NUC)

* Remove unsupported Raspberry Pi and Raspberry Pi Zero
2021-12-24 11:08:28 +01:00
Stefan Agner
1e94f9a79e Adjust ova to support VMware ESXi (#826) (#1674)
* Use OpenSSL to generate OVA manifest file (#826)

It seems that sha256sum adds a space after the hash algorithm which
causes "Invalid OVF checksum algorithm" on certain VMware virtualization
products.

Using OpenSSL avoids the space and makes the manifest file compatible
wiht VMware products.

* Use Buildroot provided OpenSSL binary

* Use SCSI controller by default
2021-12-15 12:11:26 +00:00
Stefan Agner
b7a7805262 Re-upload rebuilt files (#1676)
Make sure to overwrite existing files on upload. This allows to trigger
rebuilds and have the latest builds on the os-builds server.

Note: When using GitHub Actions, the release/ directory is cleared at
the beginning (by the checkout action, which has the clean option set
by default which also causes files in .gitignore to be deleted).
2021-12-14 21:59:27 +00:00
Stefan Agner
19a135edac Avoid race condition when fetching containers during build (#1671)
* Avoid race condition when fetching containers during build

So far only a single builder was active for each architecture. This
toghether with the naming scheme to include architecture/machine name
made sure that an image could only be fetched or used by a single
builder.

However, since most systems are now aarch64, multiple runners are now
active for a single architecture. This makes it necessary to lock
fetching/coping of container images to avoid race conditions.
2021-12-13 15:43:42 +00:00
Stefan Agner
c99927f3c4 Add patch for iwlwifi to fix beacon timeout (#1655) (#1670)
Allow to configure missed beacons using the iwlwifi.beacon_timeout
kernel parameter.
2021-12-13 12:52:29 +00:00
Stefan Agner
f5be7693de rtl8812au: use buildroot provided aircrack-ng driver (#1660) (#1669)
Use rtl8812au driver provided by buildroot. This uses a newer verison of
the v5.6.4.2 branch which works with newer kernel and seems to be the
recommended branch.

Note: It seems that our buildroot package currently fails to properly
deploy the 88XXau.ko kernel module. Instead of fixing our version, just
move to the buildroot version.
2021-12-13 12:52:13 +00:00
geftactics
a4be500bf9 Update download URL for package intel-e1000e (#1668) 2021-12-13 11:30:03 +00:00
Stefan Agner
cc0d4f8b62 Linux: Update kernel 5.10.83 (#1658) 2021-12-03 15:44:08 +00:00
Alexander Reinert
26c36a8caf Updated to latest generic_raw_uart package (#1653) 2021-12-03 15:05:43 +00:00
Stefan Agner
b5c9c9df22 Enable Broadcom and Atheros Ethernet drivers (#1650) (#1651) 2021-11-14 01:36:21 +01:00
Stefan Agner
19616b05d7 Update Linux kernel patches for Home Assistant Amber (#1649)
* Update Linux kernel patches for Home Assistant Amber

Fix user LED polarity. Also rebase the patchset ontop of the Raspberry Pi
kernel 1.20211029.

* Add RTC as well
2021-11-13 16:06:16 +01:00
Stefan Agner
3f28023dc4 Bump OS release version to 8 (#1648) 2021-11-13 16:05:57 +01:00
143 changed files with 1560 additions and 1888 deletions

View File

@@ -38,7 +38,7 @@ body:
- rpi4-64 (Raspberry Pi 4/400 64-bit OS)
- tinker (ASUS Tinker Board/Tinker Board S)
description: >
Can be found in the [Configuration panel -> Info](https://my.home-assistant.io/redirect/info/). It is listed as the `Board` value.
Can be found in the [Configuration panel -> Settings -> Info](https://my.home-assistant.io/redirect/info/). It is listed as the `Board` value.
[![Open your Home Assistant instance and show your Home Assistant version information.](https://my.home-assistant.io/badges/info.svg)](https://my.home-assistant.io/redirect/info/)
- type: input
@@ -48,7 +48,7 @@ body:
label: What version of Home Assistant Operating System is installed?
placeholder: "6.6"
description: >
Can be found in the [Configuration panel -> Info](https://my.home-assistant.io/redirect/info/). It is listed as the `Host Operating System` value.
Can be found in the [Configuration panel -> Settings -> Info](https://my.home-assistant.io/redirect/info/). It is listed as the `Host Operating System` value.
- type: dropdown
validations:
required: true
@@ -76,7 +76,7 @@ body:
attributes:
label: Anything in the Supervisor logs that might be useful for us?
description: >
Supervisor Logs can be found under [Supervisor -> System](https://my.home-assistant.io/redirect/supervisor_logs/), then choose Log Provider `Supervisor`.
Supervisor Logs can be found under [Configuration panel -> Add-ons, Backup & Supervisor -> System](https://my.home-assistant.io/redirect/supervisor_logs/), then choose Log Provider `Supervisor`.
[![Open your Home Assistant instance and show your Supervisor system logs.](https://my.home-assistant.io/badges/supervisor_logs.svg)](https://my.home-assistant.io/redirect/supervisor_logs/)
render: txt
@@ -86,7 +86,7 @@ body:
attributes:
label: Anything in the Host logs that might be useful for us?
description: >
Supervisor Logs can be found under [Supervisor -> System](https://my.home-assistant.io/redirect/supervisor_logs/), then choose Log Provider `Host`.
Supervisor Logs can be found under [Configuration panel -> Add-ons, Backup & Supervisor -> System](https://my.home-assistant.io/redirect/supervisor_logs/), then choose Log Provider `Host`.
render: txt
- type: textarea
attributes:
@@ -94,7 +94,7 @@ body:
description: >
**Optional** Copy the full System Health in this text area.
Can be found in the [Configuration panel -> Info](https://my.home-assistant.io/redirect/info/).
Can be found in the [Configuration panel -> Settings -> Info](https://my.home-assistant.io/redirect/info/).
Use the copy icon on top right and choose `For GitHub`.
- type: textarea
attributes:

View File

@@ -77,10 +77,6 @@ jobs:
return { "ref": context.ref }
return { "ref": context.payload.pull_request.head.sha }
# Make sure directories of potentially removed submodules are cleaned correctly
- name: Cleanup git submodules
run: find . -name .git -type f -exec rm {} \;
- name: Checkout source
uses: actions/checkout@v2
with:
@@ -106,13 +102,14 @@ jobs:
docker run --rm --privileged -v "${GITHUB_WORKSPACE}:/build" \
-e BUILDER_UID="${BUILDER_UID}" -e BUILDER_GID="${BUILDER_GID}" \
-v "${{ matrix.board.runner }}-build-cache:/cache" \
-v "/build/output" \
haos-builder make BUILDDIR=/build VERSION_DEV=${{ needs.prepare.outputs.version_dev }} ${{ matrix.board.defconfig }}
- name: Upload images
uses: burnett01/rsync-deployments@4.1
with:
rsh: -q
switches: -aW --ignore-existing
switches: -aW
path: release/
remote_path: ${{ secrets.DEV_TARGET_PATH }}/${{ needs.prepare.outputs.version_main }}.${{ needs.prepare.outputs.version_dev }}/
remote_host: ${{ secrets.DEV_HOST }}

View File

@@ -11,6 +11,12 @@
"runner": "x86-64-runner",
"label": "board/generic-x86-64"
},
{
"id": "generic-aarch64",
"defconfig": "generic_aarch64",
"runner": "aarch64-runner",
"label": "board/generic-aarch64"
},
{
"id": "khadas-vim3",
"defconfig": "khadas_vim3",
@@ -71,6 +77,12 @@
"runner": "aarch64-runner",
"label": "board/raspberrypi"
},
{
"id": "yellow",
"defconfig": "yellow",
"runner": "aarch64-runner",
"label": "board/yellow"
},
{
"id": "tinker",
"defconfig": "tinker",

View File

@@ -57,10 +57,6 @@ jobs:
runs-on: ${{ matrix.board.runner }}
steps:
# Make sure directories of potentially removed submodules are cleaned correctly
- name: Cleanup git submodules
run: find . -name .git -type f -exec rm {} \;
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
with:
@@ -84,6 +80,7 @@ jobs:
docker run --rm --privileged -v "${GITHUB_WORKSPACE}:/build" \
-e BUILDER_UID="${BUILDER_UID}" -e BUILDER_GID="${BUILDER_GID}" \
-v "${{ matrix.board.runner }}-build-cache:/cache" \
-v "/build/output" \
haos-builder make BUILDDIR=/build VERSION_DEV=${{ needs.validate_release.outputs.version_dev }} ${{ matrix.board.name }}
- name: Upload disk image
@@ -119,7 +116,7 @@ jobs:
asset_content_type: application/x-tar
- name: Upload qcow2 image
if: ${{ matrix.board.name == 'ova' }}
if: ${{ matrix.board.name == 'ova' || matrix.board.name == 'generic-aarch64' }}
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -152,7 +149,7 @@ jobs:
asset_content_type: application/zip
- name: Upload vmdk image
if: ${{ matrix.board.name == 'ova' }}
if: ${{ matrix.board.name == 'ova' || matrix.board.name == 'generic-aarch64' }}
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -5,26 +5,27 @@
The following boards/devices are supported:
- Raspberry Pi
- Pi 4 Model B (1 GB, 2 GB and 4 GB model) 32-bit
- Pi 4 Model B (1 GB, 2 GB and 4 GB model) 64-bit (recommended)
- Pi 3 Model B and B+ 32-bit
- Pi 4 Model B (1 GB, 2 GB, 4 GB and 8 GB model) 64-bit (recommended)
- Pi 4 Model B (1 GB, 2 GB, 4 GB and 8 GB model) 32-bit
- Pi 3 Model B and B+ 64-bit (recommended)
- Pi 3 Model B and B+ 32-bit
- Pi 2 (not recommended)
- Pi Zero-W (not recommended)
- Pi (not recommended)
- Hardkernel
- Odroid-C2
- Odroid-C4 (_experimental_)
- Odroid-N2
- Odroid-N2+
- Odroid-C2
- Odroid-C4
- Odroid-XU4
- Asus
- Tinker Board
- Generic x86-64 (UEFI, not suited for virtualization)
- Intel NUC5CPYH
- Intel NUC6CAYH
- Intel NUC10I3FNK2
- Gigabyte GB-BPCE-3455
- Computers supporting x86-64 architecture and UEFI boot should generally work
- Asus
- Tinker Board
- Virtual appliance (x86_64/UEFI):
- VMDK
- OVA ?
@@ -39,17 +40,15 @@ Notes:
|Board|Build|Config|Docs|
|-----|----|------|----|
|Pi4B 32-bit |`make rpi4` |[rpi4](../../buildroot-external/configs/rpi4_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi4B 64-bit |`make rpi4_64` |[rpi4_64](../../buildroot-external/configs/rpi4_64_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi3B 32-bit |`make rpi3` |[rpi3](../../buildroot-external/configs/rpi3_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi3B 64-bit |`make rpi3_64` |[rpi3_64](../../buildroot-external/configs/rpi3_64_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi2 |`make rpi2` |[rpi2](../../buildroot-external/configs/rpi2_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi Zero |`make rpi0_w` |[rpi0_w](../../buildroot-external/configs/rpi0_w_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi |`make rpi` |[rpi](../../buildroot-external/configs/rpi_defconfig)|[raspberrypi](./raspberrypi/)|
|Odroid-C2 |`make odroid_c2` |[odroid_c2](../../buildroot-external/configs/odroid_c2_defconfig)|[hardkernel](./hardkernel/)|
|Odroid-C4 |`make odroid_c4` |[odroid_c4](../../buildroot-external/configs/odroid_c4_defconfig)|[hardkernel](./hardkernel/)|
|Odroid-N2 |`make odroid_n2` |[odroid_n2](../../buildroot-external/configs/odroid_n2_defconfig)|[hardkernel](./hardkernel/)|
|Odroid-XU4 |`make odroid_xu4` |[odroid_xu4](../../buildroot-external/configs/odroid_xu4_defconfig)|[hardkernel](./hardkernel/)|
|Tinker Board |`make tinker` |[tinker](../../buildroot-external/configs/tinker_defconfig)|[asus](./asus/)|
|Generic x86-64 |`make generic_x86_64` |[generic_x86_64](../../buildroot-external/configs/generic_x86_64_defconfig)|[generic-x86-64](./generic-x86-64/)|
|OVA |`make ova` |[ova](../../buildroot-external/configs/ova_defconfig)|[ova](./ova/)|
|Pi4B 64-bit |`make rpi4_64` |[rpi4_64](../../buildroot-external/configs/rpi4_64_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi4B 32-bit |`make rpi4` |[rpi4](../../buildroot-external/configs/rpi4_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi3B 64-bit |`make rpi3_64` |[rpi3_64](../../buildroot-external/configs/rpi3_64_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi3B 32-bit |`make rpi3` |[rpi3](../../buildroot-external/configs/rpi3_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi2 |`make rpi2` |[rpi2](../../buildroot-external/configs/rpi2_defconfig)|[raspberrypi](./raspberrypi/)|
|Odroid-N2/N2+ |`make odroid_n2` |[odroid_n2](../../buildroot-external/configs/odroid_n2_defconfig)|[hardkernel](./hardkernel/)|
|Odroid-C2 |`make odroid_c2` |[odroid_c2](../../buildroot-external/configs/odroid_c2_defconfig)|[hardkernel](./hardkernel/)|
|Odroid-C4 |`make odroid_c4` |[odroid_c4](../../buildroot-external/configs/odroid_c4_defconfig)|[hardkernel](./hardkernel/)|
|Odroid-XU4 |`make odroid_xu4` |[odroid_xu4](../../buildroot-external/configs/odroid_xu4_defconfig)|[hardkernel](./hardkernel/)|
|Tinker Board |`make tinker` |[tinker](../../buildroot-external/configs/tinker_defconfig)|[asus](./asus/)|
|Generic x86-64|`make generic_x86_64`|[generic_x86_64](../../buildroot-external/configs/generic_x86_64_defconfig)|[generic-x86-64](./generic-x86-64/)|
|OVA |`make ova` |[ova](../../buildroot-external/configs/ova_defconfig)|[ova](./ova/)|

View File

@@ -0,0 +1,36 @@
# Generic aarch64
## Supported Hardware
This board configuration aims to support most aarch64 systems with UEFI boot
Hardware it has been tested with is listed below.
## Tested Hardware
| Device | Release Date | Support | Config |
|-----------------------|--------------|---------|-------------|
| QEMU | QEMU | yes | [generic_aarch64](../../../buildroot-external/configs/generic_aarch64_defconfig) |
## Requirements
- aarch64 support
- UEFI boot
## Wifi
WiFi is untested.
## Bluetooth
Bluetooth is untested.
## Installation
Make sure secure boot is disabled in the UEFI BIOS settings.
Currently there is no shiny installation method. Checklist:
- Boot PC to live environment using PXE or USB
- Copy or download the Home Assistant OS image into your live environment
- unxz the image and dd to the local hard disk
- Reboot

View File

@@ -6,16 +6,8 @@
|---------------------|---------------|-----------------|--------------------|
| Raspberry Pi B/B+/A+|2012/2014/2014 | not recommended | [rpi](../../../buildroot-external/configs/rpi_defconfig) |
| Raspberry Pi 2 B |2015 | not recommended | [rpi2](../../../buildroot-external/configs/rpi2_defconfig) |
| Raspberry Pi Zero |2015 | not recommended | [rpi](../../../buildroot-external/configs/rpi_defconfig) |
| Raspberry Pi Zero W |2017 | not recommended | [rpi0_w](../../../buildroot-external/configs/rpi0_w_defconfig) |
| Raspberry Pi 3 B/B+ |2016/2018 | yes | [rpi3](../../../buildroot-external/configs/rpi3_defconfig) / [rpi3_64](../../../buildroot-external/configs/rpi3_64_defconfig) |
| Raspberry Pi 4 B |2019 | yes* | [rpi4](../../../buildroot-external/configs/rpi4_defconfig) / [rpi4_64](../../../buildroot-external/configs/rpi4_64_defconfig) |
\*1,2 and 4 GiB versions of the Raspberry Pi 4 B are supported. Support for the 8 GiB version is coming soon is part of #740.
## Limitation 64bit
The 64bit version is under development by RPi-Team. It work very nice but it could have some impacts. Actual we see that the SDcard access with ext4 are a bit slower than on 32bit.
| Raspberry Pi 4 B |2019 | yes | [rpi4](../../../buildroot-external/configs/rpi4_defconfig) / [rpi4_64](../../../buildroot-external/configs/rpi4_64_defconfig) |
## Serial console

View File

@@ -1,19 +1,21 @@
# Kernel Version
Default Kernel tree: 5.10
Default Kernel tree: 5.15
| Board | Version |
|-------|---------|
| Open Virtual Appliance | 5.10.91 |
| Raspberry Pi | 5.10.63 |
| Raspberry Pi 0-W | 5.10.63 |
| Raspberry Pi 2 | 5.10.63 |
| Raspberry Pi 3 | 5.10.63 |
| Raspberry Pi 4 | 5.10.63 |
| Tinker Board | 5.10.91 |
| Odroid-C2 | 5.10.91 |
| Odroid-C4 | 5.10.91 |
| Odroid-N2 | 5.10.91 |
| Odroid-XU4 | 5.10.91 |
| Generic x86-64 | 5.10.91 |
| Open Virtual Appliance | 5.15.32 |
| Raspberry Pi | 5.15.32 |
| Raspberry Pi 0-W | 5.15.32 |
| Raspberry Pi 2 | 5.15.32 |
| Raspberry Pi 3 | 5.15.32 |
| Raspberry Pi 4 | 5.15.32 |
| Tinker Board | 5.15.32 |
| Odroid-C2 | 5.15.32 |
| Odroid-C4 | 5.15.32 |
| Odroid-N2 | 5.15.32 |
| Odroid-XU4 | 5.15.32 |
| Generic aarch64 | 5.15.32 |
| Generic x86-64 | 5.15.32 |
| Khadas VIM3 | 5.15.32 |

View File

@@ -128,6 +128,14 @@ profile using DHCP, use the following commands on the host console:
Home Assistant OS will recreate the default connection profile during boot.
### Enabling WiFi
WiFi is discouraged for reliability reasons. However if you're still like to use WiFi, you can us the `ha network` command to set up WiFi (example for a Raspberry Pi 4, check `ha network info` to check if your board supports WiFi and the name of the WiFi device):
```bash
ha network update wlan0 --enabled --ipv4-method auto --wifi-auth wpa-psk --wifi-mode infrastructure --wifi-ssid MY-SSID --wifi-psk MY_PASS
````
### Powersave
If you have trouble with powersave then apply the following changes:

View File

@@ -16,8 +16,8 @@ Home Assistant Operating System uses Docker as Container engine. It by default d
- Raspberry Pi
- Hardkernel ODROID
- Intel NUC
- Asus Tinker Board
- Generic x86-64 (e.g. Intel NUC)
- Virtual appliances
See the full list and specific models [here](./Documentation/boards/README.md)

View File

@@ -4,11 +4,12 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-rtl8723/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hardkernel-boot/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/khadas-boot/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/qemu-guest-agent/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/intel-e1000e/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-eeprom/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/os-agent/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/udisks2/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-rf-mod/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/tempio/Config.in.host"
source "$BR2_EXTERNAL_HASSOS_PATH/package/xe-guest-utilities/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/rtl88x2bu/Config.in"

View File

@@ -0,0 +1 @@
console=tty1 console=ttyS0

View File

@@ -0,0 +1,59 @@
set default=99
set timeout=1
set ORDER="A B"
set A_OK=0
set B_OK=0
set A_TRY=0
set B_TRY=0
set MACHINE_ID=""
load_env
# select bootable slot
for SLOT in $ORDER; do
if [ "$SLOT" == "A" ]; then
INDEX=0
OK=$A_OK
TRY=$A_TRY
A_TRY=1
fi
if [ "$SLOT" == "B" ]; then
INDEX=1
OK=$B_OK
TRY=$B_TRY
B_TRY=1
fi
if [ "$OK" -eq 1 -a "$TRY" -eq 0 ]; then
default=$INDEX
break
fi
done
# reset booted flags
if [ "$default" -eq 99 ]; then
if [ "$A_OK" -eq 1 -a "$A_TRY" -eq 1 ]; then
A_TRY=0
fi
if [ "$B_OK" -eq 1 -a "$B_TRY" -eq 1 ]; then
B_TRY=0
fi
default=0
fi
save_env A_TRY A_OK B_TRY B_OK ORDER MACHINE_ID
default_cmdline="rootwait zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=$MACHINE_ID cgroup_enable=memory fsck.repair=yes"
file_env -f ($root)/cmdline.txt cmdline
# root is a full HDD/partition definition in GRUB format like hd0,gpt1
# We extract the part before the comma to then append our own partition index
# at the end. This is hacky but the best way I found
regexp --set 1:boothd (.+),.+ ${root}
menuentry "Slot A (OK=$A_OK TRY=$A_TRY)" {
linux (${boothd},gpt2)/Image root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd $default_cmdline $cmdline rauc.slot=A
}
menuentry "Slot B (OK=$B_OK TRY=$B_TRY)" {
linux (${boothd},gpt4)/Image root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 $default_cmdline $cmdline rauc.slot=B
}

View File

@@ -0,0 +1,27 @@
#!/bin/bash
# shellcheck disable=SC2155
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local EFIPART_DATA="${BINARIES_DIR}/efi-part"
mkdir -p "${BOOT_DATA}/EFI/BOOT"
cp "${BOARD_DIR}/grub.cfg" "${EFIPART_DATA}/EFI/BOOT/grub.cfg"
cp "${BOARD_DIR}/cmdline.txt" "${EFIPART_DATA}/cmdline.txt"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" create
cp -r "${EFIPART_DATA}/"* "${BOOT_DATA}/"
}
function hassos_post_image() {
convert_disk_image_virtual vmdk
convert_disk_image_virtual qcow2
convert_disk_image_zip vmdk
convert_disk_image_xz qcow2
convert_disk_image_xz
}

View File

@@ -0,0 +1,16 @@
CONFIG_EFI_STUB=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_MMIO=y
CONFIG_SCSI_VIRTIO=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_DRM_VIRTIO_GPU=m

View File

@@ -0,0 +1,10 @@
BOARD_ID=generic-aarch64
BOARD_NAME="Generic aarch64"
CHASSIS=embedded
BOOTLOADER=grub
KERNEL_FILE=Image
BOOT_SYS=efi
BOOT_SPL=false
DISK_SIZE=6
SUPERVISOR_MACHINE=qemuarm-64
SUPERVISOR_ARCH=aarch64

View File

@@ -1,5 +1,5 @@
From e18419a214ba872d14462354886148f976312e3c Mon Sep 17 00:00:00 2001
Message-Id: <e18419a214ba872d14462354886148f976312e3c.1632758899.git.stefan@agner.ch>
From 966cd1782632bc8279667955ec315e93c89495e6 Mon Sep 17 00:00:00 2001
Message-Id: <966cd1782632bc8279667955ec315e93c89495e6.1645627366.git.stefan@agner.ch>
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Fri, 24 Apr 2020 12:41:50 +0000
Subject: [PATCH 1/2] SPL: modify load address of U-Boot
@@ -15,23 +15,23 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
2 files changed, 2 insertions(+)
diff --git a/configs/tinker-rk3288_defconfig b/configs/tinker-rk3288_defconfig
index 3ac314ab89..67ca98c383 100644
index a9c9a122f6..b839fdb570 100644
--- a/configs/tinker-rk3288_defconfig
+++ b/configs/tinker-rk3288_defconfig
@@ -88,3 +88,4 @@ CONFIG_VIDEO_ROCKCHIP=y
@@ -92,3 +92,4 @@ CONFIG_VIDEO_ROCKCHIP=y
CONFIG_DISPLAY_ROCKCHIP_HDMI=y
CONFIG_CMD_DHRYSTONE=y
CONFIG_ERRNO_STR=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x2000
diff --git a/configs/tinker-s-rk3288_defconfig b/configs/tinker-s-rk3288_defconfig
index 35e84b7088..93cfe4f094 100644
index f367c9370f..c52b0753ec 100644
--- a/configs/tinker-s-rk3288_defconfig
+++ b/configs/tinker-s-rk3288_defconfig
@@ -90,3 +90,4 @@ CONFIG_DISPLAY_ROCKCHIP_HDMI=y
@@ -94,3 +94,4 @@ CONFIG_DISPLAY_ROCKCHIP_HDMI=y
CONFIG_CONSOLE_SCROLL_LINES=10
CONFIG_CMD_DHRYSTONE=y
CONFIG_ERRNO_STR=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x2000
--
2.33.0
2.35.1

View File

@@ -1,7 +1,7 @@
From 4c09e7741c219ef28be912e97a986b6402290c9b Mon Sep 17 00:00:00 2001
Message-Id: <4c09e7741c219ef28be912e97a986b6402290c9b.1632758899.git.stefan@agner.ch>
In-Reply-To: <e18419a214ba872d14462354886148f976312e3c.1632758899.git.stefan@agner.ch>
References: <e18419a214ba872d14462354886148f976312e3c.1632758899.git.stefan@agner.ch>
From 98674c65a6595e7ac554f7ec9d6f0228556756f6 Mon Sep 17 00:00:00 2001
Message-Id: <98674c65a6595e7ac554f7ec9d6f0228556756f6.1645627366.git.stefan@agner.ch>
In-Reply-To: <966cd1782632bc8279667955ec315e93c89495e6.1645627366.git.stefan@agner.ch>
References: <966cd1782632bc8279667955ec315e93c89495e6.1645627366.git.stefan@agner.ch>
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Fri, 24 Apr 2020 11:37:55 +0000
Subject: [PATCH 2/2] pmic: enable LDO2 vcc33_mipi at bootup
@@ -64,5 +64,5 @@ index f85209c649..6fa1bb0c66 100644
+}
+#endif
--
2.33.0
2.35.1

View File

@@ -1,53 +0,0 @@
From c7825747afd8bb975dc918f28e4afe8058a518f3 Mon Sep 17 00:00:00 2001
Message-Id: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 11 Jan 2021 13:58:31 +0000
Subject: [PATCH 01/10] arm64: dts: meson: add i2c3/rtc nodes and rtc aliases
to ODROID-N2 dtsi
Enable the onboard pcf8563 rtc hardware on ODROID N2/N2+ boards via the
common dtsi. Also add aliases to ensure vrtc does not claim /dev/rtc0.
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210111135831.2218-1-christianshewitt@gmail.com
---
.../boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index 39a09661c5f6..b78be3e6974d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -13,6 +13,8 @@ / {
aliases {
serial0 = &uart_AO;
ethernet0 = &ethmac;
+ rtc0 = &rtc;
+ rtc1 = &vrtc;
};
dioo2133: audio-amplifier-0 {
@@ -478,6 +480,18 @@ &ir {
linux,rc-map-name = "rc-odroid";
};
+&i2c3 {
+ status = "okay";
+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
+ pinctrl-names = "default";
+
+ rtc: rtc@51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ wakeup-source;
+ };
+};
+
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
--
2.34.1

View File

@@ -1,10 +1,8 @@
From 70e65f906389f7236fe9ad8e1c05dedac0d1988b Mon Sep 17 00:00:00 2001
Message-Id: <70e65f906389f7236fe9ad8e1c05dedac0d1988b.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From 9f8390a715bc58e7423b65a18c4499761c84b819 Mon Sep 17 00:00:00 2001
Message-Id: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 11 Jan 2021 11:20:48 +0100
Subject: [PATCH 04/10] arm64: dts: meson: g12b: add power button support
Subject: [PATCH 1/7] arm64: dts: meson: g12b: add power button support
Add power button support on J2 pin 11 (GPIOX_3 on the SoC side). The
GPIO is low active, e.g. when connecting with pin 9 (GND) a power
@@ -16,7 +14,7 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index 41b2f9c96b5f..4b6bb7e74e25 100644
index d33e54b5e196..5f0f036b1265 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -39,6 +39,17 @@ emmc_pwrseq: emmc-pwrseq {
@@ -38,5 +36,5 @@ index 41b2f9c96b5f..4b6bb7e74e25 100644
compatible = "gpio-leds";
--
2.34.1
2.35.1

View File

@@ -1,37 +0,0 @@
From ec3b1240b428c5652ccb7fdadad217a2ff8ab4db Mon Sep 17 00:00:00 2001
Message-Id: <ec3b1240b428c5652ccb7fdadad217a2ff8ab4db.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From: Hyeonki Hong <hhk7734@gmail.com>
Date: Wed, 7 Apr 2021 04:26:08 +0000
Subject: [PATCH 02/10] arm64: dts: meson: add saradc node to ODROID N2/N2+
Add the meson saradc node to the ODROID N2/N2+ common dtsi.
Signed-off-by: Hyeonki Hong <hhk7734@gmail.com>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210407042609.9736-3-christianshewitt@gmail.com
---
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index b78be3e6974d..8a5e132c4b79 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -508,6 +508,11 @@ &pwm_AO_cd {
status = "okay";
};
+&saradc {
+ status = "okay";
+ vref-supply = <&vddao_1v8>;
+};
+
/* SD card */
&sd_emmc_b {
status = "okay";
--
2.34.1

View File

@@ -1,10 +1,10 @@
From 86d9151effff69d2a8fc2027a31dd60bd8c6eb05 Mon Sep 17 00:00:00 2001
Message-Id: <86d9151effff69d2a8fc2027a31dd60bd8c6eb05.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From 26917e25696e7156a85d4dfcc578cb4cf4f42dde Mon Sep 17 00:00:00 2001
Message-Id: <26917e25696e7156a85d4dfcc578cb4cf4f42dde.1646168061.git.stefan@agner.ch>
In-Reply-To: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
References: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 11 Jan 2021 11:38:54 +0100
Subject: [PATCH 05/10] arm64: dts: meson: g12b: add GPIO fan support
Subject: [PATCH 2/7] arm64: dts: meson: g12b: add GPIO fan support
Add simple GPIO fan node to support a fan on GPIO J8. Unfortunately the
pad used to control the fan does not support real PWM, hence the RPM
@@ -16,7 +16,7 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index 4b6bb7e74e25..e8a3ede698b5 100644
index 5f0f036b1265..36dbd2666015 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -39,6 +39,17 @@ emmc_pwrseq: emmc-pwrseq {
@@ -38,5 +38,5 @@ index 4b6bb7e74e25..e8a3ede698b5 100644
compatible = "gpio-keys-polled";
poll-interval = <100>;
--
2.34.1
2.35.1

View File

@@ -1,78 +0,0 @@
From 5ca49a58577f7e9e6f8e0b1cb7c97e756a0e921f Mon Sep 17 00:00:00 2001
Message-Id: <5ca49a58577f7e9e6f8e0b1cb7c97e756a0e921f.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From: Hyeonki Hong <hhk7734@gmail.com>
Date: Wed, 7 Apr 2021 04:26:09 +0000
Subject: [PATCH 03/10] arm64: dts: meson: add GPIO line names to ODROID N2/N2+
Add GPIO line-name identifiers to the ODROID N2/N2+ common dtsi.
Signed-off-by: Hyeonki Hong <hhk7734@gmail.com>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210407042609.9736-4-christianshewitt@gmail.com
---
.../dts/amlogic/meson-g12b-odroid-n2.dtsi | 45 +++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index 8a5e132c4b79..41b2f9c96b5f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -446,6 +446,51 @@ &frddr_c {
};
&gpio {
+ gpio-line-names =
+ /* GPIOZ */
+ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ /* GPIOH */
+ "", "", "", "", "", "", "", "",
+ "",
+ /* BOOT */
+ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ /* GPIOC */
+ "", "", "", "", "", "", "", "",
+ /* GPIOA */
+ "PIN_44", /* GPIOA_0 */
+ "PIN_46", /* GPIOA_1 */
+ "PIN_45", /* GPIOA_2 */
+ "PIN_47", /* GPIOA_3 */
+ "PIN_26", /* GPIOA_4 */
+ "", "", "", "", "", "",
+ "PIN_42", /* GPIOA_11 */
+ "PIN_32", /* GPIOA_12 */
+ "PIN_7", /* GPIOA_13 */
+ "PIN_27", /* GPIOA_14 */
+ "PIN_28", /* GPIOA_15 */
+ /* GPIOX */
+ "PIN_16", /* GPIOX_0 */
+ "PIN_18", /* GPIOX_1 */
+ "PIN_22", /* GPIOX_2 */
+ "PIN_11", /* GPIOX_3 */
+ "PIN_13", /* GPIOX_4 */
+ "PIN_33", /* GPIOX_5 */
+ "PIN_35", /* GPIOX_6 */
+ "PIN_15", /* GPIOX_7 */
+ "PIN_19", /* GPIOX_8 */
+ "PIN_21", /* GPIOX_9 */
+ "PIN_24", /* GPIOX_10 */
+ "PIN_23", /* GPIOX_11 */
+ "PIN_8", /* GPIOX_12 */
+ "PIN_10", /* GPIOX_13 */
+ "PIN_29", /* GPIOX_14 */
+ "PIN_31", /* GPIOX_15 */
+ "PIN_12", /* GPIOX_16 */
+ "PIN_3", /* GPIOX_17 */
+ "PIN_5", /* GPIOX_18 */
+ "PIN_36"; /* GPIOX_19 */
/*
* WARNING: The USB Hub on the Odroid-N2 needs a reset signal
* to be turned high in order to be detected by the USB Controller
--
2.34.1

View File

@@ -1,10 +1,10 @@
From f1120f132dbdf2e7f7acf328de55bbdce877d882 Mon Sep 17 00:00:00 2001
Message-Id: <f1120f132dbdf2e7f7acf328de55bbdce877d882.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From 5b2b8c960269eba18f0557bf49990b9c28e5e6af Mon Sep 17 00:00:00 2001
Message-Id: <5b2b8c960269eba18f0557bf49990b9c28e5e6af.1646168061.git.stefan@agner.ch>
In-Reply-To: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
References: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 11 Jan 2021 15:53:55 +0100
Subject: [PATCH 06/10] arm64: dts: meson: g12b: odroid-n2: add fan as cooling
Subject: [PATCH 3/7] arm64: dts: meson: g12b: odroid-n2: add fan as cooling
device
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -21,7 +21,7 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
1 file changed, 38 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index e8a3ede698b5..dd345c6aa4b5 100644
index 36dbd2666015..5ca75696bd5c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -388,6 +388,44 @@ &clkc_audio {
@@ -70,5 +70,5 @@ index e8a3ede698b5..dd345c6aa4b5 100644
cpu-supply = <&vddcpu_b>;
operating-points-v2 = <&cpu_opp_table_0>;
--
2.34.1
2.35.1

View File

@@ -1,10 +1,10 @@
From dcaf2dc71dd62487eb37561682934414a5795e0e Mon Sep 17 00:00:00 2001
Message-Id: <dcaf2dc71dd62487eb37561682934414a5795e0e.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From fee88e0053de7878977913311bdb153494aa6c61 Mon Sep 17 00:00:00 2001
Message-Id: <fee88e0053de7878977913311bdb153494aa6c61.1646168061.git.stefan@agner.ch>
In-Reply-To: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
References: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
From: Hyeonki Hong <hhk7734@gmail.com>
Date: Fri, 27 Mar 2020 17:05:22 +0900
Subject: [PATCH 07/10] arm64: dts: meson: add uart_A node
Subject: [PATCH 4/7] arm64: dts: meson: add uart_A node
The UART_A is available through J3 pin 8/10 and documented to be
available as UART by default.
@@ -15,7 +15,7 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index dd345c6aa4b5..cec346178e3d 100644
index 5ca75696bd5c..738eb0339333 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -12,6 +12,7 @@
@@ -40,5 +40,5 @@ index dd345c6aa4b5..cec346178e3d 100644
status = "okay";
pinctrl-0 = <&uart_ao_a_pins>;
--
2.34.1
2.35.1

View File

@@ -1,10 +1,10 @@
From d5d2d8b9eb93eab85af12f1844975903a7c5a879 Mon Sep 17 00:00:00 2001
Message-Id: <d5d2d8b9eb93eab85af12f1844975903a7c5a879.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From 51ded393003a60d3932081114bff142c4c69b293 Mon Sep 17 00:00:00 2001
Message-Id: <51ded393003a60d3932081114bff142c4c69b293.1646168061.git.stefan@agner.ch>
In-Reply-To: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
References: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 29 Apr 2021 21:32:43 +0200
Subject: [PATCH 08/10] arm64: dts: meson: add i2c2 node to ODROID N2/N2+
Subject: [PATCH 5/7] arm64: dts: meson: add i2c2 node to ODROID N2/N2+
The J2 connectors pinout documents "I2C.SDA0/SCL0" on pin 3 and 5, which
are connected to GPIOX_17/18. This GPIO allow to mux I2C to the second
@@ -16,7 +16,7 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index cec346178e3d..f1c3356c78a0 100644
index 738eb0339333..2e9fefc20b19 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -586,6 +586,12 @@ &ir {
@@ -33,5 +33,5 @@ index cec346178e3d..f1c3356c78a0 100644
status = "okay";
pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
--
2.34.1
2.35.1

View File

@@ -0,0 +1,43 @@
From 0ad900b2d6e895b1f1788d51e471863743727d71 Mon Sep 17 00:00:00 2001
Message-Id: <0ad900b2d6e895b1f1788d51e471863743727d71.1646168061.git.stefan@agner.ch>
In-Reply-To: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
References: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
From: Hyeonki Hong <hhk7734@gmail.com>
Date: Tue, 1 Mar 2022 21:51:50 +0100
Subject: [PATCH 6/7] ODROID-C4: arm64/dts: add uart_A node
---
arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
index 76ad052fbf0c..690e4823a9d0 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
@@ -10,8 +10,9 @@
/ {
aliases {
- serial0 = &uart_AO;
ethernet0 = &ethmac;
+ serial0 = &uart_AO;
+ serial1 = &uart_A;
};
chosen {
@@ -436,6 +437,12 @@ &tohdmitx {
status = "okay";
};
+&uart_A {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart_a_pins>;
+};
+
&uart_AO {
status = "okay";
pinctrl-0 = <&uart_ao_a_pins>;
--
2.35.1

View File

@@ -1,29 +1,30 @@
From 400645dd70ae5a0efbbce35067c8674d380ed2a7 Mon Sep 17 00:00:00 2001
From 105003d49a505e0f0e033a6f3d945f745912c7b1 Mon Sep 17 00:00:00 2001
Message-Id: <105003d49a505e0f0e033a6f3d945f745912c7b1.1646168061.git.stefan@agner.ch>
In-Reply-To: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
References: <9f8390a715bc58e7423b65a18c4499761c84b819.1646168061.git.stefan@agner.ch>
From: Hyeonki Hong <hhk7734@gmail.com>
Date: Wed, 13 May 2020 10:37:28 +0900
Subject: [PATCH 21/74] ODROID-C4: arm64/dts: add i2c2, i2c3 node
Date: Tue, 1 Mar 2022 21:53:32 +0100
Subject: [PATCH 7/7] ODROID-C4: arm64/dts: add i2c2, i2c3 node
Change-Id: Id75f935111744ff6945791deefef20f897dc98ac
(cherry picked from commit 3f4b2ffd0905946175c478baa65361695e78e0de)
---
.../boot/dts/amlogic/meson-sm1-odroid-c4.dts | 53 +++++++++++++++++++
.../boot/dts/amlogic/meson-sm1-odroid.dtsi | 53 +++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
index 831053aa6dff..5988dc5f34d0 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
@@ -16,6 +16,8 @@ / {
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
index 690e4823a9d0..85637c1c846b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
@@ -11,6 +11,8 @@
/ {
aliases {
ethernet0 = &ethmac;
+ i2c0 = &i2c2;
+ i2c1 = &i2c3;
serial0 = &uart_AO;
serial1 = &uart_A;
spi0 = &spicc0;
@@ -434,6 +436,57 @@ &ir {
linux,rc-map-name = "rc-odroid";
};
@@ -373,6 +375,57 @@ &ir {
pinctrl-names = "default";
};
+&i2c2 {
@@ -81,5 +82,5 @@ index 831053aa6dff..5988dc5f34d0 100644
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
--
2.25.1
2.35.1

View File

@@ -1,52 +0,0 @@
From 19c34c0ceb6302b07e1017c426796c4cf7322d13 Mon Sep 17 00:00:00 2001
Message-Id: <19c34c0ceb6302b07e1017c426796c4cf7322d13.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 26 Jul 2021 16:59:08 +0200
Subject: [PATCH 09/10] Revert "of/fdt: Make sure no-map does not remove
already reserved regions"
U-Boot on Hardkernel ODROID-N2 adds fdt "memreserve" entries alongside
the reserved-memory nodes present in upstream Linux. This causes
reserving memory with the no-map flag to fail:
[ 0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'secmon@5000000': base 0x0000000005000000, size 3 MiB
This seems to cause kernel crashes such as:
[129988.642342] SError Interrupt on CPU4, code 0xbf000000 -- SError
Restore the bahavior of Linux kernel 5.9 and older and don't fail
updating the mapping with no-map.
This reverts commit 8a5a75e5e9e55de1cef5d83ca3589cb4899193ef.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/of/fdt.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 57ff31b6b1e4..7ef2246e0b1e 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1149,16 +1149,8 @@ int __init __weak early_init_dt_mark_hotplug_memory_arch(u64 base, u64 size)
int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
phys_addr_t size, bool nomap)
{
- if (nomap) {
- /*
- * If the memory is already reserved (by another region), we
- * should not allow it to be marked nomap.
- */
- if (memblock_is_region_reserved(base, size))
- return -EBUSY;
-
+ if (nomap)
return memblock_mark_nomap(base, size);
- }
return memblock_reserve(base, size);
}
--
2.34.1

View File

@@ -1,48 +0,0 @@
From be21685475a0739d44ca4c63fcb7f50b324593c9 Mon Sep 17 00:00:00 2001
Message-Id: <be21685475a0739d44ca4c63fcb7f50b324593c9.1642331593.git.stefan@agner.ch>
In-Reply-To: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
References: <c7825747afd8bb975dc918f28e4afe8058a518f3.1642331593.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Sun, 16 Jan 2022 12:12:29 +0100
Subject: [PATCH 10/10] Revert "drm: meson_drv add shutdown function"
This reverts commit d4ec1ffbdaa8939a208656e9c1440742c457ef16.
It seems that this patch actually breaks reboot on ODROID-N2+.
---
drivers/gpu/drm/meson/meson_drv.c | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
index 2753067c08e6..3d1de9cbb1c8 100644
--- a/drivers/gpu/drm/meson/meson_drv.c
+++ b/drivers/gpu/drm/meson/meson_drv.c
@@ -482,17 +482,6 @@ static int meson_probe_remote(struct platform_device *pdev,
return count;
}
-static void meson_drv_shutdown(struct platform_device *pdev)
-{
- struct meson_drm *priv = dev_get_drvdata(&pdev->dev);
-
- if (!priv)
- return;
-
- drm_kms_helper_poll_fini(priv->drm);
- drm_atomic_helper_shutdown(priv->drm);
-}
-
static int meson_drv_probe(struct platform_device *pdev)
{
struct component_match *match = NULL;
@@ -564,7 +553,6 @@ static const struct dev_pm_ops meson_drv_pm_ops = {
static struct platform_driver meson_drm_platform_driver = {
.probe = meson_drv_probe,
- .shutdown = meson_drv_shutdown,
.driver = {
.name = "meson-drm",
.of_match_table = dt_match,
--
2.34.1

View File

@@ -1,41 +0,0 @@
From ca89096189299862a7b2b3123d96fc8bfbe74ce3 Mon Sep 17 00:00:00 2001
From: Hyeonki Hong <hhk7734@gmail.com>
Date: Tue, 14 Apr 2020 14:15:25 +0900
Subject: [PATCH 13/74] ODROID-C4: arm64/dts: add uart_A node
Change-Id: Ib66a03da2fcf39fc459c20c9f98b1baca34dcf5b
---
arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
index 1b749bd340ce..e5d73598c131 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
@@ -14,8 +14,9 @@ / {
model = "Hardkernel ODROID-C4";
aliases {
- serial0 = &uart_AO;
ethernet0 = &ethmac;
+ serial0 = &uart_AO;
+ serial1 = &uart_A;
};
chosen {
@@ -385,6 +386,12 @@ &sd_emmc_c {
vqmmc-supply = <&flash_1v8>;
};
+&uart_A {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart_a_pins>;
+};
+
&uart_AO {
status = "okay";
pinctrl-0 = <&uart_ao_a_pins>;
--
2.25.1

View File

@@ -1,5 +1,5 @@
From ff82d04354784cd982ab1a912c08d3eb22f82d13 Mon Sep 17 00:00:00 2001
Message-Id: <ff82d04354784cd982ab1a912c08d3eb22f82d13.1632758701.git.stefan@agner.ch>
From 5d2feca5947f84259bae41730ce54231578b37be Mon Sep 17 00:00:00 2001
Message-Id: <5d2feca5947f84259bae41730ce54231578b37be.1645627508.git.stefan@agner.ch>
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Mon, 2 Sep 2019 15:42:04 +0200
Subject: [PATCH] HACK: mmc: meson-gx: limit to 24MHz
@@ -23,5 +23,5 @@ index fcf4f03d1e..6ded4b619b 100644
cfg->name = dev->name;
--
2.33.0
2.35.1

View File

@@ -1,10 +0,0 @@
CONFIG_MMU=y
CONFIG_MALLOC_SIZE=0x0
CONFIG_MALLOC_TLSF=y
CONFIG_DRIVER_SERIAL_EFI=y
CONFIG_DRIVER_SERIAL_EFI_STDIO=y
# CONFIG_SPI is not set
CONFIG_DISK=y
CONFIG_DISK_WRITE=y
CONFIG_FS_EFI=y
CONFIG_FS_EFIVARFS=y

View File

@@ -3,13 +3,22 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local EFIPART_DATA="${BINARIES_DIR}/efi-part"
mkdir -p "${BOOT_DATA}/EFI/BOOT"
mkdir -p "${BOOT_DATA}/EFI/barebox"
cp "${BINARIES_DIR}/barebox.bin" "${BOOT_DATA}/EFI/BOOT/BOOTx64.EFI"
cp "${BR2_EXTERNAL_HASSOS_PATH}/bootloader/barebox-state-efi.dtb" "${BOOT_DATA}/EFI/barebox/state.dtb"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
cp "${BOARD_DIR}/../grub.cfg" "${EFIPART_DATA}/EFI/BOOT/grub.cfg"
cp "${BOARD_DIR}/cmdline.txt" "${EFIPART_DATA}/cmdline.txt"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set ORDER="A B"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_TRY=0
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set ORDER="B A"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_TRY=0
cp -r "${EFIPART_DATA}/"* "${BOOT_DATA}/"
}

View File

@@ -4,8 +4,6 @@ CONFIG_SCSI_LOWLEVEL=y
CONFIG_USB_XHCI_HCD=y
CONFIG_BLK_DEV_NVME=y
# CONFIG_E1000E is not set
CONFIG_IGB=y
CONFIG_IGC=m
@@ -24,9 +22,21 @@ CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_BNXT=m
CONFIG_WLAN_VENDOR_INTEL=y
CONFIG_IWL4965=m
CONFIG_IWL3945=m
CONFIG_IWLWIFI=m
CONFIG_IWLMVM=m
CONFIG_SYSFB=y
CONFIG_SYSFB_SIMPLEFB=y
CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_DRM=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_DRM_I915=m
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y

View File

@@ -1,7 +1,7 @@
BOARD_ID=generic-x86-64
BOARD_NAME="Generic x86-64"
CHASSIS=embedded
BOOTLOADER=barebox
BOOTLOADER=grub
KERNEL_FILE=bzImage
BOOT_SYS=efi
BOOT_SPL=false

View File

@@ -0,0 +1,59 @@
set default=99
set timeout=1
set ORDER="A B"
set A_OK=0
set B_OK=0
set A_TRY=0
set B_TRY=0
set MACHINE_ID=""
load_env
# select bootable slot
for SLOT in $ORDER; do
if [ "$SLOT" == "A" ]; then
INDEX=0
OK=$A_OK
TRY=$A_TRY
A_TRY=1
fi
if [ "$SLOT" == "B" ]; then
INDEX=1
OK=$B_OK
TRY=$B_TRY
B_TRY=1
fi
if [ "$OK" -eq 1 -a "$TRY" -eq 0 ]; then
default=$INDEX
break
fi
done
# reset booted flags
if [ "$default" -eq 99 ]; then
if [ "$A_OK" -eq 1 -a "$A_TRY" -eq 1 ]; then
A_TRY=0
fi
if [ "$B_OK" -eq 1 -a "$B_TRY" -eq 1 ]; then
B_TRY=0
fi
default=0
fi
save_env A_TRY A_OK B_TRY B_OK ORDER MACHINE_ID
default_cmdline="rootwait zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=$MACHINE_ID cgroup_enable=memory fsck.repair=yes"
file_env -f ($root)/cmdline.txt cmdline
# root is a full HDD/partition definition in GRUB format like hd0,gpt1
# We extract the part before the comma to then append our own partition index
# at the end. This is hacky but the best way I found
regexp --set 1:boothd (.+),.+ ${root}
menuentry "Slot A (OK=$A_OK TRY=$A_TRY)" {
linux (${boothd},gpt2)/bzImage root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd $default_cmdline $cmdline rauc.slot=A
}
menuentry "Slot B (OK=$B_OK TRY=$B_TRY)" {
linux (${boothd},gpt4)/bzImage root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 $default_cmdline $cmdline rauc.slot=B
}

View File

@@ -3,13 +3,22 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local EFIPART_DATA="${BINARIES_DIR}/efi-part"
mkdir -p "${BOOT_DATA}/EFI/BOOT"
mkdir -p "${BOOT_DATA}/EFI/barebox"
cp "${BINARIES_DIR}/barebox.bin" "${BOOT_DATA}/EFI/BOOT/BOOTx64.EFI"
cp "${BR2_EXTERNAL_HASSOS_PATH}/bootloader/barebox-state-efi.dtb" "${BOOT_DATA}/EFI/barebox/state.dtb"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
cp "${BOARD_DIR}/../grub.cfg" "${EFIPART_DATA}/EFI/BOOT/grub.cfg"
cp "${BOARD_DIR}/cmdline.txt" "${EFIPART_DATA}/cmdline.txt"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set ORDER="A B"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_TRY=0
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set ORDER="B A"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_TRY=0
cp -r "${EFIPART_DATA}/"* "${BOOT_DATA}/"
}
@@ -17,7 +26,10 @@ function hassos_post_image() {
local hdd_img="$(hassos_image_name img)"
# Virtual Disk images
convert_disk_image_virtual
convert_disk_image_virtual vmdk
convert_disk_image_virtual vhdx
convert_disk_image_virtual vdi
convert_disk_image_virtual qcow2
convert_disk_image_zip vmdk
convert_disk_image_zip vhdx

View File

@@ -51,6 +51,16 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_SND_XEN_FRONTEND=y
CONFIG_XEN_PVCALLS_FRONTEND=m
CONFIG_XEN_WDT=y
CONFIG_SYSFB=y
CONFIG_SYSFB_SIMPLEFB=y
CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_DRM=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_DRM_XEN=y
CONFIG_HYPERVISOR_GUEST=y

View File

@@ -1,7 +1,7 @@
BOARD_ID=ova
BOARD_NAME="Open Virtual Appliance"
CHASSIS=vm
BOOTLOADER=barebox
BOOTLOADER=grub
KERNEL_FILE=bzImage
BOOT_SYS=efi
BOOT_SPL=false

View File

@@ -1,5 +1,5 @@
From 332c4f164ac60dcc65c315841d9c6f064ae316ec Mon Sep 17 00:00:00 2001
Message-Id: <332c4f164ac60dcc65c315841d9c6f064ae316ec.1639398304.git.stefan@agner.ch>
From d6be44a647dc6ae5ad2dcf44ff4a97030f1c498e Mon Sep 17 00:00:00 2001
Message-Id: <d6be44a647dc6ae5ad2dcf44ff4a97030f1c498e.1646056626.git.stefan@agner.ch>
From: Zachary Michaels <mikezackles@gmail.com>
Date: Thu, 7 Jan 2021 08:13:11 -0800
Subject: [PATCH] iwlwifi: Make missed beacon timeout configurable
@@ -19,10 +19,10 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
4 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
index be214f39f52b..4401b6b8484a 100644
index 524b0ad87357..a055674f14c6 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
@@ -1740,6 +1740,7 @@ struct iwl_mod_params iwlwifi_mod_params = {
@@ -1711,6 +1711,7 @@ struct iwl_mod_params iwlwifi_mod_params = {
.power_level = IWL_POWER_INDEX_1,
.uapsd_disable = IWL_DISABLE_UAPSD_BSS | IWL_DISABLE_UAPSD_P2P_CLIENT,
.enable_ini = true,
@@ -30,7 +30,7 @@ index be214f39f52b..4401b6b8484a 100644
/* the rest are 0 by default */
};
IWL_EXPORT_SYMBOL(iwlwifi_mod_params);
@@ -1857,6 +1858,9 @@ module_param_named(enable_ini, iwlwifi_mod_params.enable_ini,
@@ -1826,6 +1827,9 @@ module_param_named(enable_ini, iwlwifi_mod_params.enable_ini,
bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(enable_ini,
"Enable debug INI TLV FW debug infrastructure (default: true");
@@ -41,10 +41,10 @@ index be214f39f52b..4401b6b8484a 100644
/*
* set bt_coex_active to true, uCode will do kill/defer
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
index e8ce3a300857..801d12a27354 100644
index 004ebdac4535..198c5ac2575b 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
@@ -115,6 +115,7 @@ enum iwl_uapsd_disable {
@@ -62,6 +62,7 @@ enum iwl_uapsd_disable {
* @disable_11ac: disable VHT capabilities, default = false.
* @remove_when_gone: remove an inaccessible device from the PCIe bus.
* @enable_ini: enable new FW debug infratructure (INI TLVs)
@@ -52,7 +52,7 @@ index e8ce3a300857..801d12a27354 100644
*/
struct iwl_mod_params {
int swcrypto;
@@ -137,6 +138,7 @@ struct iwl_mod_params {
@@ -84,6 +85,7 @@ struct iwl_mod_params {
bool disable_11ax;
bool remove_when_gone;
bool enable_ini;
@@ -61,18 +61,18 @@ index e8ce3a300857..801d12a27354 100644
static inline bool iwl_enable_rx_ampdu(void)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
index 6a8bf9bb9c45..34dec6fc8f3e 100644
index fd352b2624a6..2f70a36b1af9 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
@@ -63,6 +63,7 @@
#include <linux/etherdevice.h>
@@ -8,6 +8,7 @@
#include <linux/crc32.h>
#include <net/mac80211.h>
#include "iwl-io.h"
+#include "iwl-modparams.h"
#include "iwl-prph.h"
#include "fw-api.h"
#include "mvm.h"
@@ -1430,7 +1431,7 @@ void iwl_mvm_rx_missed_beacons_notif(struct iwl_mvm *mvm,
@@ -1398,7 +1399,7 @@ void iwl_mvm_rx_missed_beacons_notif(struct iwl_mvm *mvm,
* TODO: the threshold should be adjusted based on latency conditions,
* and/or in case of a CS flow on one of the other AP vifs.
*/
@@ -82,10 +82,10 @@ index 6a8bf9bb9c45..34dec6fc8f3e 100644
else if (rx_missed_bcon_since_rx > IWL_MVM_MISSED_BEACONS_THRESHOLD)
ieee80211_beacon_loss(vif);
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
index 64f5a4cb3d3a..730638da8fd3 100644
index 46af8dd2dc93..bb05df29c88b 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
@@ -92,7 +92,6 @@
@@ -38,7 +38,6 @@
/* RSSI offset for WkP */
#define IWL_RSSI_OFFSET 50
#define IWL_MVM_MISSED_BEACONS_THRESHOLD 8
@@ -94,5 +94,5 @@ index 64f5a4cb3d3a..730638da8fd3 100644
/* A TimeUnit is 1024 microsecond */
#define MSEC_TO_TU(_msec) (_msec*1000/1024)
--
2.34.0
2.35.1

View File

@@ -1,36 +0,0 @@
From c9d56ea8fccf72e1c5d1f224f965e1a8e84d1b7f Mon Sep 17 00:00:00 2001
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Wed, 9 May 2018 21:54:58 +0200
Subject: [PATCH 1/1] add -i argument to barebox-state call
---
src/bootchooser.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/bootchooser.c b/src/bootchooser.c
index d5efc0c..c57c2f7 100644
--- a/src/bootchooser.c
+++ b/src/bootchooser.c
@@ -77,6 +77,9 @@ static gboolean barebox_state_get(const gchar* bootname, BareboxSlotState *bb_st
g_ptr_array_add(args, g_strdup_printf(BOOTSTATE_PREFIX ".%s.priority", bootname));
g_ptr_array_add(args, g_strdup("-g"));
g_ptr_array_add(args, g_strdup_printf(BOOTSTATE_PREFIX ".%s.remaining_attempts", bootname));
+
+ g_ptr_array_add(args, g_strdup("-i"));
+ g_ptr_array_add(args, g_strdup("/etc/barebox-state.dtb"));
g_ptr_array_add(args, NULL);
sub = g_subprocess_newv((const gchar * const *)args->pdata,
@@ -170,6 +173,9 @@ static gboolean barebox_state_set(GPtrArray *pairs, GError **error)
g_ptr_array_add(args, g_strdup("-s"));
g_ptr_array_add(args, g_strdup(pairs->pdata[i]));
}
+
+ g_ptr_array_add(args, g_strdup("-i"));
+ g_ptr_array_add(args, g_strdup("/etc/barebox-state.dtb"));
g_ptr_array_add(args, NULL);
sub = g_subprocess_newv((const gchar * const *)args->pdata,
--
2.7.4

View File

@@ -1,35 +0,0 @@
From 071423b3beab53facdc69b7c945f82a907825f80 Mon Sep 17 00:00:00 2001
Message-Id: <071423b3beab53facdc69b7c945f82a907825f80.1635895105.git.stefan@agner.ch>
In-Reply-To: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
References: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:48:48 +0100
Subject: [PATCH 4/7] ARM: dts: bcm2711: amber: Enable I2C6 by default
The main I2C bus used on Amber is I2C6. Enable it by default.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
index 4c2fe964eb72..a95c3f96044a 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
@@ -589,6 +589,12 @@ &i2c1 {
clock-frequency = <100000>;
};
+&i2c6 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6_pins>;
+ status = "okay";
+};
+
&i2s {
pinctrl-names = "default";
pinctrl-0 = <&i2s_pins>;
--
2.33.1

View File

@@ -1,35 +0,0 @@
From c9b6a336142c18892a1b617e8e1460ddd89a0991 Mon Sep 17 00:00:00 2001
Message-Id: <c9b6a336142c18892a1b617e8e1460ddd89a0991.1635895105.git.stefan@agner.ch>
In-Reply-To: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
References: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 28 Oct 2021 19:38:04 +0200
Subject: [PATCH 7/7] ARM: dts: bcm2711: amber: add user LED
Add yellow user LED.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
index a2cbb8510491..a80a50de399e 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
@@ -675,6 +675,12 @@ pwr_led: led-pwr {
linux,default-trigger = "default-on";
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
};
+
+ user_led: led-user {
+ label = "led2";
+ linux,default-trigger = "heartbeat";
+ gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
+ };
};
&pwm1 {
--
2.33.1

View File

@@ -1,8 +1,8 @@
From d7ec084799b394cc02395829dc97019c8834e944 Mon Sep 17 00:00:00 2001
Message-Id: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From 24b77460dbfa2497ceb7a1611bf28b6eb88a1d74 Mon Sep 17 00:00:00 2001
Message-Id: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Tue, 10 Dec 2019 09:48:46 +0000
Subject: [PATCH 01/10] rpi: Use CONFIG_OF_BOARD instead of CONFIG_EMBED
Subject: [PATCH 1/5] rpi: Use CONFIG_OF_BOARD instead of CONFIG_EMBED
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
---
@@ -14,10 +14,10 @@ Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
index d17e102052..e5cd7d4913 100644
index 6d76d12910..ebc2be002f 100644
--- a/configs/rpi_0_w_defconfig
+++ b/configs/rpi_0_w_defconfig
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_CMD_FS_UUID=y
@@ -27,10 +27,10 @@ index d17e102052..e5cd7d4913 100644
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
index 8b8affb777..8bda6e6aa9 100644
index 1931607132..164562cd57 100644
--- a/configs/rpi_2_defconfig
+++ b/configs/rpi_2_defconfig
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
@@ -19,7 +19,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_CMD_FS_UUID=y
@@ -40,10 +40,10 @@ index 8b8affb777..8bda6e6aa9 100644
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
index b867b7fa7b..370495c9e4 100644
index 060fd36da5..78448bbbfe 100644
--- a/configs/rpi_3_32b_defconfig
+++ b/configs/rpi_3_32b_defconfig
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
@@ -20,7 +20,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_CMD_FS_UUID=y
@@ -53,10 +53,10 @@ index b867b7fa7b..370495c9e4 100644
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
index 3cebd657da..bb0a7ebcd5 100644
index 8016fe1d55..b49dd9af98 100644
--- a/configs/rpi_3_defconfig
+++ b/configs/rpi_3_defconfig
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
@@ -19,7 +19,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_CMD_FS_UUID=y
@@ -66,10 +66,10 @@ index 3cebd657da..bb0a7ebcd5 100644
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
index af2189b8fe..f6517eb52a 100644
index 8acf04d0e4..5d5e700224 100644
--- a/configs/rpi_defconfig
+++ b/configs/rpi_defconfig
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_MMC=y
CONFIG_CMD_USB=y
CONFIG_CMD_FS_UUID=y
@@ -79,5 +79,5 @@ index af2189b8fe..f6517eb52a 100644
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
--
2.33.0
2.35.1

View File

@@ -1,10 +1,10 @@
From 3d471d3be58ccd899d29bf57ad669e7a51d0b47d Mon Sep 17 00:00:00 2001
Message-Id: <3d471d3be58ccd899d29bf57ad669e7a51d0b47d.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From c942eb452c1c31fe6259178b6e9fea5456d7fb9c Mon Sep 17 00:00:00 2001
Message-Id: <c942eb452c1c31fe6259178b6e9fea5456d7fb9c.1645627172.git.stefan@agner.ch>
In-Reply-To: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
References: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 27 Sep 2021 12:28:04 +0200
Subject: [PATCH 02/10] usb: xhci: reset endpoint on USB stall
Subject: [PATCH 2/5] usb: xhci: reset endpoint on USB stall
There are devices which cause a USB stall when trying to read strings.
Specifically Arduino Mega R3 stalls when trying to read the product
@@ -83,5 +83,5 @@ index 35bd5cd29e..430823cb9d 100644
/* Invalidate buffer to make it available to usb-core */
if (length > 0)
--
2.33.0
2.35.1

View File

@@ -1,10 +1,10 @@
From 698fc7c39fb3265ccb9cc7f3bb08432b76f3cdf5 Mon Sep 17 00:00:00 2001
Message-Id: <698fc7c39fb3265ccb9cc7f3bb08432b76f3cdf5.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From ae45864457182fcaa67911e1e3d8db242dff3646 Mon Sep 17 00:00:00 2001
Message-Id: <ae45864457182fcaa67911e1e3d8db242dff3646.1645627172.git.stefan@agner.ch>
In-Reply-To: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
References: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 29 Dec 2020 23:34:52 +0100
Subject: [PATCH 03/10] rpi: add NVMe to boot order
Subject: [PATCH 3/5] rpi: add NVMe to boot order
The Compute Module 4 I/O Board can support a NVMe. Add NVMe to the boot
order.
@@ -15,10 +15,10 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
1 file changed, 7 insertions(+)
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
index 522b41c02d..9b46203b5b 100644
index 4c5c1ac31f..e24c94c7d2 100644
--- a/include/configs/rpi.h
+++ b/include/configs/rpi.h
@@ -169,6 +169,12 @@
@@ -143,6 +143,12 @@
#define BOOT_TARGET_MMC(func)
#endif
@@ -31,7 +31,7 @@ index 522b41c02d..9b46203b5b 100644
#if CONFIG_IS_ENABLED(CMD_USB)
#define BOOT_TARGET_USB(func) func(USB, usb, 0)
#else
@@ -189,6 +195,7 @@
@@ -163,6 +169,7 @@
#define BOOT_TARGET_DEVICES(func) \
BOOT_TARGET_MMC(func) \
@@ -40,5 +40,5 @@ index 522b41c02d..9b46203b5b 100644
BOOT_TARGET_PXE(func) \
BOOT_TARGET_DHCP(func)
--
2.33.0
2.35.1

View File

@@ -1,10 +1,10 @@
From fdacde2c24e052938cbb54d15dabc541304d8f40 Mon Sep 17 00:00:00 2001
Message-Id: <fdacde2c24e052938cbb54d15dabc541304d8f40.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From 3a13ff4eb509e8e80a52ae45c9a5573e745803c3 Mon Sep 17 00:00:00 2001
Message-Id: <3a13ff4eb509e8e80a52ae45c9a5573e745803c3.1645627172.git.stefan@agner.ch>
In-Reply-To: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
References: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 23 Sep 2021 23:43:31 +0200
Subject: [PATCH 04/10] Revert "nvme: Correct the prps per page calculation
Subject: [PATCH 4/5] Revert "nvme: Correct the prps per page calculation
method"
This reverts commit 859b33c948945f7904f60a2c12a3792d356d51ad.
@@ -27,7 +27,7 @@ Cc: Wesley Sheng <wesleyshenggit@sina.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index f6465ea7f4..1ae3001a90 100644
index 3c529a2fce..3bda491e12 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -81,7 +81,7 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
@@ -40,5 +40,5 @@ index f6465ea7f4..1ae3001a90 100644
length -= (page_size - offset);
--
2.33.0
2.35.1

View File

@@ -1,51 +0,0 @@
From d7a7036c90d0f65c8345b9f75ac1e817c48c998f Mon Sep 17 00:00:00 2001
Message-Id: <d7a7036c90d0f65c8345b9f75ac1e817c48c998f.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 23 Sep 2021 23:52:44 +0200
Subject: [PATCH 05/10] nvme: improve readability of nvme_setup_prps()
Improve readability by introducing consts, reuse consts where
appropriate and adding variables with discriptive name.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/nvme/nvme.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index 1ae3001a90..677e66b1bb 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -76,12 +76,12 @@ static int nvme_wait_ready(struct nvme_dev *dev, bool enabled)
static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
int total_len, u64 dma_addr)
{
- u32 page_size = dev->page_size;
+ const u32 page_size = dev->page_size;
+ const u32 prps_per_page = (page_size >> 3) - 1;
int offset = dma_addr & (page_size - 1);
u64 *prp_pool;
int length = total_len;
int i, nprps;
- u32 prps_per_page = (page_size >> 3) - 1;
u32 num_pages;
length -= (page_size - offset);
@@ -119,9 +119,9 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
prp_pool = dev->prp_pool;
i = 0;
while (nprps) {
- if (i == ((page_size >> 3) - 1)) {
- *(prp_pool + i) = cpu_to_le64((ulong)prp_pool +
- page_size);
+ if (i == prps_per_page) {
+ u64 next_prp_list = (u64)prp_pool + page_size;
+ *(prp_pool + i) = cpu_to_le64(next_prp_list);
i = 0;
prp_pool += page_size;
}
--
2.33.0

View File

@@ -1,10 +1,10 @@
From 2b09a341c0e7e508565926c1b6f383bdd5259d8b Mon Sep 17 00:00:00 2001
Message-Id: <2b09a341c0e7e508565926c1b6f383bdd5259d8b.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From b00922ee48987ef91f0ca2aa3a66ad22c6c83d57 Mon Sep 17 00:00:00 2001
Message-Id: <b00922ee48987ef91f0ca2aa3a66ad22c6c83d57.1645627172.git.stefan@agner.ch>
In-Reply-To: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
References: <24b77460dbfa2497ceb7a1611bf28b6eb88a1d74.1645627172.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 7 Oct 2021 12:02:39 +0200
Subject: [PATCH 10/10] usb: xhci-brcm: Make driver compatible with downstream
Subject: [PATCH 5/5] usb: xhci-brcm: Make driver compatible with downstream
device tree
The downstream device tree uses just "generic-xhci" as compatible
@@ -29,5 +29,5 @@ index fe17924028..0c6938187b 100644
};
--
2.33.0
2.35.1

View File

@@ -1,263 +0,0 @@
From 27a4d59876323a0e13807ac3614b01700b8cfe83 Mon Sep 17 00:00:00 2001
Message-Id: <27a4d59876323a0e13807ac3614b01700b8cfe83.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 23 Sep 2021 23:58:35 +0200
Subject: [PATCH 06/10] nvme: Use pointer for CPU addressed buffers
Pass buffers which use CPU addressing as void pointers. This aligns with
DMA APIs which use void pointers as argument. It will avoid unnecessary
type casts when adding support bus address translations.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/nvme/nvme.c | 50 ++++++++++++++++++++--------------------
drivers/nvme/nvme_show.c | 4 ++--
include/nvme.h | 12 +++++-----
3 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index 677e66b1bb..4c4dc7cc4d 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -74,11 +74,11 @@ static int nvme_wait_ready(struct nvme_dev *dev, bool enabled)
}
static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
- int total_len, u64 dma_addr)
+ int total_len, void *buffer)
{
const u32 page_size = dev->page_size;
const u32 prps_per_page = (page_size >> 3) - 1;
- int offset = dma_addr & (page_size - 1);
+ int offset = (uintptr_t)buffer & (page_size - 1);
u64 *prp_pool;
int length = total_len;
int i, nprps;
@@ -92,10 +92,10 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
}
if (length)
- dma_addr += (page_size - offset);
+ buffer += (page_size - offset);
if (length <= page_size) {
- *prp2 = dma_addr;
+ *prp2 = (u64)buffer;
return 0;
}
@@ -125,11 +125,11 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
i = 0;
prp_pool += page_size;
}
- *(prp_pool + i++) = cpu_to_le64(dma_addr);
- dma_addr += page_size;
+ *(prp_pool + i++) = cpu_to_le64((u64)buffer);
+ buffer += page_size;
nprps--;
}
- *prp2 = (ulong)dev->prp_pool;
+ *prp2 = (u64)dev->prp_pool;
flush_dcache_range((ulong)dev->prp_pool, (ulong)dev->prp_pool +
dev->prp_entry_num * sizeof(u64));
@@ -450,42 +450,42 @@ static int nvme_alloc_sq(struct nvme_dev *dev, u16 qid,
}
int nvme_identify(struct nvme_dev *dev, unsigned nsid,
- unsigned cns, dma_addr_t dma_addr)
+ unsigned int cns, void *buffer)
{
struct nvme_command c;
u32 page_size = dev->page_size;
- int offset = dma_addr & (page_size - 1);
+ int offset = (uintptr_t)buffer & (page_size - 1);
int length = sizeof(struct nvme_id_ctrl);
int ret;
memset(&c, 0, sizeof(c));
c.identify.opcode = nvme_admin_identify;
c.identify.nsid = cpu_to_le32(nsid);
- c.identify.prp1 = cpu_to_le64(dma_addr);
+ c.identify.prp1 = cpu_to_le64((u64)buffer);
length -= (page_size - offset);
if (length <= 0) {
c.identify.prp2 = 0;
} else {
- dma_addr += (page_size - offset);
- c.identify.prp2 = cpu_to_le64(dma_addr);
+ buffer += (page_size - offset);
+ c.identify.prp2 = cpu_to_le64((u64)buffer);
}
c.identify.cns = cpu_to_le32(cns);
- invalidate_dcache_range(dma_addr,
- dma_addr + sizeof(struct nvme_id_ctrl));
+ invalidate_dcache_range((uintptr_t)buffer,
+ (uintptr_t)buffer + sizeof(struct nvme_id_ctrl));
ret = nvme_submit_admin_cmd(dev, &c, NULL);
if (!ret)
- invalidate_dcache_range(dma_addr,
- dma_addr + sizeof(struct nvme_id_ctrl));
+ invalidate_dcache_range((uintptr_t)buffer,
+ (uintptr_t)buffer + sizeof(struct nvme_id_ctrl));
return ret;
}
int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
- dma_addr_t dma_addr, u32 *result)
+ void *buffer, u32 *result)
{
struct nvme_command c;
int ret;
@@ -493,7 +493,7 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
memset(&c, 0, sizeof(c));
c.features.opcode = nvme_admin_get_features;
c.features.nsid = cpu_to_le32(nsid);
- c.features.prp1 = cpu_to_le64(dma_addr);
+ c.features.prp1 = cpu_to_le64((u64)buffer);
c.features.fid = cpu_to_le32(fid);
ret = nvme_submit_admin_cmd(dev, &c, result);
@@ -513,13 +513,13 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
}
int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11,
- dma_addr_t dma_addr, u32 *result)
+ void *buffer, u32 *result)
{
struct nvme_command c;
memset(&c, 0, sizeof(c));
c.features.opcode = nvme_admin_set_features;
- c.features.prp1 = cpu_to_le64(dma_addr);
+ c.features.prp1 = cpu_to_le64((u64)buffer);
c.features.fid = cpu_to_le32(fid);
c.features.dword11 = cpu_to_le32(dword11);
@@ -570,7 +570,7 @@ static int nvme_set_queue_count(struct nvme_dev *dev, int count)
u32 q_count = (count - 1) | ((count - 1) << 16);
status = nvme_set_features(dev, NVME_FEAT_NUM_QUEUES,
- q_count, 0, &result);
+ q_count, NULL, &result);
if (status < 0)
return status;
@@ -622,7 +622,7 @@ static int nvme_get_info_from_identify(struct nvme_dev *dev)
if (!ctrl)
return -ENOMEM;
- ret = nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl);
+ ret = nvme_identify(dev, 0, 1, ctrl);
if (ret) {
free(ctrl);
return -EIO;
@@ -708,7 +708,7 @@ static int nvme_blk_probe(struct udevice *udev)
ns->dev = ndev;
/* extract the namespace id from the block device name */
ns->ns_id = trailing_strtol(udev->name);
- if (nvme_identify(ndev, ns->ns_id, 0, (dma_addr_t)(long)id)) {
+ if (nvme_identify(ndev, ns->ns_id, 0, id)) {
free(id);
return -EIO;
}
@@ -770,7 +770,7 @@ static ulong nvme_blk_rw(struct udevice *udev, lbaint_t blknr,
}
if (nvme_setup_prps(dev, &prp2,
- lbas << ns->lba_shift, (ulong)buffer))
+ lbas << ns->lba_shift, buffer))
return -EIO;
c.rw.slba = cpu_to_le64(slba);
slba += lbas;
@@ -889,7 +889,7 @@ static int nvme_probe(struct udevice *udev)
char name[20];
memset(id, 0, sizeof(*id));
- if (nvme_identify(ndev, i, 0, (dma_addr_t)(long)id)) {
+ if (nvme_identify(ndev, i, 0, id)) {
ret = -EIO;
goto free_id;
}
diff --git a/drivers/nvme/nvme_show.c b/drivers/nvme/nvme_show.c
index 15e459da1a..c30adfada5 100644
--- a/drivers/nvme/nvme_show.c
+++ b/drivers/nvme/nvme_show.c
@@ -111,14 +111,14 @@ int nvme_print_info(struct udevice *udev)
ALLOC_CACHE_ALIGN_BUFFER(char, buf_ctrl, sizeof(struct nvme_id_ctrl));
struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf_ctrl;
- if (nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl))
+ if (nvme_identify(dev, 0, 1, ctrl))
return -EIO;
print_optional_admin_cmd(le16_to_cpu(ctrl->oacs), ns->devnum);
print_optional_nvm_cmd(le16_to_cpu(ctrl->oncs), ns->devnum);
print_format_nvme_attributes(ctrl->fna, ns->devnum);
- if (nvme_identify(dev, ns->ns_id, 0, (dma_addr_t)(long)id))
+ if (nvme_identify(dev, ns->ns_id, 0, id))
return -EIO;
print_formats(id, ns);
diff --git a/include/nvme.h b/include/nvme.h
index 2cdf8ce320..8ff823cd81 100644
--- a/include/nvme.h
+++ b/include/nvme.h
@@ -18,12 +18,12 @@ struct nvme_dev;
* @dev: NVMe controller device
* @nsid: 0 for controller, namespace id for namespace to identify
* @cns: 1 for controller, 0 for namespace
- * @dma_addr: dma buffer address to store the identify result
+ * @buffer: dma buffer address to store the identify result
* @return: 0 on success, -ETIMEDOUT on command execution timeout,
* -EIO on command execution fails
*/
int nvme_identify(struct nvme_dev *dev, unsigned nsid,
- unsigned cns, dma_addr_t dma_addr);
+ unsigned int cns, void *buffer);
/**
* nvme_get_features - retrieve the attributes of the feature specified
@@ -33,13 +33,13 @@ int nvme_identify(struct nvme_dev *dev, unsigned nsid,
* @dev: NVMe controller device
* @fid: feature id to provide data
* @nsid: namespace id the command applies to
- * @dma_addr: data structure used as part of the specified feature
+ * @buffer: data structure used as part of the specified feature
* @result: command-specific result in the completion queue entry
* @return: 0 on success, -ETIMEDOUT on command execution timeout,
* -EIO on command execution fails
*/
int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
- dma_addr_t dma_addr, u32 *result);
+ void *buffer, u32 *result);
/**
* nvme_set_features - specify the attributes of the feature indicated
@@ -49,13 +49,13 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
* @dev: NVMe controller device
* @fid: feature id to provide data
* @dword11: command-specific input parameter
- * @dma_addr: data structure used as part of the specified feature
+ * @buffer: data structure used as part of the specified feature
* @result: command-specific result in the completion queue entry
* @return: 0 on success, -ETIMEDOUT on command execution timeout,
* -EIO on command execution fails
*/
int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11,
- dma_addr_t dma_addr, u32 *result);
+ void *buffer, u32 *result);
/**
* nvme_scan_namespace - scan all namespaces attached to NVMe controllers
--
2.33.0

View File

@@ -1,201 +0,0 @@
From bdaf8f67fd33ae1d38011a2b6f9da4884ec11dd2 Mon Sep 17 00:00:00 2001
Message-Id: <bdaf8f67fd33ae1d38011a2b6f9da4884ec11dd2.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Fri, 24 Sep 2021 00:27:39 +0200
Subject: [PATCH 07/10] nvme: translate virtual addresses into the bus's
address space
So far we've been content with passing physical/CPU addresses when
configuring memory addresses into NVMe controllers, but not all
platforms have buses with transparent mappings. Specifically the
Raspberry Pi 4 might introduce an offset to memory accesses incoming
from its PCIe port.
Introduce nvme_virt_to_bus() and nvme_bus_to_virt() to cater with these
limitations, and make sure we don't break non DM users.
For devices where PCIe's view of host memory doesn't match the memory
as seen by the CPU.
A similar change has been introduced for XHCI controller with
commit 1a474559d90a ("xhci: translate virtual addresses into the bus's
address space").
Signed-off-by: Stefan Agner <stefan@agner.ch>
Series-to: bmeng.cn@gmail.com
Series-cc: u-boot@lists.denx.de, nsaenz@kernel.org, m.szyprowski@samsung.com, mbrugger@suse.com, s.nawrocki@samsung.com
Series-prefix: RFC
---
drivers/nvme/nvme.c | 32 ++++++++++++++++++--------------
drivers/nvme/nvme.h | 15 +++++++++++++++
2 files changed, 33 insertions(+), 14 deletions(-)
diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index 4c4dc7cc4d..0b7082d71b 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -95,7 +95,7 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
buffer += (page_size - offset);
if (length <= page_size) {
- *prp2 = (u64)buffer;
+ *prp2 = nvme_virt_to_bus(dev, buffer);
return 0;
}
@@ -120,16 +120,16 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2,
i = 0;
while (nprps) {
if (i == prps_per_page) {
- u64 next_prp_list = (u64)prp_pool + page_size;
- *(prp_pool + i) = cpu_to_le64(next_prp_list);
+ u64 next = nvme_virt_to_bus(dev, prp_pool + page_size);
+ *(prp_pool + i) = cpu_to_le64(next);
i = 0;
prp_pool += page_size;
}
- *(prp_pool + i++) = cpu_to_le64((u64)buffer);
+ *(prp_pool + i++) = cpu_to_le64(nvme_virt_to_bus(dev, buffer));
buffer += page_size;
nprps--;
}
- *prp2 = (u64)dev->prp_pool;
+ *prp2 = nvme_virt_to_bus(dev, dev->prp_pool);
flush_dcache_range((ulong)dev->prp_pool, (ulong)dev->prp_pool +
dev->prp_entry_num * sizeof(u64));
@@ -356,6 +356,7 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev)
int result;
u32 aqa;
u64 cap = dev->cap;
+ u64 dma_addr;
struct nvme_queue *nvmeq;
/* most architectures use 4KB as the page size */
unsigned page_shift = 12;
@@ -396,8 +397,10 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev)
dev->ctrl_config |= NVME_CC_IOSQES | NVME_CC_IOCQES;
writel(aqa, &dev->bar->aqa);
- nvme_writeq((ulong)nvmeq->sq_cmds, &dev->bar->asq);
- nvme_writeq((ulong)nvmeq->cqes, &dev->bar->acq);
+ dma_addr = nvme_virt_to_bus(dev, nvmeq->sq_cmds);
+ nvme_writeq(dma_addr, &dev->bar->asq);
+ dma_addr = nvme_virt_to_bus(dev, nvmeq->cqes);
+ nvme_writeq(dma_addr, &dev->bar->acq);
result = nvme_enable_ctrl(dev);
if (result)
@@ -423,7 +426,7 @@ static int nvme_alloc_cq(struct nvme_dev *dev, u16 qid,
memset(&c, 0, sizeof(c));
c.create_cq.opcode = nvme_admin_create_cq;
- c.create_cq.prp1 = cpu_to_le64((ulong)nvmeq->cqes);
+ c.create_cq.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, nvmeq->cqes));
c.create_cq.cqid = cpu_to_le16(qid);
c.create_cq.qsize = cpu_to_le16(nvmeq->q_depth - 1);
c.create_cq.cq_flags = cpu_to_le16(flags);
@@ -440,7 +443,7 @@ static int nvme_alloc_sq(struct nvme_dev *dev, u16 qid,
memset(&c, 0, sizeof(c));
c.create_sq.opcode = nvme_admin_create_sq;
- c.create_sq.prp1 = cpu_to_le64((ulong)nvmeq->sq_cmds);
+ c.create_sq.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, nvmeq->sq_cmds));
c.create_sq.sqid = cpu_to_le16(qid);
c.create_sq.qsize = cpu_to_le16(nvmeq->q_depth - 1);
c.create_sq.sq_flags = cpu_to_le16(flags);
@@ -461,14 +464,14 @@ int nvme_identify(struct nvme_dev *dev, unsigned nsid,
memset(&c, 0, sizeof(c));
c.identify.opcode = nvme_admin_identify;
c.identify.nsid = cpu_to_le32(nsid);
- c.identify.prp1 = cpu_to_le64((u64)buffer);
+ c.identify.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer));
length -= (page_size - offset);
if (length <= 0) {
c.identify.prp2 = 0;
} else {
buffer += (page_size - offset);
- c.identify.prp2 = cpu_to_le64((u64)buffer);
+ c.identify.prp2 = cpu_to_le64(nvme_virt_to_bus(dev, buffer));
}
c.identify.cns = cpu_to_le32(cns);
@@ -493,7 +496,7 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
memset(&c, 0, sizeof(c));
c.features.opcode = nvme_admin_get_features;
c.features.nsid = cpu_to_le32(nsid);
- c.features.prp1 = cpu_to_le64((u64)buffer);
+ c.features.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer));
c.features.fid = cpu_to_le32(fid);
ret = nvme_submit_admin_cmd(dev, &c, result);
@@ -519,7 +522,7 @@ int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11,
memset(&c, 0, sizeof(c));
c.features.opcode = nvme_admin_set_features;
- c.features.prp1 = cpu_to_le64((u64)buffer);
+ c.features.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer));
c.features.fid = cpu_to_le32(fid);
c.features.dword11 = cpu_to_le32(dword11);
@@ -775,7 +778,7 @@ static ulong nvme_blk_rw(struct udevice *udev, lbaint_t blknr,
c.rw.slba = cpu_to_le64(slba);
slba += lbas;
c.rw.length = cpu_to_le16(lbas - 1);
- c.rw.prp1 = cpu_to_le64((ulong)buffer);
+ c.rw.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer));
c.rw.prp2 = cpu_to_le64(prp2);
status = nvme_submit_sync_cmd(dev->queues[NVME_IO_Q],
&c, NULL, IO_TIMEOUT);
@@ -834,6 +837,7 @@ static int nvme_probe(struct udevice *udev)
struct nvme_id_ns *id;
ndev->instance = trailing_strtol(udev->name);
+ ndev->dev = udev->parent;
INIT_LIST_HEAD(&ndev->namespaces);
ndev->bar = dm_pci_map_bar(udev, PCI_BASE_ADDRESS_0,
diff --git a/drivers/nvme/nvme.h b/drivers/nvme/nvme.h
index c6aae4da5d..31e6899bca 100644
--- a/drivers/nvme/nvme.h
+++ b/drivers/nvme/nvme.h
@@ -7,8 +7,15 @@
#ifndef __DRIVER_NVME_H__
#define __DRIVER_NVME_H__
+#include <phys2bus.h>
#include <asm/io.h>
+#if CONFIG_IS_ENABLED(DM_USB)
+#define nvme_to_dev(_dev) _dev->dev
+#else
+#define nvme_to_dev(_dev) NULL
+#endif
+
struct nvme_id_power_state {
__le16 max_power; /* centiwatts */
__u8 rsvd2;
@@ -596,6 +603,9 @@ enum {
/* Represents an NVM Express device. Each nvme_dev is a PCI function. */
struct nvme_dev {
+#if CONFIG_IS_ENABLED(DM_USB)
+ struct udevice *dev;
+#endif
struct list_head node;
struct nvme_queue **queues;
u32 __iomem *dbs;
@@ -635,4 +645,9 @@ struct nvme_ns {
u8 flbas;
};
+static inline dma_addr_t nvme_virt_to_bus(struct nvme_dev *dev, void *addr)
+{
+ return dev_phys_to_bus(nvme_to_dev(dev), virt_to_phys(addr));
+}
+
#endif /* __DRIVER_NVME_H__ */
--
2.33.0

View File

@@ -1,57 +0,0 @@
From e55ccb4af869726b9579596ad37f3e7f33b5332d Mon Sep 17 00:00:00 2001
Message-Id: <e55ccb4af869726b9579596ad37f3e7f33b5332d.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 28 Sep 2021 00:52:51 +0200
Subject: [PATCH 08/10] nvme: invalidate correct memory range after read
The current code invalidates the range after the read buffer since the
buffer pointer gets incremented in the read loop. Use a temporary
pointer to make sure we have a pristine pointer to invalidate the
correct memory range after read.
Fixes: 704e040a51d2 ("nvme: Apply cache operations on the DMA buffers")
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/nvme/nvme.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index 0b7082d71b..dd190bd654 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -746,6 +746,7 @@ static ulong nvme_blk_rw(struct udevice *udev, lbaint_t blknr,
u64 prp2;
u64 total_len = blkcnt << desc->log2blksz;
u64 temp_len = total_len;
+ void *temp_buffer = buffer;
u64 slba = blknr;
u16 lbas = 1 << (dev->max_transfer_shift - ns->lba_shift);
@@ -773,19 +774,19 @@ static ulong nvme_blk_rw(struct udevice *udev, lbaint_t blknr,
}
if (nvme_setup_prps(dev, &prp2,
- lbas << ns->lba_shift, buffer))
+ lbas << ns->lba_shift, temp_buffer))
return -EIO;
c.rw.slba = cpu_to_le64(slba);
slba += lbas;
c.rw.length = cpu_to_le16(lbas - 1);
- c.rw.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer));
+ c.rw.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, temp_buffer));
c.rw.prp2 = cpu_to_le64(prp2);
status = nvme_submit_sync_cmd(dev->queues[NVME_IO_Q],
&c, NULL, IO_TIMEOUT);
if (status)
break;
temp_len -= (u32)lbas << ns->lba_shift;
- buffer += lbas << ns->lba_shift;
+ temp_buffer += lbas << ns->lba_shift;
}
if (read)
--
2.33.0

View File

@@ -1,32 +0,0 @@
From 6fc60c237cedf06cb5a1db087e2408a528870e3f Mon Sep 17 00:00:00 2001
Message-Id: <6fc60c237cedf06cb5a1db087e2408a528870e3f.1633447374.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633447374.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633447374.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 5 Oct 2021 17:07:22 +0200
Subject: [PATCH 9/9] drivers: usb: host: Include header file needed for
dev_err
dev_err seems to be moved to different header file. Include
dm/device_compat.h file to compile properly.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/usb/host/xhci-brcm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/host/xhci-brcm.c b/drivers/usb/host/xhci-brcm.c
index 27c4bbfcba..ee3b55242e 100644
--- a/drivers/usb/host/xhci-brcm.c
+++ b/drivers/usb/host/xhci-brcm.c
@@ -5,6 +5,7 @@
#include <common.h>
#include <dm.h>
+#include <dm/device_compat.h>
#include <fdtdec.h>
#include <usb.h>
#include <asm/io.h>
--
2.33.0

View File

@@ -1,32 +0,0 @@
From dedd65ecd36cee5610022bbab4a8bf92c2401df9 Mon Sep 17 00:00:00 2001
Message-Id: <dedd65ecd36cee5610022bbab4a8bf92c2401df9.1633601057.git.stefan@agner.ch>
In-Reply-To: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
References: <d7ec084799b394cc02395829dc97019c8834e944.1633601057.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 5 Oct 2021 17:07:22 +0200
Subject: [PATCH 09/10] usb: xhci-brcm: Include header file needed for dev_err
dev_err seems to be moved to different header file. Include
dm/device_compat.h file to compile properly.
Fixes: 69dae8902b16 ("linux/compat.h: Remove redefinition of dev_xxx macros")
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/usb/host/xhci-brcm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/host/xhci-brcm.c b/drivers/usb/host/xhci-brcm.c
index 27c4bbfcba..fe17924028 100644
--- a/drivers/usb/host/xhci-brcm.c
+++ b/drivers/usb/host/xhci-brcm.c
@@ -8,6 +8,7 @@
#include <fdtdec.h>
#include <usb.h>
#include <asm/io.h>
+#include <dm/device_compat.h>
#include <usb/xhci.h>
#define DRD2U3H_XHC_REGS_AXIWRA 0xC08
--
2.33.0

View File

@@ -72,6 +72,5 @@ dtparam=audio=on
[all]
#dtoverlay=vc4-fkms-v3d
#max_framebuffers=2
device_tree=bcm2711-rpi-cm4-ha-amber.dtb
dtoverlay=dwc2,dr_mode=host
device_tree=bcm2711-rpi-cm4-ha-yellow.dtb

View File

@@ -1,5 +1,5 @@
BOARD_ID=amber
BOARD_NAME="Amber"
BOARD_ID=yellow
BOARD_NAME="Yellow"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image

View File

@@ -1,42 +1,42 @@
From fa42d0ece205b3c2a8a06dac3e4436400cf59978 Mon Sep 17 00:00:00 2001
Message-Id: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
From 017d6caf5d4e0b0963109633e191f49d7814165e Mon Sep 17 00:00:00 2001
Message-Id: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Wed, 3 Nov 2021 00:00:45 +0100
Subject: [PATCH 1/7] ARM: dts: bcm2711: Add device tree for Home Assistant
Amber
Subject: [PATCH 1/9] ARM: dts: bcm2711: Add device tree for Home Assistant
Yellow
Add device tree for Home Assistant Amber, a Compute Module 4 based I/O
Add device tree for Home Assistant Yellow, a Compute Module 4 based I/O
board.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/Makefile | 3 +-
.../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 659 ++++++++++++++++++
.../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 659 ++++++++++++++++++
arch/arm64/boot/dts/broadcom/Makefile | 1 +
.../dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts | 1 +
.../broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 1 +
4 files changed, 663 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts
create mode 100644 arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 12cd8bf582e1..4fa8c7be516a 100644
index 6bcb35ad76ac..40d9f4433cef 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -14,7 +14,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2711-rpi-4-b.dtb \
@@ -17,7 +17,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2711-rpi-400.dtb \
bcm2710-rpi-cm3.dtb \
- bcm2711-rpi-cm4.dtb
+ bcm2711-rpi-cm4.dtb \
+ bcm2711-rpi-cm4-ha-amber.dtb
bcm2711-rpi-cm4.dtb \
- bcm2711-rpi-cm4s.dtb
+ bcm2711-rpi-cm4s.dtb \
+ bcm2711-rpi-cm4-ha-yellow.dtb
dtb-$(CONFIG_ARCH_ALPINE) += \
alpine-db.dtb
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
new file mode 100644
index 000000000000..855da2b029a4
index 000000000000..9e7a66e70197
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -0,0 +1,659 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
@@ -46,8 +46,8 @@ index 000000000000..855da2b029a4
+#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
+
+/ {
+ compatible = "raspberrypi,4-compute-module-ha-amber", "brcm,bcm2711";
+ model = "Raspberry Pi Compute Module 4 on Home Assistant Amber";
+ compatible = "raspberrypi,4-compute-module-ha-yellow", "brcm,bcm2711";
+ model = "Raspberry Pi Compute Module 4 on Home Assistant Yellow";
+
+ chosen {
+ /* 8250 auxiliary UART instead of pl011 */
@@ -326,15 +326,16 @@ index 000000000000..855da2b029a4
+};
+
+&pcie0 {
+ pci@1,0 {
+ pci@0,0 {
+ device_type = "pci";
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+
+ reg = <0 0 0 0 0>;
+
+ usb@1,0 {
+ reg = <0x10000 0 0 0 0>;
+ usb@0,0 {
+ reg = <0 0 0 0 0>;
+ resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
+ };
+ };
@@ -392,7 +393,6 @@ index 000000000000..855da2b029a4
+#include "bcm283x-rpi-csi0-2lane.dtsi"
+#include "bcm283x-rpi-csi1-4lane.dtsi"
+#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
+#include "bcm283x-rpi-cam1-regulator.dtsi"
+
+/ {
+ chosen {
@@ -698,24 +698,24 @@ index 000000000000..855da2b029a4
+ };
+};
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
index 69809bf2f45d..aef509d06d14 100644
index e7c2c4fd59a8..6fa5993dd993 100644
--- a/arch/arm64/boot/dts/broadcom/Makefile
+++ b/arch/arm64/boot/dts/broadcom/Makefile
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-4-b.dtb
@@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-4-b.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4-ha-amber.dtb
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4-ha-yellow.dtb
subdir-y += northstar2
subdir-y += stingray
diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts
diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
new file mode 100644
index 000000000000..728975338bf0
index 000000000000..fdc5ec5bc956
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -0,0 +1 @@
+#include "../../../../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts"
+#include "../../../../arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts"
--
2.33.1
2.35.1

View File

@@ -1,23 +1,23 @@
From 60125e49aff88c430ebc6b8702aaf3867f529b75 Mon Sep 17 00:00:00 2001
Message-Id: <60125e49aff88c430ebc6b8702aaf3867f529b75.1635895105.git.stefan@agner.ch>
In-Reply-To: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
References: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
From f2a63a3b9c1b18a5917973fc57be353118905a66 Mon Sep 17 00:00:00 2001
Message-Id: <f2a63a3b9c1b18a5917973fc57be353118905a66.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:33:09 +0100
Subject: [PATCH 2/7] ARM: dts: bcm2711: amber: Mux UART4 for SiLabs radio
Subject: [PATCH 2/9] ARM: dts: bcm2711: yellow: Mux UART4 for SiLabs radio
module
Enable UART4 by default and mux pins including hardware flow control.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 13 +++++++++++--
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
index 855da2b029a4..ba4116cdffc4 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index 9e7a66e70197..8aee09ac48d7 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -21,6 +21,7 @@ memory@0 {
};
@@ -26,7 +26,7 @@ index 855da2b029a4..ba4116cdffc4 100644
emmc2bus = &emmc2bus;
ethernet0 = &genet;
pcie0 = &pcie0;
@@ -321,6 +322,14 @@ &uart1 {
@@ -322,6 +323,14 @@ &uart1 {
status = "okay";
};
@@ -54,5 +54,5 @@ index 855da2b029a4..ba4116cdffc4 100644
uart5_pins: uart5_pins {
--
2.33.1
2.35.1

View File

@@ -1,20 +1,20 @@
From 1e395219026ad0575483aecc9d49992099e73e8b Mon Sep 17 00:00:00 2001
Message-Id: <1e395219026ad0575483aecc9d49992099e73e8b.1635895105.git.stefan@agner.ch>
In-Reply-To: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
References: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
From 7eb79cbd146225ecf2b205d5b5eef16f87a2aebc Mon Sep 17 00:00:00 2001
Message-Id: <7eb79cbd146225ecf2b205d5b5eef16f87a2aebc.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:44:23 +0100
Subject: [PATCH 3/7] ARM: dts: bcm2711: amber: Mux debug UART5
Subject: [PATCH 3/9] ARM: dts: bcm2711: yellow: Mux debug UART5
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 9 +++++++++
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
index ba4116cdffc4..4c2fe964eb72 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index 8aee09ac48d7..7755b1ae48b6 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -22,6 +22,7 @@ memory@0 {
aliases {
@@ -23,7 +23,7 @@ index ba4116cdffc4..4c2fe964eb72 100644
emmc2bus = &emmc2bus;
ethernet0 = &genet;
pcie0 = &pcie0;
@@ -330,6 +331,13 @@ &uart4 {
@@ -331,6 +332,13 @@ &uart4 {
status = "okay";
};
@@ -46,5 +46,5 @@ index ba4116cdffc4..4c2fe964eb72 100644
aliases {
--
2.33.1
2.35.1

View File

@@ -0,0 +1,35 @@
From 1efbeac97f7308aedddfbfdb3fee291b2015b585 Mon Sep 17 00:00:00 2001
Message-Id: <1efbeac97f7308aedddfbfdb3fee291b2015b585.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:48:48 +0100
Subject: [PATCH 4/9] ARM: dts: bcm2711: yellow: Enable I2C6 by default
The main I2C bus used on Yellow is I2C6. Enable it by default.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index 7755b1ae48b6..0f2e7e7dad3e 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -589,6 +589,12 @@ &i2c1 {
clock-frequency = <100000>;
};
+&i2c6 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6_pins>;
+ status = "okay";
+};
+
&i2s {
pinctrl-names = "default";
pinctrl-0 = <&i2s_pins>;
--
2.35.1

View File

@@ -1,22 +1,22 @@
From 3fa8a55b7fd515f0ffe8b000be23080003ed5ac4 Mon Sep 17 00:00:00 2001
Message-Id: <3fa8a55b7fd515f0ffe8b000be23080003ed5ac4.1635895105.git.stefan@agner.ch>
In-Reply-To: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
References: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
From 7db679e610a520eb57c659a3d0366224146f16e4 Mon Sep 17 00:00:00 2001
Message-Id: <7db679e610a520eb57c659a3d0366224146f16e4.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 17:19:01 +0100
Subject: [PATCH 5/7] ARM: dts: bcm2711: amber: add I2S audio codec
Subject: [PATCH 5/9] ARM: dts: bcm2711: yellow: add I2S audio codec
Add TI PCM5122 I2S audio codec.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
.../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 26 +++++++++++++++++++
.../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
index a95c3f96044a..637ce01618d8 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index 0f2e7e7dad3e..67c7d86ecca2 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -593,11 +593,22 @@ &i2c6 {
pinctrl-names = "default";
pinctrl-0 = <&i2c6_pins>;
@@ -63,5 +63,5 @@ index a95c3f96044a..637ce01618d8 100644
pinctrl-names = "default";
pinctrl-0 = <&audio_pins>;
--
2.33.1
2.35.1

View File

@@ -1,20 +1,20 @@
From 7e2f95935408ec5b1d7a2b63daaef7fdb01d642c Mon Sep 17 00:00:00 2001
Message-Id: <7e2f95935408ec5b1d7a2b63daaef7fdb01d642c.1635895105.git.stefan@agner.ch>
In-Reply-To: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
References: <fa42d0ece205b3c2a8a06dac3e4436400cf59978.1635895105.git.stefan@agner.ch>
From cc494d2e43c40c2673abc8a4fd6599ec1796eafb Mon Sep 17 00:00:00 2001
Message-Id: <cc494d2e43c40c2673abc8a4fd6599ec1796eafb.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 9 Mar 2021 15:02:53 +0100
Subject: [PATCH 6/7] ARM: dts: bcm2711: amber: enable GPIO keys
Subject: [PATCH 6/9] ARM: dts: bcm2711: yellow: enable GPIO keys
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
.../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 30 +++++++++++++++++++
.../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
index 637ce01618d8..a2cbb8510491 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index 67c7d86ecca2..5dc5f0c81e62 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -2,6 +2,7 @@
/dts-v1/;
#include "bcm2711.dtsi"
@@ -67,5 +67,5 @@ index 637ce01618d8..a2cbb8510491 100644
brcm,pins = <9 10 11>;
brcm,function = <BCM2835_FSEL_ALT0>;
--
2.33.1
2.35.1

View File

@@ -0,0 +1,43 @@
From 3e3fca9f4dd8e91d929893664213b6dcc571dc16 Mon Sep 17 00:00:00 2001
Message-Id: <3e3fca9f4dd8e91d929893664213b6dcc571dc16.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 28 Oct 2021 19:38:04 +0200
Subject: [PATCH 7/9] ARM: dts: bcm2711: yellow: add user LED
Add yellow user LED.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index 5dc5f0c81e62..1a1ebdd54b39 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -393,7 +393,6 @@ soc {
#include "bcm2711-rpi.dtsi"
#include "bcm283x-rpi-csi0-2lane.dtsi"
#include "bcm283x-rpi-csi1-4lane.dtsi"
-#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
/ {
chosen {
@@ -675,6 +674,12 @@ pwr_led: led-pwr {
linux,default-trigger = "default-on";
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
};
+
+ user_led: led-user {
+ label = "led2";
+ linux,default-trigger = "heartbeat";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ };
};
&pwm1 {
--
2.35.1

View File

@@ -0,0 +1,32 @@
From 2aaa4d5dd580848cb73881182903868c6aa7e35c Mon Sep 17 00:00:00 2001
Message-Id: <2aaa4d5dd580848cb73881182903868c6aa7e35c.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Fri, 12 Nov 2021 17:33:32 +0100
Subject: [PATCH 8/9] ARM: dts: bcm2711: yellow: add NXP PCF85063A RTC
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index 1a1ebdd54b39..d33be3e96b8a 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -632,6 +632,11 @@ card_codec: pcm5121@4c {
CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
+
+ pcf85063a: rtc@51 {
+ compatible = "nxp,pcf85063a";
+ reg = <0x51>;
+ };
};
&i2s {
--
2.35.1

View File

@@ -0,0 +1,40 @@
From c65c727a631864a9ea486f41437f3392cbb1885e Mon Sep 17 00:00:00 2001
Message-Id: <c65c727a631864a9ea486f41437f3392cbb1885e.1648505253.git.stefan@agner.ch>
In-Reply-To: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
References: <017d6caf5d4e0b0963109633e191f49d7814165e.1648505253.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Fri, 7 Jan 2022 17:10:00 +0100
Subject: [PATCH 9/9] ARM: dts: bcm2711: yellow: enable USB host mode by
default
The DWC2 controller is disable by default. Enable it since Home
Assistant Yellow has a USB hub and USB ports connected to it.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index d33be3e96b8a..d81f2f1d4b43 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -656,6 +656,15 @@ &sdhost {
status = "disabled";
};
+&usb {
+ compatible = "brcm,bcm2835-usb";
+ dr_mode = "host";
+ g-np-tx-fifo-size = <32>;
+ g-rx-fifo-size = <558>;
+ g-tx-fifo-size = <512 512 512 512 512 256 256>;
+ status = "okay";
+};
+
&phy1 {
led-modes = <0x00 0x08>; /* link/activity link */
};
--
2.35.1

View File

@@ -1,76 +0,0 @@
/dts-v1/;
/ {
aliases {
state = &state;
};
state: state {
#address-cells = <1>;
#size-cells = <1>;
magic = <0xef98423f>;
compatible = "barebox,state";
backend = <&backend_state>;
backend-type = "raw";
backend-stridesize = <4048>;
bootstate {
#address-cells = <1>;
#size-cells = <1>;
A {
#address-cells = <1>;
#size-cells = <1>;
remaining_attempts@0 {
reg = <0x0 0x4>;
type = "uint32";
default = <3>;
};
priority@4 {
reg = <0x4 0x4>;
type = "uint32";
default = <20>;
};
};
B {
#address-cells = <1>;
#size-cells = <1>;
remaining_attempts@8 {
reg = <0x8 0x4>;
type = "uint32";
default = <0>;
};
priority@c {
reg = <0xc 0x4>;
type = "uint32";
default = <10>;
};
};
last_chosen@10 {
reg = <0x10 0x4>;
type = "uint32";
};
};
machine_id@14 {
reg = <0x14 0x24>;
type = "string";
default = "";
};
};
partitions {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fixed-partitions";
backend_state: state {
partuuid = "33236519-7f32-4dff-8002-3390b62c309d";
};
};
};

View File

@@ -1,54 +0,0 @@
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_CMD_VERSION is not set
# CONFIG_TIMESTAMP is not set
CONFIG_PROMPT="HAOS-boot:"
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MENU=y
CONFIG_BOOTM_SHOW_TYPE=y
CONFIG_BOOTM_OFTREE=y
CONFIG_FLEXIBLE_BOOTARGS=y
CONFIG_DEFAULT_COMPRESSION_LZ4=y
# CONFIG_PARTITION_DISK_DOS is not set
CONFIG_PARTITION_DISK_EFI=y
# CONFIG_PARTITION_DISK_EFI_GPT_NO_FORCE is not set
# CONFIG_PARTITION_DISK_EFI_GPT_COMPARE is not set
CONFIG_STATE=y
CONFIG_STATE_DRV=y
CONFIG_BOOTCHOOSER=y
CONFIG_RESET_SOURCE=y
CONFIG_CMD_BOOT=y
CONFIG_CMD_RESET=y
CONFIG_CMD_BOOTCHOOSER=y
CONFIG_CMD_NV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_GLOBAL=y
CONFIG_CMD_BASENAME=y
CONFIG_CMD_DIRNAME=y
CONFIG_CMD_READLINK=y
CONFIG_CMD_GETOPT=y
CONFIG_CMD_READF=y
CONFIG_CMD_ECHO_E=y
CONFIG_CMD_EDIT=y
CONFIG_CMD_MENUTREE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_OFTREE=y
CONFIG_CMD_STATE=y
CONFIG_OFTREE=y
CONFIG_OFTREE_OVERLAY=y
CONFIG_DISK=y
CONFIG_DISK_WRITE=y
CONFIG_FS_EXT4=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y
CONFIG_FS_SQUASHFS=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_LZO_DECOMPRESS=y

View File

@@ -1,18 +0,0 @@
#!/bin/sh
export PATH=/env/bin
# Autostart
for i in /env/init/*; do
. $i
done
echo "- Hit m for menu or wait for autoboot -"
timeout -a 1 -s -v key
# Run menu
if [ "${key}" != "m" ]; then
boot
fi
menutree

View File

@@ -1,8 +0,0 @@
#!/bin/sh
global linux.bootargs.dyn.root="root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
mkdir -p /mnt/system
mount /dev/*disk*.hassos-kernel0 /mnt/system
global bootm.image="/mnt/system/bzImage"

View File

@@ -1,8 +0,0 @@
#!/bin/sh
global linux.bootargs.dyn.root="root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro"
mkdir -p /mnt/system
mount /dev/*disk*.hassos-kernel1 /mnt/system
global bootm.image="/mnt/system/bzImage"

View File

@@ -1,9 +0,0 @@
#!/bin/sh
global bootchooser.targets
global bootchooser.system0.boot
global bootchooser.system1.boot
[ -z "${global.bootchooser.targets}" ] && global.bootchooser.targets="system0 system1"
[ -z "${global.bootchooser.system0.boot}" ] && global.bootchooser.system0.boot="system0"
[ -z "${global.bootchooser.system1.boot}" ] && global.bootchooser.system1.boot="system1"

View File

@@ -1,6 +0,0 @@
#!/bin/sh
global linux.bootargs.base=""
if [ -f /boot/cmdline.txt ]; then
readf /boot/cmdline.txt global.linux.bootargs.base
fi

View File

@@ -1,6 +0,0 @@
#!/bin/sh
global linux.bootargs.zram="zram.enabled=1 zram.num_devices=3"
global linux.bootargs.apparmor="apparmor=1 security=apparmor"
global linux.bootargs.misc="rootwait"
global linux.bootargs.systemd="systemd.machine_id=${state.machine_id}"

View File

@@ -1,3 +0,0 @@
#!/bin/sh
boot

View File

@@ -1,5 +0,0 @@
#!/bin/sh
global linux.bootargs.bootchooser="bootchooser.active=A"
boot system0

View File

@@ -1 +0,0 @@
Boot System 0

View File

@@ -1,5 +0,0 @@
#!/bin/sh
global linux.bootargs.bootchooser="bootchooser.active=B"
boot system1

View File

@@ -1 +0,0 @@
Boot System 1

View File

@@ -1,5 +0,0 @@
#!/bin/sh
echo "Enter 'exit' to get back to the menu"
sh

View File

@@ -1 +0,0 @@
Home Assistant OS boot menu:

View File

@@ -1 +0,0 @@
bootchooser

View File

@@ -1 +0,0 @@
state.bootstate

View File

@@ -1 +0,0 @@
sedit

View File

@@ -0,0 +1,147 @@
# Architecture
BR2_aarch64=y
BR2_ARM_FPU_FP_ARMV8=y
# Misc
BR2_SYSTEM_DHCP="eth0"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh"
# Needed for grub2
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_DL_DIR="/cache/dl"
BR2_CCACHE=y
BR2_CCACHE_DIR="/cache/cc"
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/patches"
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_GCC_VERSION_9_X=y
BR2_OPTIMIZE_2=y
BR2_SSP_REGULAR=y
BR2_SSP_OPTION="-fstack-protector"
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_BINUTILS_ENABLE_LTO=y
BR2_GCC_ENABLE_LTO=y
BR2_TARGET_GENERIC_HOSTNAME="homeassistant"
BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant"
BR2_INIT_SYSTEMD=y
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_HASSOS_PATH)/rootfs-overlay"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.32"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_USE_DEFCONFIG=n
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config"
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y
BR2_PACKAGE_PROCPS_NG=y
BR2_PACKAGE_JQ=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
BR2_PACKAGE_SQUASHFS=y
BR2_PACKAGE_OS_AGENT=y
BR2_PACKAGE_UDISKS2=y
# BR2_PACKAGE_LVM2_STANDARD_INSTALL is not set
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_BNX2=y
BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3945=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_4965=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_I915=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
BR2_PACKAGE_LINUX_FIRMWARE_USB_NIC_RTL_815X=y
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
BR2_PACKAGE_GPTFDISK=y
BR2_PACKAGE_GPTFDISK_SGDISK=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_TINI=y
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_OPENVMTOOLS=y
BR2_PACKAGE_RAUC=y
BR2_PACKAGE_RAUC_NETWORK=y
BR2_PACKAGE_RAUC_DBUS=y
BR2_PACKAGE_RNG_TOOLS=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y
BR2_PACKAGE_UTIL_LINUX_LOGIN=y
BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y
BR2_PACKAGE_UTIL_LINUX_SULOGIN=y
BR2_PACKAGE_USB_MODESWITCH=y
BR2_PACKAGE_USB_MODESWITCH_DATA=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GPTFDISK=y
BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HOST_TEMPIO=y
BR2_PACKAGE_HASSIO=y
BR2_PACKAGE_HASSIO_ARCH="aarch64"
BR2_PACKAGE_HASSIO_MACHINE="qemuarm-64"
BR2_PACKAGE_APPARMOR=y
BR2_PACKAGE_APPARMOR_PROFILES=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
BR2_PACKAGE_RPI_RF_MOD=y
# Bootloader
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_ARM64_EFI=y
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop regexp loadenv echo cat test configfile"
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
# Filesystem image
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y
# BR2_TARGET_ROOTFS_TAR is not set

View File

@@ -21,13 +21,13 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.91"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.32"
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config"
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y
BR2_PACKAGE_PROCPS_NG=y
@@ -39,10 +39,14 @@ BR2_PACKAGE_OS_AGENT=y
BR2_PACKAGE_UDISKS2=y
# BR2_PACKAGE_LVM2_STANDARD_INSTALL is not set
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_BNX2=y
BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3945=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_4965=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y
@@ -59,9 +63,9 @@ BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
BR2_PACKAGE_LINUX_FIRMWARE_USB_NIC_RTL_815X=y
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
BR2_PACKAGE_DT_UTILS=y
BR2_PACKAGE_GPTFDISK=y
BR2_PACKAGE_GPTFDISK_SGDISK=y
BR2_PACKAGE_CA_CERTIFICATES=y
@@ -78,12 +82,15 @@ BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_TINI=y
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_OPENVMTOOLS=y
BR2_PACKAGE_RAUC=y
BR2_PACKAGE_RAUC_NETWORK=y
BR2_PACKAGE_RAUC_DBUS=y
BR2_PACKAGE_RNG_TOOLS=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
@@ -102,25 +109,26 @@ BR2_PACKAGE_USB_MODESWITCH_DATA=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_BAREBOX=y
BR2_TARGET_BAREBOX_CUSTOM_VERSION=y
BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE="2021.05.0"
BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG=y
BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/barebox.config"
BR2_TARGET_BAREBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/barebox.config"
BR2_TARGET_BAREBOX_CUSTOM_EMBEDDED_ENV_PATH="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/barebox"
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GPTFDISK=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HOST_TEMPIO=y
BR2_PACKAGE_HASSIO=y
BR2_PACKAGE_HASSIO_ARCH="amd64"
BR2_PACKAGE_HASSIO_MACHINE="generic-x86-64"
BR2_PACKAGE_APPARMOR=y
BR2_PACKAGE_APPARMOR_PROFILES=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_INTEL_E1000E=y
BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
BR2_PACKAGE_RPI_RF_MOD=y
BR2_PACKAGE_RTL88X2BU=y
# Bootloader
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_I386_EFI=y
BR2_TARGET_GRUB2_X86_64_EFI=y
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop regexp loadenv echo cat test configfile"
BR2_TARGET_GRUB2_INSTALL_TOOLS=y

View File

@@ -21,7 +21,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.53"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.32"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
@@ -68,11 +68,14 @@ BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_TINI=y
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_RAUC=y
BR2_PACKAGE_RAUC_NETWORK=y
BR2_PACKAGE_RAUC_DBUS=y
BR2_PACKAGE_RNG_TOOLS=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
@@ -94,18 +97,19 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="khadas-vim3"
BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/uboot.config"
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/uboot-boot.ush"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GPTFDISK=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HOST_TEMPIO=y
BR2_PACKAGE_HASSIO=y
BR2_PACKAGE_HASSIO_ARCH="aarch64"
BR2_PACKAGE_HASSIO_MACHINE="odroid-n2"
@@ -117,3 +121,4 @@ BR2_PACKAGE_KHADAS_BOOT_VIM3=y
BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
BR2_PACKAGE_RTL8812AU_AIRCRACK_NG=y
BR2_PACKAGE_RTL88X2BU=y

View File

@@ -21,7 +21,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.91"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.32"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
@@ -68,11 +68,14 @@ BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_TINI=y
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_RAUC=y
BR2_PACKAGE_RAUC_NETWORK=y
BR2_PACKAGE_RAUC_DBUS=y
BR2_PACKAGE_RNG_TOOLS=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
@@ -94,18 +97,19 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-c2"
BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/uboot.config"
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/uboot-boot.ush"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GPTFDISK=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HOST_TEMPIO=y
BR2_PACKAGE_HASSIO=y
BR2_PACKAGE_HASSIO_ARCH="aarch64"
BR2_PACKAGE_HASSIO_MACHINE="odroid-c2"
@@ -120,3 +124,4 @@ BR2_PACKAGE_RTL8812AU_AIRCRACK_NG=y
BR2_PACKAGE_RPI_RF_MOD=y
BR2_PACKAGE_RPI_RF_MOD_DTS=y
BR2_PACKAGE_RPI_RF_MOD_DTS_ODROID-C2=y
BR2_PACKAGE_RTL88X2BU=y

View File

@@ -21,7 +21,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.91"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.32"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
@@ -68,11 +68,14 @@ BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_TINI=y
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_RAUC=y
BR2_PACKAGE_RAUC_NETWORK=y
BR2_PACKAGE_RAUC_DBUS=y
BR2_PACKAGE_RNG_TOOLS=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
@@ -94,18 +97,19 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-c4"
BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/uboot.config"
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/uboot-boot.ush"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GPTFDISK=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HOST_TEMPIO=y
BR2_PACKAGE_HASSIO=y
BR2_PACKAGE_HASSIO_ARCH="aarch64"
BR2_PACKAGE_HASSIO_MACHINE="odroid-c4"
@@ -118,3 +122,4 @@ BR2_PACKAGE_RTL8812AU_AIRCRACK_NG=y
BR2_PACKAGE_RPI_RF_MOD=y
BR2_PACKAGE_RPI_RF_MOD_DTS=y
BR2_PACKAGE_RPI_RF_MOD_DTS_ODROID-C4=y
BR2_PACKAGE_RTL88X2BU=y

View File

@@ -21,7 +21,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.91"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.32"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config"
@@ -68,11 +68,14 @@ BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_TINI=y
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_RAUC=y
BR2_PACKAGE_RAUC_NETWORK=y
BR2_PACKAGE_RAUC_DBUS=y
BR2_PACKAGE_RNG_TOOLS=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
@@ -94,18 +97,19 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-n2"
BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/uboot.config"
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/uboot-boot.ush"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GPTFDISK=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HOST_TEMPIO=y
BR2_PACKAGE_HASSIO=y
BR2_PACKAGE_HASSIO_ARCH="aarch64"
BR2_PACKAGE_HASSIO_MACHINE="odroid-n2"
@@ -120,3 +124,4 @@ BR2_PACKAGE_RTL8812AU_AIRCRACK_NG=y
BR2_PACKAGE_RPI_RF_MOD=y
BR2_PACKAGE_RPI_RF_MOD_DTS=y
BR2_PACKAGE_RPI_RF_MOD_DTS_ODROID-N2=y
BR2_PACKAGE_RTL88X2BU=y

Some files were not shown because too many files have changed in this diff Show More