mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-09-19 09:58:36 +00:00
Compare commits
23 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8d95a17d67 | ||
![]() |
e2a0111710 | ||
![]() |
addbfe6d7e | ||
![]() |
63f57a6ab2 | ||
![]() |
6c71582211 | ||
![]() |
2f28fed571 | ||
![]() |
3c3db6fb8c | ||
![]() |
112526ccbf | ||
![]() |
e71efcee3d | ||
![]() |
0e506cca69 | ||
![]() |
aec4c0b8d2 | ||
![]() |
34cf188f58 | ||
![]() |
2dcb59d43f | ||
![]() |
ca63e7fd32 | ||
![]() |
b4565de2ed | ||
![]() |
3873d9e12b | ||
![]() |
046abb8c47 | ||
![]() |
466db83901 | ||
![]() |
858a5efe4b | ||
![]() |
abc5686462 | ||
![]() |
4a2e53cda4 | ||
![]() |
c0d0d48c45 | ||
![]() |
76b14baa20 |
32
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
32
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,5 +1,6 @@
|
||||
name: Report an issue with Home Assistant Operating System
|
||||
name: Bug Report Form
|
||||
description: Report an issue related to the Home Assistant Operating System.
|
||||
labels: bug
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
@@ -22,7 +23,6 @@ body:
|
||||
required: true
|
||||
attributes:
|
||||
label: What operating system image do you use?
|
||||
default: 0
|
||||
options:
|
||||
- generic-x86-64 (Generic UEFI capable x86-64 systems)
|
||||
- generic-aarch64 (Generic UEFI capable aarch64 systems)
|
||||
@@ -30,7 +30,6 @@ body:
|
||||
- odroid-c2 (Hardkernel ODROID-C2)
|
||||
- odroid-c4 (Hardkernel ODROID-C4)
|
||||
- odroid-m1 (Hardkernel ODROID-M1)
|
||||
- odroid-m1s (Hardkernel ODROID-M1S)
|
||||
- odroid-n2 (Hardkernel ODROID-N2/N2+)
|
||||
- odroid-xu4 (Hardkernel ODROID-XU4)
|
||||
- ova (for Virtual Machines)
|
||||
@@ -39,10 +38,8 @@ body:
|
||||
- rpi3-64 (Raspberry Pi 3 64-bit OS)
|
||||
- rpi4 (Raspberry Pi 4/400 32-bit OS)
|
||||
- rpi4-64 (Raspberry Pi 4/400 64-bit OS)
|
||||
- rpi5-64 (Raspberry Pi 5 64-bit OS)
|
||||
- tinker (ASUS Tinker Board/Tinker Board S)
|
||||
- yellow (Home Assistant Yellow)
|
||||
- green (Home Assistant Green)
|
||||
description: >
|
||||
Can be found in [Settings -> System -> Repairs -> System Information](https://my.home-assistant.io/redirect/system_health/). It is listed as the `Board` value.
|
||||
|
||||
@@ -59,21 +56,10 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Did the problem occur after upgrading the Operating System?
|
||||
default: 0
|
||||
label: Did you upgrade the Operating System.
|
||||
options:
|
||||
- "No"
|
||||
- "Yes"
|
||||
- type: textarea
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Hardware details
|
||||
description: >
|
||||
Provide details about the hardware used for your install.
|
||||
This is especially important for bare-metal x86 installations.
|
||||
If you have any USB devices attached, please list them here.
|
||||
For VMs, include the hypervisor type and version.
|
||||
- "No"
|
||||
- type: textarea
|
||||
validations:
|
||||
required: true
|
||||
@@ -93,10 +79,10 @@ body:
|
||||
attributes:
|
||||
label: Anything in the Supervisor logs that might be useful for us?
|
||||
description: >
|
||||
Supervisor Logs can be found in [Settings -> System -> Logs](https://my.home-assistant.io/redirect/logs/?provider=supervisor)
|
||||
then choose `Supervisor` in the top right. Alternatively enter `ha supervisor logs` in the Home Assistant CLI.
|
||||
Supervisor Logs can be found in [Settings -> System -> Logs](https://my.home-assistant.io/redirect/logs/)
|
||||
then choose `Supervisor` in the top right.
|
||||
|
||||
[](https://my.home-assistant.io/redirect/logs/?provider=supervisor)
|
||||
[](https://my.home-assistant.io/redirect/supervisor_logs/)
|
||||
render: txt
|
||||
- type: textarea
|
||||
validations:
|
||||
@@ -104,8 +90,8 @@ body:
|
||||
attributes:
|
||||
label: Anything in the Host logs that might be useful for us?
|
||||
description: >
|
||||
Host Logs can be found in [Settings -> System -> Logs](https://my.home-assistant.io/redirect/logs/?provider=host)
|
||||
then choose `Host` in the top right. Alternatively enter `ha host logs` in the Home Assistant CLI.
|
||||
Host Logs can be found in [Settings -> System -> Logs](https://my.home-assistant.io/redirect/logs/)
|
||||
then choose `Host` in the top right.
|
||||
render: txt
|
||||
- type: textarea
|
||||
attributes:
|
||||
|
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -9,7 +9,7 @@ contact_links:
|
||||
about: Our developer documentation has its own issue tracker. Please report issues with the website there.
|
||||
|
||||
- name: Request a feature for the Operating System
|
||||
url: https://github.com/orgs/home-assistant/discussions
|
||||
url: https://community.home-assistant.io/c/feature-requests
|
||||
about: Request an new feature for the Operating System.
|
||||
|
||||
- name: I have a question or need support
|
||||
|
@@ -1,97 +0,0 @@
|
||||
name: 'Bump RPi Imager OS version'
|
||||
description: 'Bump version of Home Assistant OS in RPi Imager'
|
||||
inputs:
|
||||
version:
|
||||
required: true
|
||||
description: "Version of Home Assistant OS to bump to."
|
||||
release-date:
|
||||
required: true
|
||||
description: "Release date as ISO 8601 date string."
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- shell: bash
|
||||
id: validate-input
|
||||
env:
|
||||
INPUTS_DATE: ${{ inputs.release-date }}
|
||||
run: |
|
||||
if [[ -z "$INPUTS_DATE" ]] || [[ ! "$INPUTS_DATE" =~ ^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})Z$ ]]; then
|
||||
echo "::error::Argument 'release-date' must be an ISO 8601 date string."
|
||||
exit 1
|
||||
else
|
||||
echo "date=$(date --date=${INPUTS_DATE} +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- shell: bash
|
||||
run: git clone --depth 1 https://github.com/home-assistant/version.git /tmp/version
|
||||
|
||||
- shell: bash
|
||||
env:
|
||||
INPUTS_VERSION: ${{ inputs.version }}
|
||||
run: |
|
||||
function bump_entry() {
|
||||
json=$1
|
||||
version=$2
|
||||
release_date=$3
|
||||
image_id=$4
|
||||
image_name=$5
|
||||
url="https://github.com/home-assistant/operating-system/releases/download/${version}/haos_${image_id}-${version}.img.xz"
|
||||
temp_image=$(mktemp --suffix=.img.xz)
|
||||
temp_out=$(mktemp)
|
||||
|
||||
curl -fsL -o "$temp_image" "$url"
|
||||
image_download_size=$(stat --printf="%s" "$temp_image")
|
||||
image_download_sha256=$(sha256sum "$temp_image" | awk '{print $1}')
|
||||
unxz "$temp_image"
|
||||
temp_unpacked="${temp_image%.*}"
|
||||
extract_size=$(stat --printf="%s" "$temp_unpacked")
|
||||
extract_sha256=$(sha256sum "$temp_unpacked" | awk '{print $1}')
|
||||
|
||||
entry_name="Home Assistant OS ${version} (${image_name})"
|
||||
|
||||
jq '
|
||||
. as $data
|
||||
| $data
|
||||
| .os_list = [
|
||||
.os_list[]
|
||||
| if .name | test("Home Assistant OS .* \\(" + $image_name + "\\)") then
|
||||
.name = "Home Assistant OS " + $version + " (" + $image_name + ")"
|
||||
| .url = $url
|
||||
| .extract_size = ($extract_size | tonumber)
|
||||
| .extract_sha256 = $extract_sha256
|
||||
| .release_date = $release_date
|
||||
| .image_download_size = ($image_download_size | tonumber)
|
||||
| .image_download_sha256 = $image_download_sha256
|
||||
else .
|
||||
end
|
||||
]' \
|
||||
--arg version "$version" \
|
||||
--arg image_name "$image_name" \
|
||||
--arg entry_name "$entry_name" \
|
||||
--arg release_date "$release_date" \
|
||||
--arg url "$url" \
|
||||
--arg image_download_size "$image_download_size" \
|
||||
--arg image_download_sha256 "$image_download_sha256" \
|
||||
--arg extract_size "$extract_size" \
|
||||
--arg extract_sha256 "$extract_sha256" \
|
||||
"$json" > "$temp_out"
|
||||
|
||||
mv "$temp_out" "$json"
|
||||
rm -rf "$temp_unpacked" "$temp_out"
|
||||
}
|
||||
|
||||
bump_entry /tmp/version/rpi-imager-haos.json "$INPUTS_VERSION" "${{ steps.validate-input.outputs.date }}" "rpi3-64" "RPi 3"
|
||||
bump_entry /tmp/version/rpi-imager-haos.json "$INPUTS_VERSION" "${{ steps.validate-input.outputs.date }}" "rpi4-64" "RPi 4/400"
|
||||
bump_entry /tmp/version/rpi-imager-haos.json "$INPUTS_VERSION" "${{ steps.validate-input.outputs.date }}" "rpi5-64" "RPi 5"
|
||||
bump_entry /tmp/version/rpi-imager-haos.json "$INPUTS_VERSION" "${{ steps.validate-input.outputs.date }}" "yellow" "Yellow"
|
||||
|
||||
- shell: bash
|
||||
env:
|
||||
INPUTS_VERSION: ${{ inputs.version }}
|
||||
run: |
|
||||
cd /tmp/version
|
||||
git commit -am "Bump Home Assistant OS to ${INPUTS_VERSION} for RPi Imager"
|
||||
git push
|
||||
|
||||
- shell: bash
|
||||
run: rm -rf /tmp/version
|
22
.github/actions/haos-builder-command/action.yml
vendored
22
.github/actions/haos-builder-command/action.yml
vendored
@@ -1,22 +0,0 @@
|
||||
name: "Run command in HAOS build container"
|
||||
inputs:
|
||||
image:
|
||||
description: "HAOS builder image to use"
|
||||
required: true
|
||||
command:
|
||||
description: "Command to run in the container"
|
||||
required: true
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: "Run command in HAOS build container"
|
||||
shell: bash
|
||||
run: |
|
||||
docker run --rm --privileged \
|
||||
-e BUILDER_UID="$(id -u)" \
|
||||
-e BUILDER_GID="$(id -g)" \
|
||||
-v "${GITHUB_WORKSPACE}:/build" \
|
||||
-v "/mnt/cache:/cache" \
|
||||
-v "/mnt/output:/build/output" \
|
||||
${{ inputs.image }} \
|
||||
${{ inputs.command }}
|
16
.github/label-actions.yml
vendored
16
.github/label-actions.yml
vendored
@@ -8,7 +8,6 @@ assume-fixed:
|
||||
release. You can find the latest stable release at
|
||||
https://github.com/home-assistant/operating-system/releases/latest
|
||||
close: true
|
||||
close-reason: not planned
|
||||
|
||||
core-issue:
|
||||
comment: >
|
||||
@@ -20,19 +19,6 @@ core-issue:
|
||||
repository, the issue might have been reported already. Open a new issue
|
||||
in that repository if you can't find a matching issue.
|
||||
close: true
|
||||
close-reason: not planned
|
||||
|
||||
frontend-issue:
|
||||
comment: >
|
||||
:wave: @{issue-author}, thanks for reporting an issue!
|
||||
|
||||
|
||||
It looks like this issue is related to Home Assistant Frontend. Please
|
||||
check the [Home Assistant Frontend](https://github.com/home-assistant/frontend/issues)
|
||||
repository, the issue might have been reported already. Open a new issue
|
||||
in that repository if you can't find a matching issue.
|
||||
close: true
|
||||
close-reason: not planned
|
||||
|
||||
supervisor-issue:
|
||||
comment: >
|
||||
@@ -44,7 +30,6 @@ supervisor-issue:
|
||||
repository, the issue might have been reported already. Open a new issue
|
||||
in that repository if you can't find a matching issue.
|
||||
close: true
|
||||
close-reason: not planned
|
||||
|
||||
new-feature:
|
||||
comment: >
|
||||
@@ -56,4 +41,3 @@ new-feature:
|
||||
Please check if someone already requested a similar feature, or create
|
||||
a new feature request with the "haos" tag in that forum. Thank you!
|
||||
close: true
|
||||
close-reason: not planned
|
||||
|
10
.github/release-drafter.yml
vendored
10
.github/release-drafter.yml
vendored
@@ -4,12 +4,12 @@ version-template: "$MAJOR.$MINOR"
|
||||
categories:
|
||||
- title: 'Home Assistant Operating System'
|
||||
label: 'os'
|
||||
- title: 'Build System'
|
||||
label: 'build'
|
||||
- title: 'Raspberry Pi'
|
||||
label: 'board/raspberrypi'
|
||||
- title: 'Home Assistant Yellow'
|
||||
label: 'board/yellow'
|
||||
- title: 'Home Assistant Green'
|
||||
label: 'board/green'
|
||||
- title: 'Open Virtual Appliance'
|
||||
label: 'board/ova'
|
||||
- title: 'Generic x86-64'
|
||||
@@ -22,12 +22,6 @@ categories:
|
||||
label: 'board/khadas'
|
||||
- title: 'Generic aarch64'
|
||||
label: 'board/generic-aarch64'
|
||||
- title: 'Documentation'
|
||||
label: 'documentation'
|
||||
- title: 'Build System'
|
||||
label: 'build'
|
||||
- title: 'Dependencies'
|
||||
label: 'dependencies'
|
||||
filter-by-commitish: true
|
||||
template: |
|
||||
## Changes
|
||||
|
102
.github/workflows/artifacts-index.yaml
vendored
102
.github/workflows/artifacts-index.yaml
vendored
@@ -1,102 +0,0 @@
|
||||
name: Update artifacts index
|
||||
|
||||
on:
|
||||
# Manual run for specified version
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: Version of HAOS to build index for
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# Called by other workflows (e.g. build.yaml)
|
||||
workflow_call:
|
||||
inputs:
|
||||
version:
|
||||
description: Version of HAOS to build index for
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
R2_OS_ARTIFACTS_ID:
|
||||
required: true
|
||||
R2_OS_ARTIFACTS_KEY:
|
||||
required: true
|
||||
R2_OS_ARTIFACTS_BUCKET:
|
||||
required: true
|
||||
R2_OS_ARTIFACTS_ENDPOINT:
|
||||
required: true
|
||||
CF_ZONE:
|
||||
required: true
|
||||
CF_PURGE_TOKEN:
|
||||
required: true
|
||||
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
|
||||
jobs:
|
||||
build-index:
|
||||
name: Build Home Assistant OS artifacts index
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Python version ${{ env.PYTHON_VERSION }}
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install AWS CLI
|
||||
run: pip install 'awscli<1.37.0'
|
||||
|
||||
- name: Create build index
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.R2_OS_ARTIFACTS_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_OS_ARTIFACTS_KEY }}
|
||||
run: |
|
||||
aws s3api list-objects-v2 \
|
||||
--bucket "${{ secrets.R2_OS_ARTIFACTS_BUCKET }}" \
|
||||
--endpoint-url "${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}" \
|
||||
--prefix "${{ inputs.version }}/" \
|
||||
--query 'Contents[].Key' | jq 'map(split("/")[1]) | sort' > "${{ inputs.version }}.json"
|
||||
aws s3 cp \
|
||||
"${{ inputs.version }}.json" \
|
||||
s3://${{ secrets.R2_OS_ARTIFACTS_BUCKET }}/indexes/ \
|
||||
--endpoint-url "${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}"
|
||||
|
||||
- name: Regenerate artifacts index
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.R2_OS_ARTIFACTS_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_OS_ARTIFACTS_KEY }}
|
||||
run: |
|
||||
aws s3api list-objects-v2 \
|
||||
--bucket "${{ secrets.R2_OS_ARTIFACTS_BUCKET }}" \
|
||||
--endpoint-url "${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}" \
|
||||
--prefix "indexes/" \
|
||||
--query 'Contents[].Key' | jq 'map(capture("indexes/(?<version>[[:digit:]].+).json").version) | sort' > .os-artifacts/index.json
|
||||
aws s3 sync \
|
||||
.os-artifacts/ \
|
||||
s3://${{ secrets.R2_OS_ARTIFACTS_BUCKET }}/ \
|
||||
--endpoint-url "${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}" \
|
||||
|
||||
- name: Flush CloudFlare cache
|
||||
run: |
|
||||
# Create purge list of all artifacts
|
||||
jq -r '. | map("https://os-artifacts.home-assistant.io/${{ inputs.version }}/" + .) | join("\n")' < "${{ inputs.version }}.json" > purge_list
|
||||
# Add indexes to purge list too
|
||||
echo "https://os-artifacts.home-assistant.io/indexes/${{ inputs.version }}.json" >> purge_list
|
||||
echo "https://os-artifacts.home-assistant.io/index.html" >> purge_list
|
||||
echo "https://os-artifacts.home-assistant.io/index.json" >> purge_list
|
||||
# Split to chunks of 30 files (limit of CF API)
|
||||
split -d -l30 purge_list purge_list_chunked
|
||||
# Convert chunked lists to JSON arrays and call CF purge API
|
||||
for f in purge_list_chunked*; do
|
||||
files=$(jq -R -s 'split("\n")[:-1]' < "$f")
|
||||
curl --silent --show-error --fail -X POST \
|
||||
"https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache" \
|
||||
-H "Authorization: Bearer ${{ secrets.CF_PURGE_TOKEN }}" \
|
||||
-H "Content-Type: application/json" \
|
||||
--data "{\"files\": ${files}}"
|
||||
done
|
502
.github/workflows/build.yaml
vendored
502
.github/workflows/build.yaml
vendored
@@ -1,502 +0,0 @@
|
||||
# Home Assistant Operating System build workflow
|
||||
|
||||
name: OS build
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
boards:
|
||||
description: 'List of boards to build (comma separated identifiers)'
|
||||
required: false
|
||||
type: string
|
||||
publish:
|
||||
description: 'Publish build artifacts to R2 (not applicable to forks)'
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
run_tests:
|
||||
description: 'Run tests after build'
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
hassio_channel:
|
||||
description: 'Release channel to use (default: stable for GH releases, dev otherwise)'
|
||||
type: choice
|
||||
required: true
|
||||
default: default
|
||||
options:
|
||||
- default
|
||||
- stable
|
||||
- beta
|
||||
- dev
|
||||
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
name: Prepare build
|
||||
runs-on: ubuntu-22.04
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
packages: write
|
||||
outputs:
|
||||
version_dev: ${{ steps.version_dev.outputs.version_dev }}
|
||||
version_main: ${{ steps.version.outputs.version_main }}
|
||||
version_full: ${{ steps.version.outputs.version_full }}
|
||||
channel: ${{ steps.channel.outputs.channel }}
|
||||
hassio_channel_option: ${{ steps.channel.outputs.hassio_channel_option }}
|
||||
matrix: ${{ steps.generate_matrix.outputs.result }}
|
||||
build_container_image: ghcr.io/${{ github.repository_owner }}/haos-builder@${{ steps.build_haos_builder.outputs.digest }}
|
||||
publish_build: ${{ steps.check_publish.outputs.publish_build }}
|
||||
self_signed_cert: ${{ steps.generate_signing_key.outputs.self_signed_cert }}
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Check if build should be published
|
||||
id: check_publish
|
||||
env:
|
||||
PUBLISH_FLAG: ${{ inputs.publish }}
|
||||
run: |
|
||||
if [ "${{ github.repository }}" == "home-assistant/operating-system" ]; then
|
||||
if [ "${PUBLISH_FLAG}" != "true" ] && [ "${{ github.event_name }}" != "release" ]; then
|
||||
echo "publish_build=false" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "publish_build=true" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
else
|
||||
echo "publish_build=false" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- name: Generate development version
|
||||
shell: bash
|
||||
id: version_dev
|
||||
if: ${{ github.event_name != 'release' }}
|
||||
env:
|
||||
PUBLISH_BUILD: ${{ steps.check_publish.outputs.publish_build }}
|
||||
run: |
|
||||
version_dev="dev$(date --utc +'%Y%m%d')"
|
||||
if [ "${{ env.PUBLISH_BUILD }}" != "true" ] || [ "${{ github.ref }}" != "refs/heads/dev" ]; then
|
||||
version_dev="dev$(date +%s)"
|
||||
fi
|
||||
echo "Development version \"${version_dev}\""
|
||||
echo "version_dev=${version_dev}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Set version suffix
|
||||
if: ${{ github.event_name != 'release' }}
|
||||
env:
|
||||
VERSION_DEV: ${{ steps.version_dev.outputs.version_dev }}
|
||||
run: |
|
||||
sed -i -E "s/(^VERSION_SUFFIX=\").*(\"$)/\1${VERSION_DEV}\2/" buildroot-external/meta
|
||||
|
||||
- name: Get version
|
||||
id: version
|
||||
run: |
|
||||
. ${GITHUB_WORKSPACE}/buildroot-external/meta
|
||||
echo "version_main=${VERSION_MAJOR}.${VERSION_MINOR}" >> $GITHUB_OUTPUT
|
||||
if [ -z "${VERSION_SUFFIX}" ]; then
|
||||
version_full="${VERSION_MAJOR}.${VERSION_MINOR}"
|
||||
else
|
||||
version_full="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_SUFFIX}"
|
||||
fi
|
||||
echo "version_full=${version_full}" >> $GITHUB_OUTPUT
|
||||
echo "Full version number of this release is \"${version_full}\"."
|
||||
|
||||
- name: Validate version
|
||||
id: version_check
|
||||
if: ${{ github.event_name == 'release' }}
|
||||
run: |
|
||||
if [ "${{ steps.version.outputs.version_full }}" != "${{ github.event.release.tag_name }}" ]; then
|
||||
echo "Version number in Buildroot metadata does not match tag (${{ steps.version.outputs.version_full }} vs ${{ github.event.release.tag_name }})."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Get channel
|
||||
id: channel
|
||||
run: |
|
||||
if [[ "${{ github.event_name }}" == "release" ]]; then
|
||||
if [[ "${{ github.event.release.prerelease }}" == "true" ]]; then
|
||||
echo "channel=beta" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "channel=stable" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
else
|
||||
echo "channel=dev" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
if [[ "${{ inputs.hassio_channel }}" == "default" ]]; then
|
||||
if [[ "${{ github.event_name }}" == "release" ]]; then
|
||||
echo "hassio_channel_option=BR2_PACKAGE_HASSIO_CHANNEL_STABLE" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "hassio_channel_option=BR2_PACKAGE_HASSIO_CHANNEL_DEV" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
else
|
||||
if [[ "${{ inputs.hassio_channel }}" == "stable" ]]; then
|
||||
echo "hassio_channel_option=BR2_PACKAGE_HASSIO_CHANNEL_STABLE" >> "$GITHUB_OUTPUT"
|
||||
elif [[ "${{ inputs.hassio_channel }}" == "beta" ]]; then
|
||||
echo "hassio_channel_option=BR2_PACKAGE_HASSIO_CHANNEL_BETA" >> "$GITHUB_OUTPUT"
|
||||
elif [[ "${{ inputs.hassio_channel }}" == "dev" ]]; then
|
||||
echo "hassio_channel_option=BR2_PACKAGE_HASSIO_CHANNEL_DEV" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Create build matrix
|
||||
uses: actions/github-script@v7
|
||||
id: generate_matrix
|
||||
with:
|
||||
script: |
|
||||
const boards = require('./.github/workflows/matrix.json')
|
||||
if ("${{ github.event_name }}" == "release") {
|
||||
return { "board": boards }
|
||||
}
|
||||
|
||||
const boardFilter = "${{ github.event.inputs.boards }}"
|
||||
const runTests = "${{ github.event.inputs.run_tests }}" === "true"
|
||||
|
||||
if (boardFilter == "") {
|
||||
console.log("Run full build for all boards")
|
||||
return { "board": boards }
|
||||
} else {
|
||||
console.log("Run partial build")
|
||||
const boardSet = new Set(boardFilter.split(","))
|
||||
|
||||
// if tests are enabled, we need to ensure the OVA board is included
|
||||
if (runTests && !boardSet.has("ova")) {
|
||||
console.log("Adding OVA board for integration tests")
|
||||
boardSet.add("ova")
|
||||
}
|
||||
|
||||
const buildBoards = boards.filter(b => boardSet.has(b.id))
|
||||
return { "board": buildBoards }
|
||||
}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3.11.1
|
||||
- name: Log in to the GitHub container registry
|
||||
uses: docker/login-action@v3.5.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build and Push
|
||||
uses: docker/build-push-action@v6.18.0
|
||||
id: build_haos_builder
|
||||
with:
|
||||
context: .
|
||||
file: Dockerfile
|
||||
tags: ghcr.io/${{ github.repository_owner }}/haos-builder
|
||||
cache-from: ghcr.io/${{ github.repository_owner }}/haos-builder:cache-${{ steps.version.outputs.version_main }}
|
||||
cache-to: ghcr.io/${{ github.repository_owner }}/haos-builder:cache-${{ steps.version.outputs.version_main }}
|
||||
push: true
|
||||
|
||||
- name: Generate self-signed certificate
|
||||
id: generate_signing_key
|
||||
env:
|
||||
RAUC_CERTIFICATE: ${{ secrets.RAUC_CERTIFICATE }}
|
||||
RAUC_PRIVATE_KEY: ${{ secrets.RAUC_PRIVATE_KEY }}
|
||||
if: env.RAUC_CERTIFICATE == '' || env.RAUC_PRIVATE_KEY == ''
|
||||
run: |
|
||||
echo "::warning:: RAUC certificate or key is missing in the repository secrets. Building with a public self-signed certificate!"
|
||||
buildroot-external/scripts/generate-signing-key.sh cert.pem key.pem
|
||||
echo "self_signed_cert=true" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create signing key
|
||||
uses: actions/upload-artifact@v4
|
||||
if: steps.generate_signing_key.outcome == 'success'
|
||||
with:
|
||||
name: signing-key
|
||||
path: |
|
||||
cert.pem
|
||||
key.pem
|
||||
|
||||
build:
|
||||
name: Build for ${{ matrix.board.id }}
|
||||
permissions:
|
||||
contents: write # for actions/upload-release-asset to upload release asset
|
||||
needs: prepare
|
||||
strategy:
|
||||
fail-fast: ${{ github.event_name == 'release' }}
|
||||
matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Python version ${{ env.PYTHON_VERSION }}
|
||||
if: ${{ github.event_name != 'release' }}
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install AWS CLI
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build == 'true' }}
|
||||
run: pip install 'awscli<1.37.0'
|
||||
|
||||
- name: Set version suffix
|
||||
if: ${{ github.event_name != 'release' }}
|
||||
env:
|
||||
VERSION_DEV: ${{ needs.prepare.outputs.version_dev }}
|
||||
run: |
|
||||
sed -i -E "s/(^VERSION_SUFFIX=\").*(\"$)/\1${VERSION_DEV}\2/" buildroot-external/meta
|
||||
|
||||
- name: 'Add release PKI certs'
|
||||
if: ${{ needs.prepare.outputs.self_signed_cert != 'true' }}
|
||||
env:
|
||||
RAUC_CERTIFICATE: ${{ secrets.RAUC_CERTIFICATE }}
|
||||
RAUC_PRIVATE_KEY: ${{ secrets.RAUC_PRIVATE_KEY }}
|
||||
run: |
|
||||
echo -e "-----BEGIN CERTIFICATE-----\n${RAUC_CERTIFICATE}\n-----END CERTIFICATE-----" > cert.pem
|
||||
echo -e "-----BEGIN PRIVATE KEY-----\n${RAUC_PRIVATE_KEY}\n-----END PRIVATE KEY-----" > key.pem
|
||||
|
||||
- name: Get self-signed certificate from the prepare job
|
||||
if: ${{ needs.prepare.outputs.self_signed_cert == 'true' }}
|
||||
uses: actions/download-artifact@v5
|
||||
with:
|
||||
name: signing-key
|
||||
|
||||
- name: Free space on build drive
|
||||
run: |
|
||||
# Inspired by https://github.com/easimon/maximize-build-space/blob/v7/action.yml
|
||||
df -h
|
||||
sudo rm -rf /usr/local/lib/android/sdk/ndk
|
||||
sudo rm -rf /opt/hostedtoolcache/CodeQL
|
||||
sudo mkdir /mnt/cache
|
||||
sudo mkdir /mnt/output
|
||||
WORKSPACE_OWNER="$(stat -c '%U:%G' "${GITHUB_WORKSPACE}")"
|
||||
# output directory is symlinked for easier access from workspace
|
||||
# but for build container it must be mounted as a volume
|
||||
sudo ln -sf /mnt/output "${GITHUB_WORKSPACE}/output"
|
||||
sudo chown -R "${WORKSPACE_OWNER}" /mnt/cache
|
||||
sudo chown -R "${WORKSPACE_OWNER}" /mnt/output
|
||||
df -h
|
||||
|
||||
- name: "Restore cache: object files"
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: /mnt/cache/cc
|
||||
key: haos-cc-${{ matrix.board.id }}
|
||||
|
||||
- name: Generate build config
|
||||
uses: "./.github/actions/haos-builder-command"
|
||||
with:
|
||||
image: ${{ needs.prepare.outputs.build_container_image }}
|
||||
command: make ${{ matrix.board.defconfig }}_defconfig
|
||||
|
||||
- name: Override release channel
|
||||
if: ${{ needs.prepare.outputs.hassio_channel_option != 'BR2_PACKAGE_HASSIO_CHANNEL_STABLE' }}
|
||||
uses: "./.github/actions/haos-builder-command"
|
||||
with:
|
||||
image: ${{ needs.prepare.outputs.build_container_image }}
|
||||
command: |
|
||||
bash -c 'echo "${{ needs.prepare.outputs.hassio_channel_option }}=y" >> /build/output/.config && make olddefconfig'
|
||||
|
||||
- name: Build
|
||||
uses: "./.github/actions/haos-builder-command"
|
||||
with:
|
||||
image: ${{ needs.prepare.outputs.build_container_image }}
|
||||
command: make
|
||||
|
||||
- name: Check Linux config
|
||||
uses: "./.github/actions/haos-builder-command"
|
||||
with:
|
||||
image: ${{ needs.prepare.outputs.build_container_image }}
|
||||
command: |
|
||||
make BR2_CHECK_DOTCONFIG_OPTS="--github-format --strip-path-prefix=/build/" linux-check-dotconfig
|
||||
|
||||
- name: Upload artifacts
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build == 'true' }}
|
||||
working-directory: output/images/
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.R2_OS_ARTIFACTS_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_OS_ARTIFACTS_KEY }}
|
||||
run: |
|
||||
aws s3 sync \
|
||||
./ \
|
||||
s3://${{ secrets.R2_OS_ARTIFACTS_BUCKET }}/${{ needs.prepare.outputs.version_full }}/ \
|
||||
--exclude "*" \
|
||||
--include "haos_*" \
|
||||
--endpoint-url ${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}
|
||||
|
||||
- name: Upload release assets
|
||||
if: ${{ github.event_name == 'release' }}
|
||||
uses: shogo82148/actions-upload-release-asset@v1
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: output/images/haos_*
|
||||
|
||||
- name: Print cache stats
|
||||
run: |
|
||||
echo "Cache size: $(du -sh /mnt/cache/cc)"
|
||||
echo "Files total: $(find /mnt/cache/cc -mindepth 1 -type f | wc -l)"
|
||||
echo "Old files to remove: $(find /mnt/cache/cc -mindepth 1 -type f -not -anewer output/Makefile | wc -l)"
|
||||
find /mnt/cache/cc -mindepth 1 -type f -not -anewer output/Makefile -delete
|
||||
echo "Cache size after pruning: $(du -sh /mnt/cache/cc)"
|
||||
|
||||
- name: "Save cache: object files"
|
||||
if: github.ref == 'refs/heads/dev'
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: /mnt/cache/cc
|
||||
key: haos-cc-${{ matrix.board.id }}-${{ github.run_id }}
|
||||
|
||||
- name: Generate build summary
|
||||
run: |
|
||||
echo "# ${{ matrix.board.id }} build summary" >> $GITHUB_STEP_SUMMARY
|
||||
echo "## Built-in OS components" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Release channel: ${{ inputs.hassio_channel }} (${{ needs.prepare.outputs.hassio_channel_option }})" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| Container | Version |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "|:-|:-|" >> $GITHUB_STEP_SUMMARY
|
||||
supervisor_version=$(jq -r ".supervisor" output/build/hassio-*/version.json)
|
||||
landingpage_version=$(curl -fsSL https://api.github.com/repos/home-assistant/landingpage/releases/latest | jq -r '.tag_name')
|
||||
echo "| supervisor | [${supervisor_version}](https://github.com/home-assistant/supervisor/releases/tag/${supervisor_version}) |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| landingpage | [${landingpage_version}](https://github.com/home-assistant/landingpage/releases/tag/${landingpage_version}) |" >> $GITHUB_STEP_SUMMARY
|
||||
for plugin in dns audio cli multicast observer; do
|
||||
version=$(jq -r ".${plugin}" output/build/hassio-*/version.json)
|
||||
echo "| plugin-${plugin} | [${version}](https://github.com/home-assistant/plugin-${plugin}/releases/tag/${version}) |" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
echo "## Artifacts" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| File | Size (bytes) | Size (formatted) |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "|:-|:-|:-|" >> $GITHUB_STEP_SUMMARY
|
||||
for f in output/images/haos_*; do
|
||||
echo "| $(basename $f) | $(du -b $f | cut -f1) | $(du -bh $f | cut -f1) |" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
echo "## Partitions" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| File | Size (bytes) | Size (formatted) |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "|:-|:-|:-|" >> $GITHUB_STEP_SUMMARY
|
||||
for f in boot.vfat kernel.img rootfs.erofs overlay.ext4 data.ext4; do
|
||||
echo "| ${f} | $(du -b output/images/$f | cut -f1) | $(du -bh output/images/$f | cut -f1) |" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
|
||||
- name: Upload OS image artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build != 'true' && matrix.board.id != 'ova' }}
|
||||
with:
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.img.xz
|
||||
path: |
|
||||
output/images/haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.img.xz
|
||||
|
||||
- name: Upload RAUC bundle artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build != 'true' }}
|
||||
with:
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.raucb
|
||||
path: |
|
||||
output/images/haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.raucb
|
||||
|
||||
- name: Upload Open Virtualization Format (OVA) artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build != 'true' && matrix.board.id == 'ova' }}
|
||||
with:
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.ova
|
||||
path: |
|
||||
output/images/haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.ova
|
||||
|
||||
- name: Upload QEMU disk image artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
# Create artifact for ova every time - it's used by the called tests workflow
|
||||
if: ${{ matrix.board.id == 'ova' || (github.event_name != 'release' && needs.prepare.outputs.publish_build != 'true' && matrix.board.id == 'generic-aarch64') }}
|
||||
with:
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.qcow2.xz
|
||||
path: |
|
||||
output/images/haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.qcow2.xz
|
||||
|
||||
- name: Upload VMware Virtual Machine Disk (VMDK) artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build != 'true' && (matrix.board.id == 'generic-aarch64' || matrix.board.id == 'ova') }}
|
||||
with:
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.vmdk.zip
|
||||
path: |
|
||||
output/images/haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.vmdk.zip
|
||||
|
||||
- name: Upload VirtualBox Virtual Disk Image (VDI) artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build != 'true' && matrix.board.id == 'ova' }}
|
||||
with:
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.vdi.zip
|
||||
path: |
|
||||
output/images/haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.vdi.zip
|
||||
|
||||
- name: Upload Virtual Hard Disk v2 (VHDX) artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build != 'true' && matrix.board.id == 'ova' }}
|
||||
with:
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.vhdx.zip
|
||||
path: |
|
||||
output/images/haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.vhdx.zip
|
||||
|
||||
test:
|
||||
name: Test OS image
|
||||
if: ${{ github.event_name == 'release' || inputs.run_tests == true }}
|
||||
needs: [ build, prepare ]
|
||||
uses: ./.github/workflows/test.yaml
|
||||
with:
|
||||
version: ${{ needs.prepare.outputs.version_full }}
|
||||
|
||||
update_index:
|
||||
name: Update artifacts index
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build == 'true' }}
|
||||
needs: [ build, prepare ]
|
||||
uses: home-assistant/operating-system/.github/workflows/artifacts-index.yaml@dev
|
||||
with:
|
||||
version: ${{ needs.prepare.outputs.version_full }}
|
||||
secrets:
|
||||
R2_OS_ARTIFACTS_ID: ${{ secrets.R2_OS_ARTIFACTS_ID }}
|
||||
R2_OS_ARTIFACTS_KEY: ${{ secrets.R2_OS_ARTIFACTS_KEY }}
|
||||
R2_OS_ARTIFACTS_BUCKET: ${{ secrets.R2_OS_ARTIFACTS_BUCKET }}
|
||||
R2_OS_ARTIFACTS_ENDPOINT: ${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}
|
||||
CF_ZONE: ${{ secrets.CF_ZONE }}
|
||||
CF_PURGE_TOKEN: ${{ secrets.CF_PURGE_TOKEN }}
|
||||
|
||||
bump_version:
|
||||
name: Bump ${{ needs.prepare.outputs.channel }} channel version
|
||||
if: ${{ github.repository == 'home-assistant/operating-system' && needs.prepare.outputs.publish_build == 'true' && (needs.prepare.outputs.channel != 'dev' || github.ref == 'refs/heads/dev') }}
|
||||
environment: ${{ needs.prepare.outputs.channel }}
|
||||
needs: [ build, prepare ]
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Initialize git
|
||||
uses: home-assistant/actions/helpers/git-init@master
|
||||
with:
|
||||
name: ${{ secrets.GIT_NAME }}
|
||||
email: ${{ secrets.GIT_EMAIL }}
|
||||
token: ${{ secrets.GIT_TOKEN }}
|
||||
|
||||
- name: Bump Home Assistant OS ${{ needs.prepare.outputs.channel }} channel version
|
||||
uses: home-assistant/actions/helpers/version-push@master
|
||||
with:
|
||||
key: "hassos[]"
|
||||
key-description: "Home Assistant OS"
|
||||
version: ${{ needs.prepare.outputs.version_full }}
|
||||
channel: ${{ needs.prepare.outputs.channel }}
|
||||
|
||||
- name: Bump Home Assistant OS beta channel version on stable release
|
||||
if: ${{ needs.prepare.outputs.channel == 'stable' }}
|
||||
uses: home-assistant/actions/helpers/version-push@master
|
||||
with:
|
||||
key: "hassos[]"
|
||||
key-description: "Home Assistant OS"
|
||||
version: ${{ needs.prepare.outputs.version_full }}
|
||||
channel: beta
|
||||
|
||||
- name: Bump stable Home Assistant version for RPi Imager
|
||||
if: ${{ github.event_name == 'release' && needs.prepare.outputs.channel == 'stable' }}
|
||||
uses: "./.github/actions/bump-rpi-imager-version"
|
||||
with:
|
||||
version: ${{ needs.prepare.outputs.version_full }}
|
||||
release-date: ${{ github.event.release.published_at }}
|
143
.github/workflows/dev.yml
vendored
Normal file
143
.github/workflows/dev.yml
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
# Home Assistant Operating System build workflow
|
||||
|
||||
name: Development build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request_target:
|
||||
types: [opened,synchronize,labeled]
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
if: ${{ github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'run-dev-build') }}
|
||||
name: Prepare build
|
||||
runs-on: [ "ubuntu-20.04" ]
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
outputs:
|
||||
version_main: ${{ steps.version_main.outputs.version_main }}
|
||||
version_dev: ${{ steps.version_dev.outputs.version_dev }}${{ steps.version_pr.outputs.version_pr }}
|
||||
matrix: ${{ steps.generate_matrix.outputs.result }}
|
||||
steps:
|
||||
- name: Generate Development build version
|
||||
shell: bash
|
||||
id: version_dev
|
||||
run: |
|
||||
version_dev="dev$(date --utc +'%Y%m%d')"
|
||||
echo "Development version \"${version_dev}\""
|
||||
echo "version_dev=${version_dev}" >> $GITHUB_OUTPUT
|
||||
- name: Generate Development build version for PR
|
||||
if: ${{ github.event.pull_request }}
|
||||
shell: bash
|
||||
id: version_pr
|
||||
run: |
|
||||
version_pr=$(printf "%05d" ${{ github.event.pull_request.number }})
|
||||
echo "Development build for PR #${{ github.event.pull_request.number }}"
|
||||
echo "version_pr=${version_pr}" >> $GITHUB_OUTPUT
|
||||
- uses: actions/checkout@v3
|
||||
- name: Get Major/Minor version
|
||||
id: version_main
|
||||
run: |
|
||||
major=$(cat ${GITHUB_WORKSPACE}/buildroot-external/meta | grep VERSION_MAJOR | cut -d'=' -f2)
|
||||
build=$(cat ${GITHUB_WORKSPACE}/buildroot-external/meta | grep VERSION_BUILD | cut -d'=' -f2)
|
||||
echo "version_main=${major}.${build}" >> $GITHUB_OUTPUT
|
||||
- name: Create build matrix
|
||||
uses: actions/github-script@v6
|
||||
id: generate_matrix
|
||||
with:
|
||||
script: |
|
||||
const boards = require('./.github/workflows/matrix.json')
|
||||
|
||||
if (context.eventName == "workflow_dispatch") {
|
||||
console.log("Run full build for all boards")
|
||||
return { "board": boards }
|
||||
}
|
||||
|
||||
const labels = context.payload.pull_request.labels.map(l => l.name)
|
||||
const labelsSet = new Set(labels)
|
||||
const buildBoards = boards.filter(b => labelsSet.has(b.label))
|
||||
|
||||
return { "board": buildBoards }
|
||||
|
||||
build:
|
||||
if: ${{ github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'run-dev-build') }}
|
||||
name: Development build for ${{ matrix.board.id }}
|
||||
environment: "dev_build"
|
||||
needs: prepare
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
|
||||
runs-on: ${{ matrix.board.runner }}
|
||||
|
||||
steps:
|
||||
- name: Define git reference
|
||||
uses: actions/github-script@v6
|
||||
id: generate_gitref
|
||||
with:
|
||||
script: |
|
||||
if (context.eventName == "workflow_dispatch")
|
||||
return { "ref": context.ref }
|
||||
return { "ref": context.payload.pull_request.head.sha }
|
||||
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
ref: ${{ fromJSON(steps.generate_gitref.outputs.result).ref }}
|
||||
|
||||
- name: Build container
|
||||
run: docker build -t haos-builder .
|
||||
|
||||
- name: 'Add release PKI certs'
|
||||
env:
|
||||
RAUC_CERTIFICATE: ${{ secrets.RAUC_CERTIFICATE }}
|
||||
RAUC_PRIVATE_KEY: ${{ secrets.RAUC_PRIVATE_KEY }}
|
||||
run: |
|
||||
echo -e "-----BEGIN CERTIFICATE-----\n${RAUC_CERTIFICATE}\n-----END CERTIFICATE-----" > cert.pem
|
||||
echo -e "-----BEGIN PRIVATE KEY-----\n${RAUC_PRIVATE_KEY}\n-----END PRIVATE KEY-----" > key.pem
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
BUILDER_UID="$(id -u)"
|
||||
BUILDER_GID="$(id -g)"
|
||||
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@5.2
|
||||
with:
|
||||
rsh: -q
|
||||
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 }}
|
||||
remote_port: ${{ secrets.DEV_PORT }}
|
||||
remote_user: ${{ secrets.DEV_USERNAME }}
|
||||
remote_key: ${{ secrets.DEV_SSH_KEY }}
|
||||
|
||||
bump_version:
|
||||
name: Bump dev channel version
|
||||
if: ${{ github.event_name == 'workflow_dispatch' }}
|
||||
needs: [ build, prepare ]
|
||||
runs-on: [ "ubuntu-20.04" ]
|
||||
|
||||
steps:
|
||||
- name: Initialize git
|
||||
uses: home-assistant/actions/helpers/git-init@master
|
||||
with:
|
||||
name: ${{ secrets.GIT_NAME }}
|
||||
email: ${{ secrets.GIT_EMAIL }}
|
||||
token: ${{ secrets.GIT_TOKEN }}
|
||||
|
||||
- name: Bump Home Assistant OS dev channel version to ${{ needs.prepare.outputs.version_main }}.${{ needs.prepare.outputs.version_dev }}
|
||||
uses: home-assistant/actions/helpers/version-push@master
|
||||
with:
|
||||
key: "hassos[]"
|
||||
key-description: "Home Assistant OS"
|
||||
version: ${{ needs.prepare.outputs.version_main }}.${{ needs.prepare.outputs.version_dev }}
|
||||
channel: "dev"
|
2
.github/workflows/label-actions.yml
vendored
2
.github/workflows/label-actions.yml
vendored
@@ -14,4 +14,4 @@ jobs:
|
||||
action:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/label-actions@v4.0.1
|
||||
- uses: dessant/label-actions@v3.0.0
|
||||
|
25
.github/workflows/lock.yml
vendored
25
.github/workflows/lock.yml
vendored
@@ -1,25 +0,0 @@
|
||||
name: Lock
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "45 5 * * *"
|
||||
|
||||
permissions:
|
||||
discussions: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
lock:
|
||||
if: github.repository_owner == 'home-assistant'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v5.0.1
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-inactive-days: "30"
|
||||
exclude-issue-created-before: "2025-01-01T00:00:00Z"
|
||||
issue-lock-reason: ""
|
||||
pr-inactive-days: "7"
|
||||
exclude-pr-created-before: "2025-01-01T00:00:00Z"
|
||||
pr-lock-reason: ""
|
50
.github/workflows/matrix.json
vendored
50
.github/workflows/matrix.json
vendored
@@ -2,115 +2,97 @@
|
||||
{
|
||||
"id": "ova",
|
||||
"defconfig": "ova",
|
||||
"architecture": "x86-64",
|
||||
"runner": "x86-64-runner",
|
||||
"label": "board/ova"
|
||||
},
|
||||
{
|
||||
"id": "generic-x86-64",
|
||||
"defconfig": "generic_x86_64",
|
||||
"architecture": "x86-64",
|
||||
"runner": "x86-64-runner",
|
||||
"label": "board/generic-x86-64"
|
||||
},
|
||||
{
|
||||
"id": "generic-aarch64",
|
||||
"defconfig": "generic_aarch64",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/generic-aarch64"
|
||||
},
|
||||
{
|
||||
"id": "khadas-vim3",
|
||||
"defconfig": "khadas_vim3",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/khadas"
|
||||
},
|
||||
{
|
||||
"id": "odroid-c2",
|
||||
"defconfig": "odroid_c2",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "odroid-c4",
|
||||
"defconfig": "odroid_c4",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "odroid-m1",
|
||||
"defconfig": "odroid_m1",
|
||||
"architecture": "aarch64",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "odroid-m1s",
|
||||
"defconfig": "odroid_m1s",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "odroid-n2",
|
||||
"defconfig": "odroid_n2",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "odroid-xu4",
|
||||
"defconfig": "odroid_xu4",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "rpi2",
|
||||
"defconfig": "rpi2",
|
||||
"architecture": "arm",
|
||||
"runner": "arm-runner",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "rpi3",
|
||||
"defconfig": "rpi3",
|
||||
"architecture": "arm",
|
||||
"runner": "arm-runner",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "rpi3-64",
|
||||
"defconfig": "rpi3_64",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "rpi4",
|
||||
"defconfig": "rpi4",
|
||||
"architecture": "arm",
|
||||
"runner": "arm-runner",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "rpi4-64",
|
||||
"defconfig": "rpi4_64",
|
||||
"architecture": "aarch64",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "rpi5-64",
|
||||
"defconfig": "rpi5_64",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "yellow",
|
||||
"defconfig": "yellow",
|
||||
"architecture": "aarch64",
|
||||
"runner": "aarch64-runner",
|
||||
"label": "board/yellow"
|
||||
},
|
||||
{
|
||||
"id": "green",
|
||||
"defconfig": "green",
|
||||
"architecture": "aarch64",
|
||||
"label": "board/green"
|
||||
},
|
||||
{
|
||||
"id": "tinker",
|
||||
"defconfig": "tinker",
|
||||
"architecture": "arm",
|
||||
"runner": "arm-runner",
|
||||
"label": "board/tinker"
|
||||
}
|
||||
]
|
||||
|
12
.github/workflows/pr-checks.yml
vendored
12
.github/workflows/pr-checks.yml
vendored
@@ -8,14 +8,8 @@ jobs:
|
||||
linters:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Install additional dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install \
|
||||
python3-flake8
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
@@ -27,8 +21,8 @@ jobs:
|
||||
- name: Check shell scripts
|
||||
uses: ludeeus/action-shellcheck@2.0.0
|
||||
with:
|
||||
ignore_paths: buildroot
|
||||
ignore: buildroot
|
||||
|
||||
- name: Check buildroot-external packages
|
||||
run: |
|
||||
buildroot/utils/check-package --exclude PackageHeader --exclude Upstream --br2-external buildroot-external/package/*/*
|
||||
buildroot/utils/check-package --exclude PackageHeader --br2-external buildroot-external/package/*/*
|
||||
|
2
.github/workflows/release-drafter.yml
vendored
2
.github/workflows/release-drafter.yml
vendored
@@ -13,6 +13,6 @@ jobs:
|
||||
pull-requests: read # for release-drafter/release-drafter to read PR content and labels
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: release-drafter/release-drafter@v6
|
||||
- uses: release-drafter/release-drafter@v5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
176
.github/workflows/release.yml
vendored
Normal file
176
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,176 @@
|
||||
# Home Assistant Operating System release build workflow
|
||||
|
||||
name: Release build
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
validate_release:
|
||||
name: Validate release
|
||||
runs-on: [ "ubuntu-20.04" ]
|
||||
outputs:
|
||||
version: ${{ steps.version_check.outputs.version }}
|
||||
version_dev: ${{ steps.version_check.outputs.version_dev }}
|
||||
matrix: ${{ steps.generate_matrix.outputs.result }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Validate version
|
||||
id: version_check
|
||||
run: |
|
||||
major=$(cat ${GITHUB_WORKSPACE}/buildroot-external/meta | grep VERSION_MAJOR | cut -d'=' -f2)
|
||||
build=$(cat ${GITHUB_WORKSPACE}/buildroot-external/meta | grep VERSION_BUILD | cut -d'=' -f2)
|
||||
tag_major=$(echo "${{ github.event.release.tag_name }}" | cut -d '.' -f 1)
|
||||
tag_build=$(echo "${{ github.event.release.tag_name }}" | cut -d '.' -f 2)
|
||||
tag_dev=$(echo "${{ github.event.release.tag_name }}" | cut -d '.' -f 3)
|
||||
if [ "${major}.${build}" != "${tag_major}.${tag_build}" ]; then
|
||||
echo "Version number in Buildroot metadata is does not match tag (${major}.${build} vs ${{ github.event.release.tag_name }})."
|
||||
exit 1
|
||||
fi
|
||||
if [ "" != "${tag_dev}" ]; then
|
||||
echo "version=${major}.${build}.${tag_dev}" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "version=${major}.${build}" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
echo "version_dev=${tag_dev}" >> $GITHUB_OUTPUT
|
||||
- name: Create build matrix
|
||||
uses: actions/github-script@v6
|
||||
id: generate_matrix
|
||||
with:
|
||||
script: |
|
||||
const boards = require('./.github/workflows/matrix.json')
|
||||
return { "board": boards }
|
||||
|
||||
build:
|
||||
permissions:
|
||||
contents: write # for actions/upload-release-asset to upload release asset
|
||||
name: Release build for ${{ matrix.board.id }}
|
||||
needs: validate_release
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.validate_release.outputs.matrix) }}
|
||||
runs-on: ${{ matrix.board.runner }}
|
||||
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Build container
|
||||
run: docker build -t haos-builder .
|
||||
|
||||
- name: 'Add release PKI certs'
|
||||
env:
|
||||
RAUC_CERTIFICATE: ${{ secrets.RAUC_CERTIFICATE }}
|
||||
RAUC_PRIVATE_KEY: ${{ secrets.RAUC_PRIVATE_KEY }}
|
||||
run: |
|
||||
echo -e "-----BEGIN CERTIFICATE-----\n${RAUC_CERTIFICATE}\n-----END CERTIFICATE-----" > cert.pem
|
||||
echo -e "-----BEGIN PRIVATE KEY-----\n${RAUC_PRIVATE_KEY}\n-----END PRIVATE KEY-----" > key.pem
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
BUILDER_UID="$(id -u)"
|
||||
BUILDER_GID="$(id -g)"
|
||||
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.defconfig }}
|
||||
|
||||
- name: Upload disk image
|
||||
if: ${{ matrix.board.id != 'ova' }}
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.img.xz
|
||||
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.img.xz
|
||||
asset_content_type: application/x-xz
|
||||
|
||||
- name: Upload rauc update
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.raucb
|
||||
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.raucb
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
- name: Upload ova image
|
||||
if: ${{ matrix.board.id == 'ova' }}
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.ova
|
||||
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.ova
|
||||
asset_content_type: application/x-tar
|
||||
|
||||
- name: Upload qcow2 image
|
||||
if: ${{ matrix.board.id == 'ova' || matrix.board.id == 'generic-aarch64' }}
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.qcow2.xz
|
||||
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.qcow2.xz
|
||||
asset_content_type: application/x-xz
|
||||
|
||||
- name: Upload vdi image
|
||||
if: ${{ matrix.board.id == 'ova' }}
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vdi.zip
|
||||
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vdi.zip
|
||||
asset_content_type: application/zip
|
||||
|
||||
- name: Upload vhdx image
|
||||
if: ${{ matrix.board.id == 'ova' }}
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vhdx.zip
|
||||
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vhdx.zip
|
||||
asset_content_type: application/zip
|
||||
|
||||
- name: Upload vmdk image
|
||||
if: ${{ matrix.board.id == 'ova' || matrix.board.id == 'generic-aarch64' }}
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vmdk.zip
|
||||
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vmdk.zip
|
||||
asset_content_type: application/zip
|
||||
|
||||
bump_version:
|
||||
name: Bump dev version to ${{ needs.validate_release.outputs.version }}
|
||||
needs: [ build, validate_release ]
|
||||
runs-on: [ "ubuntu-20.04" ]
|
||||
|
||||
steps:
|
||||
- name: Initialize git
|
||||
uses: home-assistant/actions/helpers/git-init@master
|
||||
with:
|
||||
name: ${{ secrets.GIT_NAME }}
|
||||
email: ${{ secrets.GIT_EMAIL }}
|
||||
token: ${{ secrets.GIT_TOKEN }}
|
||||
|
||||
- name: Bump Home Assistant OS beta version
|
||||
uses: home-assistant/actions/helpers/version-push@master
|
||||
with:
|
||||
key: "hassos[]"
|
||||
key-description: "Home Assistant OS"
|
||||
version: ${{ needs.validate_release.outputs.version }}
|
||||
channel: "beta"
|
4
.github/workflows/stale.yml
vendored
4
.github/workflows/stale.yml
vendored
@@ -3,7 +3,7 @@ name: Stale
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
schedule:
|
||||
- cron: "40 5 * * *"
|
||||
- cron: "0 * * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
# - No PRs marked as no-stale or pinned
|
||||
# - No issues marked as no-stale, help-wanted or pinned
|
||||
- name: 90 days stale issues & PRs policy
|
||||
uses: actions/stale@v9.1.0
|
||||
uses: actions/stale@v7.0.0
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 90
|
||||
|
101
.github/workflows/test.yaml
vendored
101
.github/workflows/test.yaml
vendored
@@ -1,101 +0,0 @@
|
||||
name: Test HAOS image
|
||||
run-name: "Test HAOS ${{ inputs.version || format('(OS build #{0})', github.event.workflow_run.run_number) }}"
|
||||
|
||||
on:
|
||||
# Manual test of specified version
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: Version of HAOS to test
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# Called by other workflows (e.g. build.yaml)
|
||||
workflow_call:
|
||||
inputs:
|
||||
use-artifact:
|
||||
# Workaround for GH weirdness: https://github.com/actions/runner/discussions/1884
|
||||
description: Download OS image using actions/download-artifact
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
version:
|
||||
description: Version of HAOS to test (as used in the name of the qcow2 image artifact)
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
test:
|
||||
if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }}
|
||||
|
||||
name: Test in QEMU
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install system dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y qemu-system-x86 ovmf
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.12
|
||||
|
||||
- name: Install Python requirements
|
||||
run:
|
||||
pip install -r tests/requirements.txt
|
||||
|
||||
- name: Download HAOS image
|
||||
if: ${{ !inputs.use-artifact }}
|
||||
run: |
|
||||
curl -sfL -o haos.qcow2.xz https://os-artifacts.home-assistant.io/${{github.event.inputs.version}}/haos_ova-${{github.event.inputs.version}}.qcow2.xz
|
||||
|
||||
- name: Get OS image artifact
|
||||
if: ${{ inputs.use-artifact }}
|
||||
uses: actions/download-artifact@v5
|
||||
with:
|
||||
name: haos_ova-${{ inputs.version }}.qcow2.xz
|
||||
|
||||
- name: Extract OS image
|
||||
run: |
|
||||
xz -dc haos*.qcow2.xz > tests/haos.qcow2
|
||||
rm haos*.qcow2.xz
|
||||
|
||||
- name: Enable KVM group perms
|
||||
run: |
|
||||
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --name-match=kvm
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
./tests/run_tests.sh --durations=0 --durations-min=5.0
|
||||
|
||||
- name: Archive logs
|
||||
uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: logs
|
||||
path: |
|
||||
tests/lg_logs/**
|
||||
|
||||
- name: Archive JUnit reports
|
||||
uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: junit_reports
|
||||
path: |
|
||||
tests/junit_reports/*.xml
|
||||
|
||||
- name: Publish test report
|
||||
uses: mikepenz/action-junit-report@v5
|
||||
if: always()
|
||||
with:
|
||||
report_paths: 'tests/junit_reports/*.xml'
|
||||
annotate_only: true
|
||||
detailed_summary: true
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -9,4 +9,4 @@ output*/
|
||||
*.pem
|
||||
|
||||
# vscode generated files
|
||||
.vscode*
|
||||
.vscode*
|
2
.gitmodules
vendored
2
.gitmodules
vendored
@@ -1,4 +1,4 @@
|
||||
[submodule "buildroot"]
|
||||
path = buildroot
|
||||
url = https://github.com/home-assistant/buildroot.git
|
||||
branch = 2024.02.x-haos
|
||||
branch = 2022.02.x-haos
|
||||
|
@@ -1,82 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Home Assistant OS - development builds</title>
|
||||
<link rel="shortcut icon" href="https://brands.home-assistant.io/homeassistant/icon.png">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: maroon;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Home Assistant OS - development builds</h1>
|
||||
<select id="os-builds"></select>
|
||||
<div id="os-builds-list"></div>
|
||||
<script>
|
||||
const buildSelect = document.getElementById('os-builds');
|
||||
const osBuildsList = document.getElementById('os-builds-list');
|
||||
|
||||
const fillVersions = async () => {
|
||||
try {
|
||||
const response = await fetch('/index.json');
|
||||
if (!response.ok) {
|
||||
const p = document.createElement('p');
|
||||
p.className = "error";
|
||||
p.textContent = "Could not load version index file.";
|
||||
osBuildsList.appendChild(p);
|
||||
return;
|
||||
}
|
||||
const items = await response.json();
|
||||
items.reverse();
|
||||
|
||||
items.forEach(buildVersion => {
|
||||
buildSelect.appendChild(new Option(buildVersion, buildVersion));
|
||||
});
|
||||
|
||||
buildSelect.dispatchEvent(new Event('change'));
|
||||
} catch (error) {
|
||||
console.error('Error fetching data:', error);
|
||||
}
|
||||
}
|
||||
|
||||
buildSelect.addEventListener('change', async function() {
|
||||
osBuildsList.innerHTML = '';
|
||||
|
||||
const buildVersion = this.value;
|
||||
|
||||
try {
|
||||
const response = await fetch(`/indexes/${buildVersion}.json`);
|
||||
if (!response.ok) {
|
||||
const p = document.createElement('p');
|
||||
p.className = "error";
|
||||
p.textContent = `Could not load index file for version ${buildVersion}.`;
|
||||
osBuildsList.appendChild(p);
|
||||
return;
|
||||
}
|
||||
const images = await response.json();
|
||||
|
||||
const ul = document.createElement('ul');
|
||||
images.forEach(image => {
|
||||
const li = document.createElement('li');
|
||||
const a = document.createElement('a');
|
||||
a.href =`/${buildVersion}/${image}`;
|
||||
a.textContent = image;
|
||||
li.appendChild(a);
|
||||
ul.appendChild(li);
|
||||
});
|
||||
|
||||
osBuildsList.appendChild(ul);
|
||||
} catch (error) {
|
||||
console.error('Error fetching images:', error);
|
||||
}
|
||||
});
|
||||
|
||||
fillVersions();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@@ -12,16 +12,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gpg \
|
||||
dirmngr \
|
||||
software-properties-common \
|
||||
&& curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg \
|
||||
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/docker.gpg] \
|
||||
https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list \
|
||||
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
|
||||
&& add-apt-repository "deb https://download.docker.com/linux/debian $(lsb_release -cs) stable" \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends \
|
||||
docker-ce \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Build tools
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
automake \
|
||||
bash \
|
||||
bc \
|
||||
binutils \
|
||||
@@ -31,14 +29,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
git \
|
||||
graphviz \
|
||||
help2man \
|
||||
jq \
|
||||
make \
|
||||
ncurses-dev \
|
||||
openssh-client \
|
||||
patch \
|
||||
perl \
|
||||
pigz \
|
||||
python3 \
|
||||
python3-matplotlib \
|
||||
python-is-python3 \
|
||||
@@ -46,7 +42,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
rsync \
|
||||
skopeo \
|
||||
sudo \
|
||||
texinfo \
|
||||
unzip \
|
||||
vim \
|
||||
wget \
|
||||
|
@@ -1,9 +1,9 @@
|
||||
# Documentation
|
||||
|
||||
Documentation for the Home Assistant Operating System is available at [developers.home-assistant.io/docs/operating-system/][docs].
|
||||
If you want to contribute to this documentation, please refer to the [home-assistant/developers.home-assistant][docs-repo] repository.
|
||||
## Contents
|
||||
|
||||
For the list of Linux kernel versions used currently in this branch of Home Assistant Operating System, see [kernel.md](./kernel.md).
|
||||
|
||||
[docs]: https://developers.home-assistant.io/docs/operating-system/
|
||||
[docs-repo]: https://github.com/home-assistant/developers.home-assistant/
|
||||
- [Configuration](./configuration.md) - how users can configure HAOS
|
||||
- [Network](./network.md) - approach to networking
|
||||
- [Bluetooth](./bluetooth.md) - approach to bluetooth
|
||||
- [Kernel](./kernel.md) - kernel versions
|
||||
- [Boards](./boards/README.md) - board specific documentation
|
||||
|
12
Documentation/bluetooth.md
Normal file
12
Documentation/bluetooth.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Bluetooth
|
||||
|
||||
We support `bluetoothctl` on the host. Later we want to support Bluetooth through the UI.
|
||||
All pairs and settings are persistent over reboots and updates.
|
||||
|
||||
If you want to setup Bluetooth on the host, use the `bluetoothctl` utility.
|
||||
|
||||
## Scan devices
|
||||
|
||||
```
|
||||
[bluetooth]# scan on
|
||||
```
|
56
Documentation/boards/README.md
Normal file
56
Documentation/boards/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Boards
|
||||
|
||||
## Overview
|
||||
|
||||
The following boards/devices are supported:
|
||||
|
||||
- Raspberry Pi
|
||||
- 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
|
||||
- ODROID-M1
|
||||
- ODROID-N2
|
||||
- ODROID-N2+
|
||||
- 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
|
||||
- Virtual appliance (x86_64/UEFI):
|
||||
- VMDK
|
||||
- OVA ?
|
||||
- VHDX ?
|
||||
- VDI ?
|
||||
- QCOW2 ?
|
||||
|
||||
Notes:
|
||||
- see ? above: are these currently supported? see ova documentation which explains issues with previous OVA distribution)
|
||||
|
||||
## Board specifics
|
||||
|
||||
|Board|Build|Config|Docs|
|
||||
|-----|----|------|----|
|
||||
|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-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-M1 |`make odroid_m1` |[odroid_m1](../../buildroot-external/configs/odroid_m1_defconfig)|[hardkernel](./hardkernel/)|
|
||||
|ODROID-N2/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/)|
|
31
Documentation/boards/asus/README.md
Normal file
31
Documentation/boards/asus/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Tinker Board
|
||||
|
||||
## Supported Hardware
|
||||
|
||||
| Device | Release Date | Support | Config |
|
||||
|----------------|---------------|---------|----------|
|
||||
| Tinker RK3288 | April 2017 | yes | [tinker](../../../buildroot-external/configs/tinker_defconfig) |
|
||||
| Tinker S RK3288| January 2018 | yes | [tinker](../../../buildroot-external/configs/tinker_defconfig) |
|
||||
| Tinker Edge T | November 2019 | no? | |
|
||||
| Tinker Edge R | November 2019 | no? | |
|
||||
|
||||
## eMMC
|
||||
|
||||
eMMC support is provided with the same image. Just flash the image to the eMMC by connecting your Tinker Board S to your PC via Micro-USB. Refer to the Tinkerboard documentation how-to flash using Micro-USB and UMS.
|
||||
|
||||
The Home Assistant OS provided U-Boot does support UMS as well,
|
||||
however manual intervention is necessary:
|
||||
|
||||
1. Set the jumper between Micro-USB and HDMI the maskrom mode
|
||||
2. Insert SD card and connect the board via Micro-USB to your PC
|
||||
3. Continusly press Ctrl+C to interrupt boot
|
||||
4. Set the jumper back to the park position
|
||||
5. Start UMS using:
|
||||
```
|
||||
ums 0 mmc 0
|
||||
```
|
||||
6. A mass storage device should appear. Flash Home Assistant OS to it.
|
||||
|
||||
## Serial console
|
||||
|
||||
To access the terminal over serial console, add `console=ttyS2,115200` to `cmdline.txt`. GPIO pins are: 34 = GND / 32 = UART TXD / 33 = UART RXD.
|
36
Documentation/boards/generic-aarch64/README.md
Normal file
36
Documentation/boards/generic-aarch64/README.md
Normal 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
|
62
Documentation/boards/generic-x86-64/README.md
Normal file
62
Documentation/boards/generic-x86-64/README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Generic x86-64
|
||||
|
||||
## Supported Hardware
|
||||
|
||||
This board configuration aims to support most x86-64 systems with UEFI boot. The
|
||||
main aim is to support Intel NUC mini PCs and similar systems. Hardware it has
|
||||
been tested with is listed below.
|
||||
|
||||
## Tested Hardware
|
||||
|
||||
| Device | Release Date | Support | Config |
|
||||
|-----------------------|--------------|---------|-------------|
|
||||
| Intel NUC5CPYH | Q3 2015 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
|
||||
| Intel NUC6CAYH | Q4 2016 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
|
||||
| Intel NUC6CAYS | Q4 2016 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
|
||||
| Intel NUC7i3DNHE | Q3 2017 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
|
||||
| Intel NUC10i3FNK2 | Q4 2019 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
|
||||
| Gigabyte GB-BPCE-3455 | 2017 | yes* | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
|
||||
|
||||
\* needs 'nomodeset' in cmdline.txt if you want a console
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
- x86-64 support
|
||||
- UEFI boot
|
||||
- SATA/AHCI or eMMC storage
|
||||
- Supported NIC:
|
||||
- Intel Gigabit NIC (e1000, igb - via Linux mainline)
|
||||
- Intel PCIe Gigabit NIC (e1000e - via out-of-tree module in *buildroot-external/package/intel-e1000e*)
|
||||
- Realtek Gigabit NIC (r8169)
|
||||
- Intel Wireless Wifi 802.11ac (iwlwifi, see below)
|
||||
|
||||
## Wifi
|
||||
|
||||
The following cards are supported:
|
||||
|
||||
- Intel Wireless 3160
|
||||
- Intel Wireless 7260
|
||||
- Intel Wireless 7265
|
||||
- Intel Wireless-AC 3165
|
||||
- Intel Wireless-AC 3168
|
||||
- Intel Wireless-AC 8260
|
||||
- Intel Wireless-AC 8265
|
||||
- Intel Wireless-AC 9260
|
||||
- Intel Wireless-AC 9461
|
||||
- Intel Wireless-AC 9462
|
||||
- Intel Wireless-AC 9560
|
||||
|
||||
## Bluetooth
|
||||
|
||||
Bluetooth integrated in Intel Wireless cards working OK, other options 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
|
27
Documentation/boards/hardkernel/README.md
Normal file
27
Documentation/boards/hardkernel/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# ODROID
|
||||
|
||||
## Supported Hardware
|
||||
|
||||
| Device | Release Date | Support | Config |
|
||||
|----------------|---------------|--------------|-----------|
|
||||
| ODROID-C2 | 2016 | yes | [odroid_c2](../../../buildroot-external/configs/odroid_c2_defconfig) |
|
||||
| ODROID-C4 | 2020 | yes | [odroid_c4](../../../buildroot-external/configs/odroid_c4_defconfig) |
|
||||
| ODROID-M1 | 2022 | yes | [odroid_m1](../../../buildroot-external/configs/odroid_m1_defconfig) |
|
||||
| ODROID-N2 | 2019 | yes | [odroid_n2](../../../buildroot-external/configs/odroid_n2_defconfig) |
|
||||
| ODROID-XU4 | 2015 | yes | [odroid_xu4](../../../buildroot-external/configs/odroid_xu4_defconfig)|
|
||||
|
||||
See separate documentation for each board.
|
||||
|
||||
## Connectivity devices
|
||||
|
||||
### Wi-Fi
|
||||
|
||||
The following devices have been tested on Home Assistant OS 5.8:
|
||||
|
||||
- [Bluetooth Module 2](https://www.hardkernel.com/shop/bluetooth-module-2/)
|
||||
- [WiFi Module 3](https://www.hardkernel.com/shop/wifi-module-3/)
|
||||
|
||||
The [WiFi Module 5A](https://www.hardkernel.com/shop/wifi-module-5a/) is not
|
||||
recommended as there is no upstream driver support available. The driver
|
||||
currently compatible with recent Linux kernel version seems to have issues
|
||||
connecting to 5GHz networks.
|
22
Documentation/boards/hardkernel/odroid-c2.md
Normal file
22
Documentation/boards/hardkernel/odroid-c2.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# ODROID-C2
|
||||
|
||||
## eMMC
|
||||
|
||||
eMMC support is provided transparently. Just flash the image to the eMMC board as you would an SD card.
|
||||
|
||||
## Console
|
||||
|
||||
By default, console access is granted over the serial header and over HDMI. Certain startup messages will only appear on the serial console by default. To show the messages on the HDMI console instead, swap the order of the two consoles in the `cmdline.txt` file on the boot partition. You can also delete the AML0 console if you don't plan on using the serial adapter.
|
||||
eg. `console=ttyAML0,115200n8 console=tty0`
|
||||
|
||||
## USB
|
||||
|
||||
A long-standing kernel bug currently results in some odd behavior. To use the USB, a device must be plugged into one of the USB ports at hard boot. If all devices are removed from the USB ports, the USB will cease to function until a reboot.
|
||||
|
||||
### OTG
|
||||
|
||||
The OTG USB is untested.
|
||||
|
||||
## GPIO
|
||||
|
||||
Refer to [the odroid wiki](https://wiki.odroid.com/odroid-c2/hardware/expansion_connectors).
|
16
Documentation/boards/hardkernel/odroid-c4.md
Normal file
16
Documentation/boards/hardkernel/odroid-c4.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# ODROID-C4
|
||||
|
||||
## Experimental
|
||||
|
||||
ODROID-C4 support is based heavily on the Odroid-C2 and N2 configurations. Given the similarity of the SoCs, as well as the comparable level of support in the Linux kernel, the C4 should hopefully present few surprises. However, Home Assistant support should be regarded as experimental.
|
||||
|
||||
Please also refer to the documentation pages for the [ODROID-C2](./odroid-c2.md) and [Odroid-N2](./odroid-n2.md), as some of that information may apply to the C4 as well.
|
||||
|
||||
Common C4 issues that have been specifically tested and appear to be working:
|
||||
- boot from SD
|
||||
- boot from eMMC
|
||||
- MAC address obtained from eFuse
|
||||
|
||||
## GPIO
|
||||
|
||||
Refer to [the odroid wiki](https://wiki.odroid.com/odroid-c4/hardware/expansion_connectors).
|
37
Documentation/boards/hardkernel/odroid-m1.md
Normal file
37
Documentation/boards/hardkernel/odroid-m1.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# ODROID-M1
|
||||
|
||||
Home Assistant OS 10 and newer support the ODROID-M1 board.
|
||||
|
||||
## SD-card
|
||||
|
||||
SD-card boot is supported via on-board bootloader (SPL) or recovery button.
|
||||
|
||||
## eMMC
|
||||
|
||||
eMMC boot is currently only supported via recovery button. eMMC boot via
|
||||
on-board bootloader will require an update of Petitboot (as of March 13 2023,
|
||||
this update hasn't been released yet.
|
||||
|
||||
## NVMe
|
||||
|
||||
Booting directly from NVMe is not supported. The NVMe card can be used as a data disk.
|
||||
|
||||
## Technical notes on boot flow
|
||||
|
||||
The Home Assistant OS image is bootable by the SoC directly. This means that no help
|
||||
from the Hardkernel provided and pre-installed bootloader Petitboot is necessary.
|
||||
However, the ODROID-M1 automatically boots from internal SPI. To boot
|
||||
directly off the SD-card or eMMC you need to press the recovery button.
|
||||
|
||||
The SPI flashed U-Boot SPL tries searches for an U-Boot binary on the SD-card
|
||||
(and future releases also on the eMMC). This mechanism allows you to boot the Home
|
||||
Assistant OS U-Boot without pressing the recovery button.
|
||||
|
||||
## Console
|
||||
|
||||
By default, console access is available on the serial header (CON1) and on HDMI.
|
||||
The serial console's baudrate is 1500000 by default.
|
||||
|
||||
The systemd startup messages will only appear on the serial console by default.
|
||||
To show the messages on the HDMI console instead, add the console manually
|
||||
to the `cmdline.txt` file on the boot partition (e.g. `console=tty0`).
|
18
Documentation/boards/hardkernel/odroid-n2.md
Normal file
18
Documentation/boards/hardkernel/odroid-n2.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# ODROID-N2
|
||||
|
||||
## eMMC
|
||||
|
||||
eMMC support is provided transparently. Just flash the image to the eMMC board as you would an SD card.
|
||||
|
||||
## Console
|
||||
|
||||
By default, console access is granted over the serial header and over HDMI. Certain startup messages will only appear on the serial console by default. To show the messages on the HDMI console instead, swap the order of the two consoles in the `cmdline.txt` file on the boot partition. You can also delete the AML0 console if you don't plan on using the serial adapter.
|
||||
eg. `console=ttyAML0,115200n8 console=tty0`
|
||||
|
||||
## GPIO
|
||||
|
||||
Refer to [the odroid wiki](https://wiki.odroid.com/odroid-n2/hardware/expansion_connectors).
|
||||
At this point not all functionality is supported by the upstream kernel used
|
||||
by Home Assistant OS.
|
||||
|
||||
The GPIO on pin 11 is used as a low active power button input.
|
29
Documentation/boards/hardkernel/odroid-xu4.md
Normal file
29
Documentation/boards/hardkernel/odroid-xu4.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# ODROID-XU4
|
||||
|
||||
## eMMC
|
||||
|
||||
The ODROID XU4 uses the eMMC boot partition to boot from. Typically eMMC readers can't write to this eMMC boot partition. There are a couple of possibilities:
|
||||
|
||||
1. **Working** e.g. the eMMC already had a working image before flashing HassOS:
|
||||
- It will be booting to U-Boot (but no further).
|
||||
- If you have the serial adapter, you should be able to enter `distro_bootcmd` at the uboot prompt to continue booting.
|
||||
- If not, flash the HassOS image to an SD card and boot off that temporarily (while the eMMC is also plugged in).
|
||||
- Once booted, login at the prompts and then enter `dd if=/dev/mmcblk0 of=/dev/mmcblk0boot0 bs=512 skip=63 seek=62 count=1440` at the linux prompt.
|
||||
- Reboot with eMMC (don't forget to flip the boot switch to eMMC)
|
||||
2. **Not Working** e.g. a clean/wiped/corruped eMMC boot partition:
|
||||
- You'll need to follow [Hardkernel's instructions](https://forum.odroid.com/viewtopic.php?f=53&t=6173) to get a working boot sector. Then flash HassOS and follow instructions above.
|
||||
- Alternatively, you can try flash HassOS to both an SD and eMMC, then boot off the SD with the eMMC also plugged in, then run `dd if=/dev/mmcblk1 of=/dev/mmcblk0boot0 bs=512 skip=1 seek=0 count=16381` at the Linux prompt. Note that this is untested, but in theory should work..
|
||||
|
||||
If you are getting permissions issues when using the dd command, try disabling RO:
|
||||
`echo 0 > /sys/block/mmcblk0boot0/force_ro`
|
||||
to re-enable after running dd:
|
||||
`echo 1 > /sys/block/mmcblk0boot0/force_ro`
|
||||
|
||||
## Console
|
||||
|
||||
By default, console access is granted over the serial header and over HDMI. Certain startup messages will only appear on the serial console by default. To show the messages on the HDMI console instead, swap the order of the two consoles in the `cmdline.txt` file on the boot partition. You can also delete the SAC2 console if you don't plan on using the serial adapter.
|
||||
eg. `console=tty1 console=ttySAC2,115200`
|
||||
|
||||
## GPIO
|
||||
|
||||
Refer to [the odroid wiki](https://wiki.odroid.com/odroid-xu4/hardware/expansion_connectors).
|
22
Documentation/boards/ova/README.md
Normal file
22
Documentation/boards/ova/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Virtual Machine
|
||||
|
||||
## Supported Hypervisors
|
||||
|
||||
| Hypervisor | Vendor | Support | Config |
|
||||
|---------------------|-----------|-----------------|--------------------|
|
||||
| HyperV | Microsoft | yes, via VMDK | [ova](../../../buildroot-external/configs/ova_defconfig) |
|
||||
| VirtualBox | Oracle | yes, via VMDK | [ova](../../../buildroot-external/configs/ova_defconfig) |
|
||||
| VMware | VMware | yes, via VMDK | [ova](../../../buildroot-external/configs/ova_defconfig) |
|
||||
|
||||
Currently we only publish a VMDK virtual disk due to issues with our previous OVA distribution. We are investigating our options to bring back the OVA distribution, however, the VMDK works for the hypervisors listed above.
|
||||
|
||||
## Requirements
|
||||
|
||||
Using this VMDK in a virtual machine requires the following:
|
||||
|
||||
- Operating system: Other 4.x or later Linux (64-bit)
|
||||
- Enabled support for UEFI boot
|
||||
- SATA disk controller
|
||||
- Minimal of 1GB RAM
|
||||
- At least 2x vCPU
|
||||
- An assigned network
|
50
Documentation/boards/raspberrypi/README.md
Normal file
50
Documentation/boards/raspberrypi/README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Raspberry PI
|
||||
|
||||
## Supported Hardware
|
||||
|
||||
| Device | Release Date | Support | Config |
|
||||
|---------------------|---------------|-----------------|--------------------|
|
||||
| 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 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) |
|
||||
|
||||
## Serial console
|
||||
|
||||
For access to terminal over serial console, add `console=ttyAMA0,115200` to `cmdline.txt` and `enable_uart=1`, `dtoverlay=pi3-disable-bt` into `config.txt`. GPIO pins are: 6 = GND / 8 = UART TXD / 10 = UART RXD.
|
||||
|
||||
## I2C
|
||||
|
||||
Add `dtparam=i2c1=on` and `dtparam=i2c_arm=on` to `config.txt`. After that we create a module file on host with [config usb stick][config] or direct into `/etc/modules-load.d`.
|
||||
|
||||
rpi-i2c.conf:
|
||||
```
|
||||
i2c-dev
|
||||
i2c-bcm2708
|
||||
```
|
||||
|
||||
## USB Boot
|
||||
|
||||
USB mass storage boot is available on Raspberry Pi 4 (64-bit only), 3B, 3B+, 3A+, and 2B v1.2.
|
||||
|
||||
For Raspberry 3B, 3A+ and 2B v1.2, to enable USB boot, add `program_usb_boot_mode=1` into `config.txt`. Note that this **permanently** alters the one-time programmable memory of the device.
|
||||
|
||||
For Raspberry 4
|
||||
|
||||
* Make sure to update the bootloader to a stable release supporting USB mass storage boot (see [bcm2711_bootloader_config.md](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md#usbmassstorageboot)).
|
||||
* If no SD card is used add `sd_poll_once=on` to `dtparam` in `config.txt` (comma separated). This gets rid of `mmc0: timeout waiting for hardware interrupt` kernel errors.
|
||||
* If install still fails, then your SSD likely needs quirks enabled to work correctly (see [Finding the VID and PID of your USB SSD](https://www.raspberrypi.org/forums/viewtopic.php?t=245931)). Once you find your adapter's ID, add the quirks parameter in `cmdline.txt`.
|
||||
|
||||
For more information see [RaspberryPi](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md).
|
||||
|
||||
### Caveats
|
||||
|
||||
* All bootable SD cards must be removed.
|
||||
* Boot time can be significantly longer with USB. This is due to the boot process first attempting to boot from SD card, failing, and resorting to USB.
|
||||
* Many USB drives simply do not work for boot. This is likely due to minimal driver support in uboot and will not be fixed. If you can't get it to boot on one drive, try a different brand/model. SanDisk Cruzer drives seem to have a higher rate of issues.
|
||||
|
||||
## Tweaks
|
||||
|
||||
If you don't need bluetooth, disabled it with add `dtoverlay=pi3-disable-bt` into `config.txt`.
|
||||
|
||||
[config]: ../../configuration.md#automatic
|
63
Documentation/configuration.md
Normal file
63
Documentation/configuration.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Configuration
|
||||
|
||||
## Automatic
|
||||
|
||||
You can use an USB drive with HassOS to configure network options, SSH access to the host and to install updates.
|
||||
Format a USB stick with FAT32/EXT4/NTFS and name it `CONFIG` (in all capitals). Alternative you can create a `CONFIG` folder inside the `boot` partition. Use the following directory structure within the USB drive:
|
||||
|
||||
```text
|
||||
network/
|
||||
modules/
|
||||
modprobe/
|
||||
udev/
|
||||
authorized_keys
|
||||
timesyncd.conf
|
||||
hassos-xy.raucb
|
||||
```
|
||||
|
||||
- The `network` folder can contain any kind of NetworkManager connection files. For more information see [Network][network.md].
|
||||
- The `modules` folder is for modules-load configuration files.
|
||||
- The `modprobe` folder is for modules configuration files (/etc/modprobe.d)
|
||||
- The `udev` folder is for udev rules files.
|
||||
- The `authorized_keys` file activates debug SSH access on port `22222`. See [Debugging Home Assistant][debug-homeassistant].
|
||||
- The `timesyncd.conf` file allow you to set different NTP servers. HassOS won't boot without correct working time servers!
|
||||
- The `hassos-*.raucb` file is a firmware OTA update which will be installed. These can be found on on the [release][hassos-release] page.
|
||||
|
||||
Text files that are on USB stick must have Unix (LF) end of line characters. If you create USB stick on Windows machine, be sure to use Notepad++, Visual Studio Code or any other editor, that supports different line endings. In Notepad++ LF EOL can be enabled with setting `Edit -> EOL Conversion -> Unix (LF)`.
|
||||
|
||||
You can put this USB stick into the device and it will be read on startup and files written to the correct places. You can also trigger this process later using `ha os import` from the CLI or by calling `systemctl restart hassos-config` on the OS shell. *The USB Stick just needs to be inserted to the device during this setup process and can be removed afterwards.*
|
||||
|
||||
## Local
|
||||
|
||||
### Bootargs
|
||||
|
||||
You can edit or create a `cmdline.txt` in your boot partition. That will be read from the bootloader.
|
||||
|
||||
### Kernel-Module
|
||||
|
||||
The kernel module folder `/etc/modules-load.d` is persistent and you can add your configuration files there. See [Systemd modules load][systemd-modules]. You can add the modules configuration files in `/etc/modprobe.d` that is also persistent.
|
||||
|
||||
### Udev rules
|
||||
|
||||
The udev rules folder `/etc/udev/rules.d` is persistent and you can add your configuration files there.
|
||||
|
||||
### Network
|
||||
|
||||
You can manual add, edit or remove connections configurations from `/etc/NetworkManager/system-connections`.
|
||||
|
||||
### NTP
|
||||
|
||||
You can manual edit the systemd timesync file on `/etc/systemd/timesyncd.conf`.
|
||||
|
||||
Our default NTP configuration look like:
|
||||
|
||||
```
|
||||
[Time]
|
||||
NTP=time.cloudflare.com
|
||||
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org
|
||||
```
|
||||
|
||||
[systemd-modules]: https://www.freedesktop.org/software/systemd/man/modules-load.d.html
|
||||
[network.md]: network.md
|
||||
[hassos-release]: https://github.com/home-assistant/hassos/releases/
|
||||
[debug-homeassistant]: https://developers.home-assistant.io/docs/operating-system/debugging
|
@@ -1,24 +1,23 @@
|
||||
|
||||
# Kernel Version
|
||||
|
||||
Default Kernel tree: 5.15
|
||||
|
||||
| Board | Version |
|
||||
|-------|---------|
|
||||
| Open Virtual Appliance | 6.12.43 |
|
||||
| Raspberry Pi | 6.12.34 |
|
||||
| Raspberry Pi 0-W | 6.12.34 |
|
||||
| Raspberry Pi 2 | 6.12.34 |
|
||||
| Raspberry Pi 3 | 6.12.34 |
|
||||
| Raspberry Pi 4 | 6.12.34 |
|
||||
| Raspberry Pi 5 | 6.12.34 |
|
||||
| Home Assistant Yellow | 6.12.34 |
|
||||
| Home Assistant Green | 6.12.43 |
|
||||
| Tinker Board | 6.12.43 |
|
||||
| ODROID-C2 | 6.12.43 |
|
||||
| ODROID-C4 | 6.12.43 |
|
||||
| ODROID-M1 | 6.12.43 |
|
||||
| ODROID-M1S | 6.12.43 |
|
||||
| ODROID-N2 | 6.12.43 |
|
||||
| ODROID-XU4 | 6.12.43 |
|
||||
| Generic aarch64 | 6.12.43 |
|
||||
| Generic x86-64 | 6.12.43 |
|
||||
| Khadas VIM3 | 6.12.43 |
|
||||
| Open Virtual Appliance | 6.1.24 |
|
||||
| Raspberry Pi | 6.1.21 |
|
||||
| Raspberry Pi 0-W | 6.1.21 |
|
||||
| Raspberry Pi 2 | 6.1.21 |
|
||||
| Raspberry Pi 3 | 6.1.21 |
|
||||
| Raspberry Pi 4 | 6.1.21 |
|
||||
| Home Assistant Yellow | 6.1.21 |
|
||||
| Tinker Board | 6.1.24 |
|
||||
| ODROID-C2 | 6.1.24 |
|
||||
| ODROID-C4 | 6.1.24 |
|
||||
| ODROID-M1 | 6.1.24 |
|
||||
| ODROID-N2 | 6.1.24 |
|
||||
| ODROID-XU4 | 6.1.24 |
|
||||
| Generic aarch64 | 6.1.24 |
|
||||
| Generic x86-64 | 6.1.24 |
|
||||
| Khadas VIM3 | 6.1.24 |
|
||||
|
193
Documentation/network.md
Normal file
193
Documentation/network.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# Network
|
||||
|
||||
Home Assistant Operating System uses NetworkManager to control the host network.
|
||||
|
||||
## Configure network
|
||||
|
||||
By default the device will be in DHCP state.
|
||||
|
||||
Basic network settings can be set through the Supervisor frontend in the System
|
||||
tab. Advanced configurations such as VLAN are also available through the
|
||||
`ha network` CLI command.
|
||||
|
||||
To restore the default configuration the `ha network` CLI command can be used as
|
||||
well:
|
||||
|
||||
```
|
||||
ha network update default --ipv4-method auto
|
||||
```
|
||||
|
||||
If more advanced network settings are required network connection files can be
|
||||
placed on a USB drive and imported to the host as described in
|
||||
[Configuration][configuration-usb].
|
||||
|
||||
## Manual Network Configuration
|
||||
|
||||
If the frontend or `ha network` CLI cannot meet your use case, it is still
|
||||
possible to configure the underlying NetworkManager manually.
|
||||
|
||||
You can read the [NetworkManager manual][nm-manual] or find many configuration
|
||||
examples across the internet. Note that changes to `NetworkManager.conf` are
|
||||
not supported currently, only connection keyfiles are supported. Keep in mind
|
||||
that the system is read-only. If you don't want the IP address to change on
|
||||
every boot, you should modify the UUID property to a generic [UUID4][uuid].
|
||||
Inside the `\CONFIG\network\` directory on the USB drive or SD card, create a
|
||||
file called `my-network` and add the appropriate contents below:
|
||||
|
||||
**NOTE: Please make sure to save this file with UNIX line endings (LF, and not Windows' default CRLF endings). You can do this using Notepad these days!**
|
||||
|
||||
### Default
|
||||
|
||||
A preinstalled connection profile for wired network is active by default:
|
||||
|
||||
```ini
|
||||
[connection]
|
||||
id=Home Assistant OS default
|
||||
uuid=f62bf7c2-e565-49ff-bbfc-a4cf791e6add
|
||||
type=802-3-ethernet
|
||||
llmnr=2
|
||||
mdns=2
|
||||
|
||||
[ipv4]
|
||||
method=auto
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=auto
|
||||
```
|
||||
|
||||
### Wired connection to the LAN
|
||||
|
||||
```ini
|
||||
[connection]
|
||||
id=my-network
|
||||
uuid=d55162b4-6152-4310-9312-8f4c54d86afa
|
||||
type=802-3-ethernet
|
||||
llmnr=2
|
||||
mdns=2
|
||||
|
||||
[ipv4]
|
||||
method=auto
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=auto
|
||||
```
|
||||
|
||||
### Wireless LAN WPA/PSK
|
||||
|
||||
```ini
|
||||
[connection]
|
||||
id=my-network
|
||||
uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
|
||||
type=802-11-wireless
|
||||
|
||||
[802-11-wireless]
|
||||
mode=infrastructure
|
||||
ssid=MY_SSID
|
||||
# Uncomment below if your SSID is not broadcasted
|
||||
#hidden=true
|
||||
|
||||
[802-11-wireless-security]
|
||||
auth-alg=open
|
||||
key-mgmt=wpa-psk
|
||||
psk=MY_WLAN_SECRET_KEY
|
||||
|
||||
[ipv4]
|
||||
method=auto
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=auto
|
||||
```
|
||||
|
||||
### Static IP
|
||||
|
||||
Replace the following configuration:
|
||||
|
||||
```ini
|
||||
[ipv4]
|
||||
method=manual
|
||||
address=192.168.1.111/24;192.168.1.1
|
||||
dns=8.8.8.8;8.8.4.4;
|
||||
```
|
||||
|
||||
For `address`, the value before the semicolon is the IP address and subnet prefix bitlength. The second value (after the semicolon) is the IP address of the local gateway.
|
||||
|
||||
## Tips
|
||||
|
||||
### Reset network
|
||||
|
||||
If you want to reset the network configuration back to the default connection
|
||||
profile using DHCP, use the following commands on the host console:
|
||||
|
||||
```bash
|
||||
# rm -r /mnt/overlay/etc/NetworkManager/system-connections
|
||||
# reboot
|
||||
```
|
||||
|
||||
Home Assistant OS will recreate the default connection profile during boot.
|
||||
|
||||
### Enabling Wi-Fi
|
||||
|
||||
Wi-Fi is discouraged for reliability reasons. However, if you still prefer to use Wi-Fi, you can us the `ha network` command to set up Wi-Fi (example for a Raspberry Pi 4, check `ha network info` to check if your board supports Wi-Fi and the name of the Wi-Fi device):
|
||||
|
||||
```bash
|
||||
ha network update wlan0 --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:
|
||||
|
||||
```ini
|
||||
[wifi]
|
||||
# Values are 0 (use default), 1 (ignore/don't touch), 2 (disable) or 3 (enable).
|
||||
powersave=0
|
||||
```
|
||||
|
||||
## Using `nmcli` to set a static IPv4 address
|
||||
|
||||
Log into the the Home Assistant OS base system via a console:
|
||||
|
||||
```bash
|
||||
Welcome to Home Assistant
|
||||
homeassistant login:
|
||||
```
|
||||
|
||||
- Login as `root` (no password needed). At the `ha >` prompt, type `login` (as instructed).
|
||||
|
||||
From there you use the `nmcli` configuration tool.
|
||||
|
||||
- `# nmcli con show` will list the "Home Assistant OS default" connection in use.
|
||||
- `# nmcli con show "Home Assistant OS default"` will list all the properties of the connection.
|
||||
|
||||
To start editing the configuration setting for "Home Assistant OS default":
|
||||
|
||||
```bash
|
||||
# nmcli con edit "Home Assistant OS default"
|
||||
```
|
||||
|
||||
To add your static IP address (select 'yes' for manual method);
|
||||
|
||||
```bash
|
||||
nmcli> set ipv4.addresses 192.168.100.10/24
|
||||
Do you also want to set 'ipv4.method' to 'manual'? [yes]:
|
||||
```
|
||||
|
||||
In addition, it's recommended to set the DNS server and the local gateway. For most home routers the DNS server will have the same IP address as the router itself. If you are using Pi-Hole or a third-party DNS system then you can set the DNS server to that.
|
||||
|
||||
```bash
|
||||
nmcli> set ipv4.dns 192.168.100.1
|
||||
nmcli> set ipv4.gateway 192.168.100.1
|
||||
```
|
||||
|
||||
`nmcli> print ipv4` will show you the IPv4 properties of this connection. With `nmcli> save` you will save the changes afterwards.
|
||||
|
||||
If you now view the default connection `cat /etc/NetworkManager/system-connections/default` you should see the method is manual and the address is set.
|
||||
|
||||
Doing a `nmcli con reload` does not always work, so restart the virtual machine or the physical system.
|
||||
|
||||
[nm-manual]: https://developer.gnome.org/NetworkManager/stable/manpages.html
|
||||
[configuration-usb]: configuration.md
|
||||
[uuid]: https://www.uuidgenerator.net/
|
BIN
Documentation/usb-disk.png
Normal file
BIN
Documentation/usb-disk.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
62
Makefile
62
Makefile
@@ -1,8 +1,11 @@
|
||||
BUILDDIR:=$(shell pwd)
|
||||
RELEASE_DIR = $(BUILDDIR)/release
|
||||
|
||||
BUILDROOT=$(BUILDDIR)/buildroot
|
||||
BUILDROOT_EXTERNAL=$(BUILDDIR)/buildroot-external
|
||||
DEFCONFIG_DIR = $(BUILDROOT_EXTERNAL)/configs
|
||||
VERSION_DATE := $(shell date --utc +'%Y%m%d')
|
||||
VERSION_DEV := "dev$(VERSION_DATE)"
|
||||
|
||||
TARGETS := $(notdir $(patsubst %_defconfig,%,$(wildcard $(DEFCONFIG_DIR)/*_defconfig)))
|
||||
TARGETS_CONFIG := $(notdir $(patsubst %_defconfig,%-config,$(wildcard $(DEFCONFIG_DIR)/*_defconfig)))
|
||||
@@ -14,48 +17,41 @@ else
|
||||
override O := $(BUILDDIR)/$(O)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
.NOTPARALLEL: $(TARGETS) $(TARGETS_CONFIG) all
|
||||
|
||||
COLOR_STEP := $(shell tput smso 2>/dev/null)
|
||||
COLOR_WARN := $(shell (tput setab 3; tput setaf 0) 2>/dev/null)
|
||||
TERM_RESET := $(shell tput sgr0 2>/dev/null)
|
||||
.PHONY: $(TARGETS) $(TARGETS_CONFIG) all clean help
|
||||
|
||||
################################################################################
|
||||
all: $(TARGETS)
|
||||
|
||||
.NOTPARALLEL: $(TARGETS) $(TARGETS_CONFIG) default
|
||||
$(RELEASE_DIR):
|
||||
mkdir -p $(RELEASE_DIR)
|
||||
|
||||
.PHONY: $(TARGETS) $(TARGETS_CONFIG) default buildroot-help help
|
||||
|
||||
# fallback target when target undefined here is given
|
||||
.DEFAULT:
|
||||
@echo "$(COLOR_STEP)=== Falling back to Buildroot target '$@' ===$(TERM_RESET)"
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) "$@"
|
||||
|
||||
# default target when no target is given - must be first in Makefile
|
||||
default:
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL)
|
||||
savedefconfig:
|
||||
@echo "config $*"
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) "savedefconfig"
|
||||
|
||||
$(TARGETS_CONFIG): %-config:
|
||||
@if [ -f $(O)/.config ] && ! grep -q 'BR2_DEFCONFIG="$(DEFCONFIG_DIR)/$*_defconfig"' $(O)/.config; then \
|
||||
echo "$(COLOR_WARN)WARNING: Output directory '$(O)' already contains files for another target!$(TERM_RESET)"; \
|
||||
echo " Before running build for a different target, run 'make distclean' first."; \
|
||||
echo ""; \
|
||||
bash -c 'read -t 10 -p "Waiting 10s, press enter to continue or Ctrl-C to abort..."' || true; \
|
||||
fi
|
||||
@echo "$(COLOR_STEP)=== Using $*_defconfig ===$(TERM_RESET)"
|
||||
@echo "config $*"
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) "$*_defconfig"
|
||||
|
||||
$(TARGETS): %: %-config
|
||||
@echo "$(COLOR_STEP)=== Building $@ ===$(TERM_RESET)"
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL)
|
||||
$(TARGETS): %: $(RELEASE_DIR) %-config
|
||||
@echo "build $@"
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) VERSION_DEV=$(VERSION_DEV)
|
||||
cp -f $(O)/images/haos_* $(RELEASE_DIR)/
|
||||
|
||||
buildroot-help:
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) help
|
||||
# Do not clean when building for one target
|
||||
ifneq ($(words $(filter $(TARGETS),$(MAKECMDGOALS))), 1)
|
||||
@echo "clean $@"
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) clean
|
||||
endif
|
||||
@echo "finished $@"
|
||||
|
||||
clean:
|
||||
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) clean
|
||||
|
||||
help:
|
||||
@echo "Run 'make <target>' to build a target image."
|
||||
@echo "Run 'make <target>-config' to configure buildroot for a target."
|
||||
@echo ""
|
||||
@echo "Supported targets: $(TARGETS)"
|
||||
@echo ""
|
||||
@echo "Unknown Makefile targets fall back to Buildroot make - for details run 'make buildroot-help'"
|
||||
@echo "Run 'make <target>' to build a target image."
|
||||
@echo "Run 'make all' to build all target images."
|
||||
@echo "Run 'make clean' to clean the build output."
|
||||
@echo "Run 'make <target>-config' to configure buildroot for a target."
|
||||
|
@@ -2,9 +2,7 @@
|
||||
|
||||
Home Assistant Operating System (formerly HassOS) is a Linux based operating system optimized to host [Home Assistant](https://www.home-assistant.io) and its [Add-ons](https://www.home-assistant.io/addons/).
|
||||
|
||||
Home Assistant Operating System uses Docker as its container engine. By default it deploys the Home Assistant Supervisor as a container. Home Assistant Supervisor in turn uses the Docker container engine to control Home Assistant Core and Add-Ons in separate containers. Home Assistant Operating System is **not** based on a regular Linux distribution like Ubuntu. It is built using [Buildroot](https://buildroot.org/) and it is optimized to run Home Assistant. It targets single board compute (SBC) devices like the Raspberry Pi or ODROID but also supports x86-64 systems with UEFI.
|
||||
|
||||
[](https://www.openhomefoundation.org/)
|
||||
Home Assistant Operating System uses Docker as Container engine. It by default deploys the Home Assistant Supervisor as a container. Home Assistant Supervisor in turn uses the Docker container engine to control Home Assistant Core and Add-Ons in separate containers. Home Assistant Operating System is **not** based on a regular Linux distribution like Ubuntu. It is built using [Buildroot](https://buildroot.org/) and it is optimized to run Home Assistant. It targets single board compute (SBC) devices like the Raspberry Pi or ODROID but also supports x86-64 systems with UEFI.
|
||||
|
||||
## Features
|
||||
|
||||
@@ -16,7 +14,6 @@ Home Assistant Operating System uses Docker as its container engine. By default
|
||||
|
||||
## Supported hardware
|
||||
|
||||
- Nabu Casa
|
||||
- Raspberry Pi
|
||||
- Hardkernel ODROID
|
||||
- Asus Tinker Board
|
||||
@@ -40,7 +37,7 @@ The Home Assistant Operating System documentation can be found on the [Home Assi
|
||||
### Components
|
||||
|
||||
- **Bootloader:**
|
||||
- [GRUB](https://www.gnu.org/software/grub/) for devices that support UEFI
|
||||
- [Barebox](https://barebox.org/) for devices that support UEFI
|
||||
- [U-Boot](https://www.denx.de/wiki/U-Boot) for devices that don't support UEFI
|
||||
- **Operating System:**
|
||||
- [Buildroot](https://buildroot.org/) LTS Linux
|
||||
@@ -58,4 +55,4 @@ The Home Assistant Operating System documentation can be found on the [Home Assi
|
||||
|
||||
The Development build GitHub Action Workflow is a manually triggered workflow
|
||||
which creates Home Assistant OS development builds. The development builds are
|
||||
available at [https://os-artifacts.home-assistant.io/index.html](https://os-artifacts.home-assistant.io/index.html).
|
||||
available at [os-builds.home-assistant.io](https://os-builds.home-assistant.io/).
|
||||
|
Submodule buildroot updated: 49cc269143...acec896cab
@@ -2,8 +2,6 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-rtl8723/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/gasket/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/hailo8-firmware/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/hailo-pci/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/hardkernel-boot/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/hassio/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/khadas-boot/Config.in"
|
||||
@@ -17,5 +15,4 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-rf-mod/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/rtl88x2bu/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/tempio/Config.in.host"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/udisks2/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/vcgencmd/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/xe-guest-utilities/Config.in"
|
||||
|
@@ -1 +1 @@
|
||||
console=ttyS0 console=tty0
|
||||
console=tty1 console=ttyS0
|
||||
|
@@ -60,7 +60,7 @@ fi
|
||||
|
||||
save_env A_TRY A_OK B_TRY B_OK ORDER MACHINE_ID
|
||||
|
||||
default_cmdline="rootwait zram.enabled=1 zram.num_devices=3 systemd.machine_id=$MACHINE_ID fsck.repair=yes $boot_condition"
|
||||
default_cmdline="rootwait zram.enabled=1 zram.num_devices=3 net.naming-scheme=v250 systemd.machine_id=$MACHINE_ID fsck.repair=yes $boot_condition"
|
||||
file_env -f ($root)/cmdline.txt cmdline
|
||||
|
||||
# root is a full HDD/partition definition in GRUB format like hd0,gpt1
|
||||
|
@@ -10,9 +10,6 @@ function hassos_pre_image() {
|
||||
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
|
||||
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set ORDER="A B"
|
||||
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_OK=1
|
||||
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_TRY=0
|
||||
|
||||
cp -r "${EFIPART_DATA}/"* "${BOOT_DATA}/"
|
||||
}
|
||||
@@ -20,12 +17,11 @@ function hassos_pre_image() {
|
||||
|
||||
function hassos_post_image() {
|
||||
convert_disk_image_virtual vmdk
|
||||
convert_disk_image_virtual vdi
|
||||
convert_disk_image_virtual qcow2
|
||||
|
||||
convert_disk_image_zip vmdk
|
||||
convert_disk_image_zip vdi
|
||||
convert_disk_image_xz qcow2
|
||||
|
||||
convert_disk_image_xz
|
||||
}
|
||||
|
||||
|
@@ -1,43 +1,17 @@
|
||||
CONFIG_EFI_STUB=y
|
||||
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
|
||||
|
||||
CONFIG_CONNECTOR=y
|
||||
|
||||
CONFIG_VSOCKETS=y
|
||||
|
||||
CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_BALLOON=m
|
||||
CONFIG_VIRTIO_MEM=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=m
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_VIRTIO_IOMMU=m
|
||||
CONFIG_CRYPTO_ENGINE=m
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
|
||||
# options for backward compatibility
|
||||
CONFIG_ARMV8_DEPRECATED=y
|
||||
CONFIG_SWP_EMULATION=y
|
||||
CONFIG_CP15_BARRIER_EMULATION=y
|
||||
CONFIG_SETEND_EMULATION=y
|
||||
|
||||
# These options are needed for virtio-fs
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_VIRTIO_FS=y
|
||||
CONFIG_DAX=y
|
||||
CONFIG_FS_DAX=y
|
||||
CONFIG_ZONE_DEVICE=y
|
||||
|
||||
CONFIG_DMI_SYSFS=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
|
||||
CONFIG_NVME_CORE=y
|
||||
CONFIG_BLK_DEV_NVME=y
|
||||
@@ -45,6 +19,7 @@ CONFIG_NVME_HWMON=y
|
||||
|
||||
CONFIG_DRM_VIRTIO_GPU=m
|
||||
|
||||
CONFIG_HYPERVISOR_GUEST=y
|
||||
CONFIG_HYPERV=y
|
||||
CONFIG_HYPERV_UTILS=m
|
||||
CONFIG_HYPERV_BALLOON=m
|
||||
@@ -55,30 +30,3 @@ CONFIG_HYPERV_VSOCKETS=m
|
||||
CONFIG_PCI_HYPERV=m
|
||||
CONFIG_PCI_HYPERV_INTERFACE=m
|
||||
CONFIG_FB_HYPERV=y
|
||||
|
||||
CONFIG_I6300ESB_WDT=y
|
||||
|
||||
# GPIO support
|
||||
CONFIG_GPIO_ZYNQ=y
|
||||
CONFIG_GPIO_PCA9570=y
|
||||
|
||||
# PHY drivers
|
||||
CONFIG_PHY_XILINX_ZYNQMP=y
|
||||
|
||||
# USB support
|
||||
CONFIG_USB_ONBOARD_DEV=y
|
||||
CONFIG_USB_ONBOARD_DEV_USB5744=y
|
||||
|
||||
# i2c support
|
||||
CONFIG_I2C_CADENCE=y
|
||||
|
||||
# 1-wire
|
||||
CONFIG_W1_MASTER_AMD_AXI=m
|
||||
CONFIG_W1_SLAVE_THERM=m
|
||||
|
||||
# IIO
|
||||
CONFIG_XILINX_AMS=m
|
||||
|
||||
# Audio drivers
|
||||
CONFIG_SND_HDA_INTEL=m
|
||||
CONFIG_SND_HDA_GENERIC=m
|
||||
|
@@ -3,9 +3,9 @@ BOARD_NAME="Generic aarch64"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=grub
|
||||
KERNEL_FILE=Image
|
||||
PARTITION_TABLE_TYPE=gpt
|
||||
BOOT_SYS=efi
|
||||
BOOT_SIZE=32M
|
||||
BOOT_SPL=false
|
||||
DISK_SIZE=6G
|
||||
DISK_SIZE=6
|
||||
SUPERVISOR_MACHINE=qemuarm-64
|
||||
SUPERVISOR_ARCH=aarch64
|
||||
|
@@ -3,6 +3,7 @@
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp -t "${BOOT_DATA}" \
|
||||
"${BINARIES_DIR}/boot.scr" \
|
||||
@@ -12,7 +13,14 @@ function hassos_pre_image() {
|
||||
mkdir -p "${BOOT_DATA}/overlays"
|
||||
cp "${BINARIES_DIR}"/*.dtbo "${BOOT_DATA}/overlays/"
|
||||
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
|
||||
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
|
||||
|
||||
echo "console=tty1" > "${BOOT_DATA}/cmdline.txt"
|
||||
|
||||
# SPL
|
||||
create_spl_image
|
||||
|
||||
dd if="${BINARIES_DIR}/idbloader.img" of="${SPL_IMG}" conv=notrunc bs=512 seek=64
|
||||
dd if="${BINARIES_DIR}/u-boot-dtb.img" of="${SPL_IMG}" conv=notrunc bs=512 seek=8192
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1 +0,0 @@
|
||||
console=tty0
|
@@ -1,13 +0,0 @@
|
||||
image spl.img {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
|
||||
hdimage {
|
||||
partition-table-type = "none"
|
||||
fill = "yes"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
offset = 32k
|
||||
image = "u-boot-rockchip.bin"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@ BOARD_NAME="Asus TinkerBoard"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=zImage
|
||||
PARTITION_TABLE_TYPE=hybrid
|
||||
BOOT_SYS=hybrid
|
||||
BOOT_SIZE=24M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=8M
|
||||
|
@@ -1,7 +0,0 @@
|
||||
partition spl {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
image = "spl.img"
|
||||
in-partition-table = "no"
|
||||
offset = 0
|
||||
holes = {"(0; 17k)"}
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
From 675fbbc309e4f7c805cf4fbd7c463cfc8308b54e Mon Sep 17 00:00:00 2001
|
||||
From 3553f8a938dbb498aa1846a37ea343b7f53739da Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Wed, 17 Feb 2021 19:55:41 +0100
|
||||
Subject: [PATCH] Revert "ARM: dts: rockchip: use DMA channels for UARTs for
|
||||
@@ -6,14 +7,14 @@ Subject: [PATCH] Revert "ARM: dts: rockchip: use DMA channels for UARTs for
|
||||
|
||||
This reverts commit 3425fe335c29310f6628faf9a7947d07f32d8962.
|
||||
---
|
||||
arch/arm/boot/dts/rockchip/rk3288.dtsi | 8 --------
|
||||
arch/arm/boot/dts/rk3288.dtsi | 8 --------
|
||||
1 file changed, 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
index 3f1d640afafae..becf3abd8367f 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
@@ -387,8 +387,6 @@ uart0: serial@ff180000 {
|
||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
||||
index 487b0e03d4b4..1569b1824c89 100644
|
||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
||||
@@ -378,8 +378,6 @@ uart0: serial@ff180000 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
@@ -22,7 +23,7 @@ index 3f1d640afafae..becf3abd8367f 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_xfer>;
|
||||
status = "disabled";
|
||||
@@ -402,8 +400,6 @@ uart1: serial@ff190000 {
|
||||
@@ -393,8 +391,6 @@ uart1: serial@ff190000 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
@@ -31,7 +32,7 @@ index 3f1d640afafae..becf3abd8367f 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_xfer>;
|
||||
status = "disabled";
|
||||
@@ -430,8 +426,6 @@ uart3: serial@ff1b0000 {
|
||||
@@ -421,8 +417,6 @@ uart3: serial@ff1b0000 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
@@ -40,7 +41,7 @@ index 3f1d640afafae..becf3abd8367f 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_xfer>;
|
||||
status = "disabled";
|
||||
@@ -445,8 +439,6 @@ uart4: serial@ff1c0000 {
|
||||
@@ -436,8 +430,6 @@ uart4: serial@ff1c0000 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
@@ -49,3 +50,6 @@ index 3f1d640afafae..becf3abd8367f 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart4_xfer>;
|
||||
status = "disabled";
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,4 +1,7 @@
|
||||
From 37b4467356113f17f55066aef54db55b64daa030 Mon Sep 17 00:00:00 2001
|
||||
From 695638c05c0bb6f7bcc65e172dd132b3aa280b47 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <695638c05c0bb6f7bcc65e172dd132b3aa280b47.1676488094.git.stefan@agner.ch>
|
||||
In-Reply-To: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
References: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From: "Miouyouyou (Myy)" <myy@miouyouyou.fr>
|
||||
Date: Mon, 5 Nov 2018 22:15:14 +0100
|
||||
Subject: [PATCH] ARM: DTS: rk3288-tinker: Defining the SPI interface
|
||||
@@ -14,13 +17,13 @@ Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr>
|
||||
[move change to rk3288-tinker.dtsi]
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 19 +++++++++++++++++++
|
||||
arch/arm/boot/dts/rk3288-tinker.dtsi | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index 09618bb7d872c..30430d2e64b93 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
index 09618bb7d872..30430d2e64b9 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
@@ -483,6 +483,25 @@ &sdio0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -47,3 +50,6 @@ index 09618bb7d872c..30430d2e64b93 100644
|
||||
&tsadc {
|
||||
rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
|
||||
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,4 +1,7 @@
|
||||
From 1a15fc7f6a241895a31b00c1f324d358d408a610 Mon Sep 17 00:00:00 2001
|
||||
From d04122215cb56b57458e05b475e41744b8126533 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <d04122215cb56b57458e05b475e41744b8126533.1676488094.git.stefan@agner.ch>
|
||||
In-Reply-To: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
References: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Fri, 4 Sep 2020 21:57:55 +0200
|
||||
Subject: [PATCH] ARM: dts: rockchip: enable I2C1/4 on rk3288-tinker
|
||||
@@ -7,13 +10,13 @@ Enable I2C devices which are accessible via 40-pin header.
|
||||
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 8 ++++++++
|
||||
arch/arm/boot/dts/rk3288-tinker.dtsi | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index 30430d2e64b93..395afc2b2283c 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
index 30430d2e64b9..395afc2b2283 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
@@ -342,10 +342,18 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
@@ -33,3 +36,6 @@ index 30430d2e64b93..395afc2b2283c 100644
|
||||
&i2c5 {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,4 +1,7 @@
|
||||
From d6c44c231fc4518ad69bb7870a193bb10c563f2a Mon Sep 17 00:00:00 2001
|
||||
From 7d37754f29c379c5066c6abf38c8d01d654b1613 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <7d37754f29c379c5066c6abf38c8d01d654b1613.1676488094.git.stefan@agner.ch>
|
||||
In-Reply-To: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
References: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From: Myy Miouyouyou <myy@miouyouyou.fr>
|
||||
Date: Thu, 19 Oct 2017 21:24:47 +0200
|
||||
Subject: [PATCH] RK3288: DTSI: rk3288.dtsi: Add missing SPI2 pinctrl
|
||||
@@ -10,14 +13,14 @@ This patch is taken from the patches provided by the ARMbian team.
|
||||
|
||||
Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
|
||||
---
|
||||
arch/arm/boot/dts/rockchip/rk3288.dtsi | 2 +-
|
||||
arch/arm/boot/dts/rk3288.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
index becf3abd8367f..e78fa883b9841 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
@@ -320,7 +320,7 @@ spi2: spi@ff130000 {
|
||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
||||
index 1569b1824c89..478fd1bb85df 100644
|
||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
||||
@@ -311,7 +311,7 @@ spi2: spi@ff130000 {
|
||||
dma-names = "tx", "rx";
|
||||
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
@@ -26,3 +29,6 @@ index becf3abd8367f..e78fa883b9841 100644
|
||||
reg = <0x0 0xff130000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,4 +1,7 @@
|
||||
From dfb0232e9fae1267d04247aaf171739038c1659e Mon Sep 17 00:00:00 2001
|
||||
From 05fde1d1dbbe7805a58a8c445b8fb19e0df59826 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <05fde1d1dbbe7805a58a8c445b8fb19e0df59826.1676488094.git.stefan@agner.ch>
|
||||
In-Reply-To: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
References: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From: "Miouyouyou (Myy)" <myy@miouyouyou.fr>
|
||||
Date: Mon, 5 Nov 2018 20:16:05 +0100
|
||||
Subject: [PATCH] ARM: DTSI: rk3288-tinker: Improving the CPU max voltage
|
||||
@@ -7,13 +10,13 @@ Taken from the various patches provided by @TonyMac32 .
|
||||
|
||||
Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr>
|
||||
---
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 2 +-
|
||||
arch/arm/boot/dts/rk3288-tinker.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index 395afc2b2283c..c7e79e5947206 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
index 395afc2b2283..c7e79e594720 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
@@ -184,7 +184,7 @@ vdd_cpu: DCDC_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
@@ -23,3 +26,6 @@ index 395afc2b2283c..c7e79e5947206 100644
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-ramp-delay = <6000>;
|
||||
regulator-state-mem {
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,4 +1,7 @@
|
||||
From 4955695e410289df07258b00290d4028c3ac8fb1 Mon Sep 17 00:00:00 2001
|
||||
From 940d61e1e04929166d5a2bcbc1934aa931952ca5 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <940d61e1e04929166d5a2bcbc1934aa931952ca5.1676488094.git.stefan@agner.ch>
|
||||
In-Reply-To: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
References: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From: Myy Miouyouyou <myy@miouyouyou.fr>
|
||||
Date: Sun, 7 Jan 2018 01:52:44 +0100
|
||||
Subject: [PATCH] drivers: mmc: dw-mci-rockchip: Handle ASUS Tinkerboard reboot
|
||||
@@ -21,7 +24,7 @@ Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
|
||||
1 file changed, 66 insertions(+)
|
||||
|
||||
diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c
|
||||
index f96260fd143b4..fa779ce8fb661 100644
|
||||
index 2a99f15f527f..181718374429 100644
|
||||
--- a/drivers/mmc/host/dw_mmc-rockchip.c
|
||||
+++ b/drivers/mmc/host/dw_mmc-rockchip.c
|
||||
@@ -12,6 +12,11 @@
|
||||
@@ -36,7 +39,7 @@ index f96260fd143b4..fa779ce8fb661 100644
|
||||
#include "dw_mmc.h"
|
||||
#include "dw_mmc-pltfm.h"
|
||||
|
||||
@@ -527,6 +532,66 @@ static const struct of_device_id dw_mci_rockchip_match[] = {
|
||||
@@ -340,6 +345,66 @@ static const struct of_device_id dw_mci_rockchip_match[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, dw_mci_rockchip_match);
|
||||
|
||||
@@ -103,7 +106,7 @@ index f96260fd143b4..fa779ce8fb661 100644
|
||||
static int dw_mci_rockchip_probe(struct platform_device *pdev)
|
||||
{
|
||||
const struct dw_mci_drv_data *drv_data;
|
||||
@@ -554,6 +619,7 @@ static int dw_mci_rockchip_probe(struct platform_device *pdev)
|
||||
@@ -367,6 +432,7 @@ static int dw_mci_rockchip_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
pm_runtime_put_autosuspend(&pdev->dev);
|
||||
@@ -111,3 +114,6 @@ index f96260fd143b4..fa779ce8fb661 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,4 +1,7 @@
|
||||
From 74227462bbe9236dca234dd24cce4191fa71bdf9 Mon Sep 17 00:00:00 2001
|
||||
From 479e2acb95c09b15382b3766391294790ebd200b Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <479e2acb95c09b15382b3766391294790ebd200b.1676488094.git.stefan@agner.ch>
|
||||
In-Reply-To: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
References: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Tue, 10 May 2022 22:57:26 +0200
|
||||
Subject: [PATCH] ARM: dts: rockchip: Add Bluetooth to rk3288-tinker
|
||||
@@ -8,13 +11,13 @@ for Realtek rtl8723bs Bluetooth device.
|
||||
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 26 +++++++++++++++++++
|
||||
arch/arm/boot/dts/rk3288-tinker.dtsi | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index c7e79e5947206..5d261fae6e72a 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
index c7e79e594720..5d261fae6e72 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
@@ -386,6 +386,20 @@ bl_en: bl-en {
|
||||
};
|
||||
};
|
||||
@@ -55,3 +58,6 @@ index c7e79e5947206..5d261fae6e72a 100644
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,32 +0,0 @@
|
||||
From eb29ab60a69353f355b3af58b06fff1a89d17992 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
|
||||
Date: Wed, 10 Jan 2024 16:29:59 +0100
|
||||
Subject: [PATCH] usb-audio: add ASUS TinkerBoard's ALC4040
|
||||
|
||||
Converted to git-series patch from the original plain git diff file
|
||||
buildroot-external/board/asus/tinker/patches/linux/3001_Tinkerboard-4.19-audio.patch
|
||||
|
||||
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
|
||||
---
|
||||
sound/usb/card.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/sound/usb/card.c b/sound/usb/card.c
|
||||
index 9c411b82a218d..672136e25c81d 100644
|
||||
--- a/sound/usb/card.c
|
||||
+++ b/sound/usb/card.c
|
||||
@@ -533,6 +533,14 @@ static void usb_audio_make_shortname(struct usb_device *dev,
|
||||
}
|
||||
|
||||
strim(card->shortname);
|
||||
+
|
||||
+ /* Tinker Board ALC4040 CODEC */
|
||||
+
|
||||
+ if(USB_ID_VENDOR(chip->usb_id) == 0x0bda &&
|
||||
+ USB_ID_PRODUCT(chip->usb_id) == 0x481a) {
|
||||
+ strlcat(card->shortname, " OnBoard", sizeof(card->shortname));
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
static void usb_audio_make_longname(struct usb_device *dev,
|
@@ -1,32 +0,0 @@
|
||||
From 1ce3a9bcf0b0b69e62411879113d83452c1b859e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
|
||||
Date: Thu, 28 Aug 2025 10:34:56 +0200
|
||||
Subject: [PATCH] Revert "can: ti_hecc: fix -Woverflow compiler warning"
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This reverts commit 1da38b70d90f8529c060dd380d0c18e6d9595463.
|
||||
|
||||
There is no BIT_U32 in 6.12.y, the patch was incorrectly applied to 6.12
|
||||
series.
|
||||
|
||||
Link: https://lore.kernel.org/stable/63e25fdb-095a-40eb-b341-75781e71ea95@roeck-us.net/
|
||||
Signed-off-by: Jan Čermák <sairon@sairon.cz>
|
||||
---
|
||||
drivers/net/can/ti_hecc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/can/ti_hecc.c b/drivers/net/can/ti_hecc.c
|
||||
index e6d6661a908ab..644e8b8eb91e7 100644
|
||||
--- a/drivers/net/can/ti_hecc.c
|
||||
+++ b/drivers/net/can/ti_hecc.c
|
||||
@@ -383,7 +383,7 @@ static void ti_hecc_start(struct net_device *ndev)
|
||||
* overflows instead of the hardware silently dropping the
|
||||
* messages.
|
||||
*/
|
||||
- mbx_mask = ~BIT_U32(HECC_RX_LAST_MBOX);
|
||||
+ mbx_mask = ~BIT(HECC_RX_LAST_MBOX);
|
||||
hecc_write(priv, HECC_CANOPC, mbx_mask);
|
||||
|
||||
/* Enable interrupts */
|
@@ -0,0 +1,19 @@
|
||||
diff --git a/sound/usb/card.c b/sound/usb/card.c
|
||||
index 2bfe4e80a..cea93aaf5 100644
|
||||
--- a/sound/usb/card.c
|
||||
+++ b/sound/usb/card.c
|
||||
@@ -382,6 +382,14 @@ static void usb_audio_make_shortname(struct usb_device *dev,
|
||||
}
|
||||
|
||||
strim(card->shortname);
|
||||
+
|
||||
+ /* Tinker Board ALC4040 CODEC */
|
||||
+
|
||||
+ if(USB_ID_VENDOR(chip->usb_id) == 0x0bda &&
|
||||
+ USB_ID_PRODUCT(chip->usb_id) == 0x481a) {
|
||||
+ strlcat(card->shortname, " OnBoard", sizeof(card->shortname));
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
static void usb_audio_make_longname(struct usb_device *dev,
|
@@ -0,0 +1,37 @@
|
||||
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
|
||||
|
||||
Default load address of U-Boot is at sector 16384, which is where HAOS
|
||||
has its first partition. Use 0x2000 (8192) instead.
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
configs/tinker-rk3288_defconfig | 1 +
|
||||
configs/tinker-s-rk3288_defconfig | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/configs/tinker-rk3288_defconfig b/configs/tinker-rk3288_defconfig
|
||||
index a9c9a122f6..b839fdb570 100644
|
||||
--- a/configs/tinker-rk3288_defconfig
|
||||
+++ b/configs/tinker-rk3288_defconfig
|
||||
@@ -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 f367c9370f..c52b0753ec 100644
|
||||
--- a/configs/tinker-s-rk3288_defconfig
|
||||
+++ b/configs/tinker-s-rk3288_defconfig
|
||||
@@ -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.35.1
|
||||
|
@@ -1,30 +1,34 @@
|
||||
From 78bd1a46cfc585773719963ce8e0a380e9676a93 Mon Sep 17 00:00:00 2001
|
||||
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] pmic: enable LDO2 vcc33_mipi at bootup
|
||||
Subject: [PATCH 2/2] pmic: enable LDO2 vcc33_mipi at bootup
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
board/rockchip/tinker_rk3288/tinker-rk3288.c | 36 ++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
board/rockchip/tinker_rk3288/tinker-rk3288.c | 37 ++++++++++++++++++++
|
||||
1 file changed, 37 insertions(+)
|
||||
|
||||
diff --git a/board/rockchip/tinker_rk3288/tinker-rk3288.c b/board/rockchip/tinker_rk3288/tinker-rk3288.c
|
||||
index e966e9f201a..2944d8c084f 100644
|
||||
index f85209c649..6fa1bb0c66 100644
|
||||
--- a/board/rockchip/tinker_rk3288/tinker-rk3288.c
|
||||
+++ b/board/rockchip/tinker_rk3288/tinker-rk3288.c
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <init.h>
|
||||
#include <net.h>
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <netdev.h>
|
||||
#include <asm/arch-rockchip/bootrom.h>
|
||||
#include <asm/io.h>
|
||||
+#include <power/regulator.h>
|
||||
|
||||
static int get_ethaddr_from_eeprom(u8 *addr)
|
||||
{
|
||||
@@ -34,3 +35,38 @@ int rk3288_board_late_init(void)
|
||||
@@ -48,3 +49,39 @@ int mmc_get_env_dev(void)
|
||||
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
+
|
||||
+
|
||||
+#ifdef CONFIG_DM_PMIC
|
||||
+static int rockchip_set_regulator_on(const char *name, uint uv)
|
||||
+{
|
||||
@@ -59,3 +63,6 @@ index e966e9f201a..2944d8c084f 100644
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
--
|
||||
2.35.1
|
||||
|
@@ -20,11 +20,11 @@ test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
|
||||
test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=true"
|
||||
|
||||
# HassOS bootargs
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 net.naming-scheme=v250 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
|
||||
|
||||
# HassOS system A/B
|
||||
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro rootwait"
|
||||
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro rootwait"
|
||||
|
||||
# Load environment from haos-config.txt
|
||||
if test -e mmc ${devnum}:1 haos-config.txt; then
|
||||
|
@@ -1,6 +1,3 @@
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_SPL_PAD_TO=0x3f8000
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x2000
|
||||
# CONFIG_ENV_IS_IN_MMC is not set
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -85,6 +85,7 @@ CONFIG_ACPI_DOCK=y
|
||||
CONFIG_ACPI_IPMI=m
|
||||
CONFIG_ACPI_PCI_SLOT=y
|
||||
CONFIG_ACPI_HED=y
|
||||
CONFIG_ACPI_CUSTOM_METHOD=y
|
||||
CONFIG_ACPI_CONFIGFS=m
|
||||
CONFIG_PMIC_OPREGION=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
@@ -94,8 +95,10 @@ CONFIG_JUMP_LABEL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODULE_COMPRESS_XZ=y
|
||||
CONFIG_BLK_DEV_ZONED=y
|
||||
CONFIG_BLK_DEV_THROTTLING=y
|
||||
CONFIG_BLK_DEV_THROTTLING_LOW=y
|
||||
CONFIG_BLK_WBT=y
|
||||
CONFIG_BLK_CGROUP_IOLATENCY=y
|
||||
CONFIG_BLK_SED_OPAL=y
|
||||
@@ -111,6 +114,8 @@ CONFIG_BFQ_GROUP_IOSCHED=y
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_ZSWAP=y
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_ZSMALLOC=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
@@ -205,6 +210,7 @@ CONFIG_NETFILTER=y
|
||||
CONFIG_BRIDGE_NETFILTER=m
|
||||
CONFIG_NETFILTER_NETLINK_HOOK=m
|
||||
CONFIG_NF_CONNTRACK=m
|
||||
CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
CONFIG_NF_CONNTRACK_ZONES=y
|
||||
CONFIG_NF_CONNTRACK_PROCFS=y
|
||||
CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
@@ -237,6 +243,7 @@ CONFIG_NFT_MASQ=m
|
||||
CONFIG_NFT_REDIR=m
|
||||
CONFIG_NFT_NAT=m
|
||||
CONFIG_NFT_TUNNEL=m
|
||||
CONFIG_NFT_OBJREF=m
|
||||
CONFIG_NFT_QUEUE=m
|
||||
CONFIG_NFT_QUOTA=m
|
||||
CONFIG_NFT_REJECT=m
|
||||
@@ -259,6 +266,7 @@ CONFIG_NETFILTER_XT_TARGET_AUDIT=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_DSCP=m
|
||||
CONFIG_NETFILTER_XT_TARGET_HMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
|
||||
@@ -271,6 +279,8 @@ CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TEE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TRACE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_BPF=m
|
||||
@@ -371,6 +381,7 @@ CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_NETMAP=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_CLUSTERIP=m
|
||||
CONFIG_IP_NF_TARGET_ECN=m
|
||||
CONFIG_IP_NF_TARGET_TTL=m
|
||||
CONFIG_IP_NF_RAW=m
|
||||
@@ -426,6 +437,7 @@ CONFIG_BRIDGE_EBT_REDIRECT=m
|
||||
CONFIG_BRIDGE_EBT_SNAT=m
|
||||
CONFIG_BRIDGE_EBT_LOG=m
|
||||
CONFIG_BRIDGE_EBT_NFLOG=m
|
||||
CONFIG_BPFILTER=y
|
||||
CONFIG_IP_DCCP=m
|
||||
CONFIG_SCTP_DBG_OBJCNT=y
|
||||
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
|
||||
@@ -457,6 +469,9 @@ CONFIG_VLAN_8021Q_GVRP=y
|
||||
CONFIG_VLAN_8021Q_MVRP=y
|
||||
CONFIG_LLC2=m
|
||||
CONFIG_ATALK=m
|
||||
CONFIG_DEV_APPLETALK=m
|
||||
CONFIG_IPDDP=m
|
||||
CONFIG_IPDDP_ENCAP=y
|
||||
CONFIG_X25=m
|
||||
CONFIG_LAPB=m
|
||||
CONFIG_PHONET=m
|
||||
@@ -472,8 +487,10 @@ CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
|
||||
CONFIG_IEEE802154_6LOWPAN=m
|
||||
CONFIG_MAC802154=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_CBQ=m
|
||||
CONFIG_NET_SCH_HTB=m
|
||||
CONFIG_NET_SCH_HFSC=m
|
||||
CONFIG_NET_SCH_ATM=m
|
||||
CONFIG_NET_SCH_PRIO=m
|
||||
CONFIG_NET_SCH_MULTIQ=m
|
||||
CONFIG_NET_SCH_RED=m
|
||||
@@ -485,6 +502,7 @@ CONFIG_NET_SCH_CBS=m
|
||||
CONFIG_NET_SCH_ETF=m
|
||||
CONFIG_NET_SCH_TAPRIO=m
|
||||
CONFIG_NET_SCH_GRED=m
|
||||
CONFIG_NET_SCH_DSMARK=m
|
||||
CONFIG_NET_SCH_NETEM=m
|
||||
CONFIG_NET_SCH_DRR=m
|
||||
CONFIG_NET_SCH_MQPRIO=m
|
||||
@@ -503,11 +521,14 @@ CONFIG_NET_SCH_PLUG=m
|
||||
CONFIG_NET_SCH_ETS=m
|
||||
CONFIG_NET_SCH_DEFAULT=y
|
||||
CONFIG_NET_CLS_BASIC=m
|
||||
CONFIG_NET_CLS_TCINDEX=m
|
||||
CONFIG_NET_CLS_ROUTE4=m
|
||||
CONFIG_NET_CLS_FW=m
|
||||
CONFIG_NET_CLS_U32=m
|
||||
CONFIG_CLS_U32_PERF=y
|
||||
CONFIG_CLS_U32_MARK=y
|
||||
CONFIG_NET_CLS_RSVP=m
|
||||
CONFIG_NET_CLS_RSVP6=m
|
||||
CONFIG_NET_CLS_FLOW=m
|
||||
CONFIG_NET_CLS_CGROUP=m
|
||||
CONFIG_NET_CLS_BPF=m
|
||||
@@ -528,6 +549,7 @@ CONFIG_NET_ACT_GACT=m
|
||||
CONFIG_GACT_PROB=y
|
||||
CONFIG_NET_ACT_MIRRED=m
|
||||
CONFIG_NET_ACT_SAMPLE=m
|
||||
CONFIG_NET_ACT_IPT=m
|
||||
CONFIG_NET_ACT_NAT=m
|
||||
CONFIG_NET_ACT_PEDIT=m
|
||||
CONFIG_NET_ACT_SIMP=m
|
||||
@@ -581,6 +603,7 @@ CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_BNEP_MC_FILTER=y
|
||||
CONFIG_BT_BNEP_PROTO_FILTER=y
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HS=y
|
||||
CONFIG_BT_6LOWPAN=m
|
||||
CONFIG_BT_LEDS=y
|
||||
CONFIG_BT_AOSPEXT=y
|
||||
@@ -687,7 +710,9 @@ CONFIG_CXL_BUS=m
|
||||
CONFIG_UEVENT_HELPER=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_LOADER_USER_HELPER=y
|
||||
CONFIG_FW_LOADER_COMPRESS=y
|
||||
CONFIG_BRCMSTB_GISB_ARB=y
|
||||
CONFIG_SUNXI_RSB=m
|
||||
CONFIG_TEGRA_ACONNECT=m
|
||||
CONFIG_TEGRA_GMI=m
|
||||
@@ -702,6 +727,7 @@ CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
CONFIG_DMI_SYSFS=y
|
||||
CONFIG_ISCSI_IBFT=y
|
||||
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
|
||||
CONFIG_EFI_BOOTLOADER_CONTROL=m
|
||||
CONFIG_EFI_CAPSULE_LOADER=m
|
||||
CONFIG_GNSS=m
|
||||
@@ -739,6 +765,7 @@ CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_MTD_UBI=m
|
||||
CONFIG_OF_OVERLAY=y
|
||||
CONFIG_PARPORT=m
|
||||
CONFIG_PARPORT_AX88796=m
|
||||
CONFIG_BLK_DEV_NULL_BLK=m
|
||||
CONFIG_ZRAM=m
|
||||
CONFIG_ZRAM_WRITEBACK=y
|
||||
@@ -773,6 +800,7 @@ CONFIG_XILINX_SDFEC=m
|
||||
CONFIG_VCPU_STALL_DETECTOR=m
|
||||
CONFIG_EEPROM_AT24=m
|
||||
CONFIG_EEPROM_AT25=m
|
||||
CONFIG_EEPROM_LEGACY=m
|
||||
CONFIG_EEPROM_MAX6875=m
|
||||
CONFIG_EEPROM_EE1004=m
|
||||
CONFIG_CB710_CORE=m
|
||||
@@ -783,6 +811,7 @@ CONFIG_BCM_VK=m
|
||||
CONFIG_MISC_ALCOR_PCI=m
|
||||
CONFIG_MISC_RTSX_PCI=m
|
||||
CONFIG_MISC_RTSX_USB=m
|
||||
CONFIG_HABANA_AI=m
|
||||
CONFIG_UACCE=m
|
||||
CONFIG_GP_PCI1XXXX=m
|
||||
CONFIG_RAID_ATTRS=y
|
||||
@@ -850,6 +879,7 @@ CONFIG_SATA_AHCI_PLATFORM=y
|
||||
CONFIG_AHCI_DWC=m
|
||||
CONFIG_AHCI_SUNXI=y
|
||||
CONFIG_AHCI_TEGRA=y
|
||||
CONFIG_AHCI_XGENE=y
|
||||
CONFIG_SATA_INIC162X=m
|
||||
CONFIG_SATA_ACARD_AHCI=m
|
||||
CONFIG_SATA_SIL24=y
|
||||
@@ -905,6 +935,9 @@ CONFIG_PATA_OF_PLATFORM=y
|
||||
CONFIG_ATA_GENERIC=m
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_MD=y
|
||||
CONFIG_MD_LINEAR=m
|
||||
CONFIG_MD_MULTIPATH=m
|
||||
CONFIG_MD_FAULTY=m
|
||||
CONFIG_MD_CLUSTER=m
|
||||
CONFIG_BCACHE=m
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
@@ -1053,6 +1086,16 @@ CONFIG_HNS3_ENET=y
|
||||
CONFIG_E100=m
|
||||
CONFIG_E1000=m
|
||||
CONFIG_E1000E=m
|
||||
CONFIG_IGB=m
|
||||
CONFIG_IGBVF=m
|
||||
CONFIG_IXGB=m
|
||||
CONFIG_IXGBE=m
|
||||
CONFIG_IXGBE_DCB=y
|
||||
CONFIG_IXGBEVF=m
|
||||
CONFIG_I40E=m
|
||||
CONFIG_I40EVF=m
|
||||
CONFIG_FM10K=m
|
||||
CONFIG_TXGBE=m
|
||||
CONFIG_JME=m
|
||||
CONFIG_ADIN1110=m
|
||||
CONFIG_LITEX_LITEETH=m
|
||||
@@ -1090,9 +1133,12 @@ CONFIG_SMSC911X=y
|
||||
CONFIG_STMMAC_ETH=y
|
||||
CONFIG_DWMAC_SUNXI=m
|
||||
CONFIG_DWMAC_SUN8I=m
|
||||
CONFIG_DWMAC_LOONGSON=m
|
||||
CONFIG_TEHUTI=m
|
||||
CONFIG_XILINX_EMACLITE=m
|
||||
CONFIG_XILINX_AXI_EMAC=m
|
||||
CONFIG_XILINX_LL_TEMAC=m
|
||||
CONFIG_NET_SB1000=y
|
||||
CONFIG_LED_TRIGGER_PHY=y
|
||||
CONFIG_SFP=m
|
||||
CONFIG_AMD_PHY=m
|
||||
@@ -1249,13 +1295,17 @@ CONFIG_ATH10K_DFS_CERTIFIED=y
|
||||
CONFIG_WCN36XX=m
|
||||
CONFIG_ATH11K=m
|
||||
CONFIG_ATH11K_AHB=m
|
||||
CONFIG_ATMEL=m
|
||||
CONFIG_PCI_ATMEL=m
|
||||
CONFIG_AT76C50X_USB=m
|
||||
CONFIG_B43=m
|
||||
CONFIG_B43_SDIO=y
|
||||
CONFIG_B43LEGACY=m
|
||||
CONFIG_BRCMSMAC=m
|
||||
CONFIG_BRCMFMAC=m
|
||||
CONFIG_BRCMFMAC_USB=y
|
||||
CONFIG_BRCMFMAC_PCIE=y
|
||||
CONFIG_BRCM_TRACING=y
|
||||
CONFIG_BRCMDBG=y
|
||||
CONFIG_IPW2100=m
|
||||
CONFIG_IPW2100_MONITOR=y
|
||||
@@ -1268,6 +1318,12 @@ CONFIG_IWL3945=m
|
||||
CONFIG_IWLWIFI=m
|
||||
CONFIG_IWLDVM=m
|
||||
CONFIG_IWLMVM=m
|
||||
CONFIG_HOSTAP=m
|
||||
CONFIG_HOSTAP_FIRMWARE=y
|
||||
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
|
||||
CONFIG_HERMES=m
|
||||
CONFIG_HERMES_PRISM=y
|
||||
CONFIG_ORINOCO_USB=m
|
||||
CONFIG_P54_COMMON=m
|
||||
CONFIG_P54_USB=m
|
||||
CONFIG_P54_SPI=m
|
||||
@@ -1346,9 +1402,11 @@ CONFIG_WL12XX=m
|
||||
CONFIG_WL18XX=m
|
||||
CONFIG_WLCORE_SPI=m
|
||||
CONFIG_WLCORE_SDIO=m
|
||||
CONFIG_USB_ZD1201=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_QTNFMAC_PCIE=m
|
||||
CONFIG_MAC80211_HWSIM=m
|
||||
CONFIG_USB_NET_RNDIS_WLAN=m
|
||||
CONFIG_VIRT_WIFI=m
|
||||
CONFIG_WAN=y
|
||||
CONFIG_HDLC=m
|
||||
@@ -1446,6 +1504,9 @@ CONFIG_TOUCHSCREEN_CY8CTMG110=m
|
||||
CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
|
||||
CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
|
||||
CONFIG_TOUCHSCREEN_CYTTSP_SPI=m
|
||||
CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m
|
||||
CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
|
||||
CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m
|
||||
CONFIG_TOUCHSCREEN_DYNAPRO=m
|
||||
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
|
||||
CONFIG_TOUCHSCREEN_EETI=m
|
||||
@@ -1466,16 +1527,19 @@ CONFIG_TOUCHSCREEN_ELO=m
|
||||
CONFIG_TOUCHSCREEN_WACOM_W8001=m
|
||||
CONFIG_TOUCHSCREEN_WACOM_I2C=m
|
||||
CONFIG_TOUCHSCREEN_MAX11801=m
|
||||
CONFIG_TOUCHSCREEN_MCS5000=m
|
||||
CONFIG_TOUCHSCREEN_MMS114=m
|
||||
CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
|
||||
CONFIG_TOUCHSCREEN_MSG2638=m
|
||||
CONFIG_TOUCHSCREEN_MTOUCH=m
|
||||
CONFIG_TOUCHSCREEN_IMX6UL_TSC=m
|
||||
CONFIG_TOUCHSCREEN_INEXIO=m
|
||||
CONFIG_TOUCHSCREEN_MK712=m
|
||||
CONFIG_TOUCHSCREEN_PENMOUNT=m
|
||||
CONFIG_TOUCHSCREEN_EDT_FT5X06=m
|
||||
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
|
||||
CONFIG_TOUCHSCREEN_TOUCHWIN=m
|
||||
CONFIG_TOUCHSCREEN_UCB1400=m
|
||||
CONFIG_TOUCHSCREEN_PIXCIR=m
|
||||
CONFIG_TOUCHSCREEN_WDT87XX_I2C=m
|
||||
CONFIG_TOUCHSCREEN_WM97XX=m
|
||||
@@ -1547,6 +1611,7 @@ CONFIG_SERIAL_AMBA_PL010=y
|
||||
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
|
||||
CONFIG_SERIAL_TEGRA=y
|
||||
CONFIG_SERIAL_TEGRA_TCU=y
|
||||
CONFIG_SERIAL_JSM=m
|
||||
@@ -1554,6 +1619,7 @@ CONFIG_SERIAL_SIFIVE=m
|
||||
CONFIG_SERIAL_SCCNXP=y
|
||||
CONFIG_SERIAL_SCCNXP_CONSOLE=y
|
||||
CONFIG_SERIAL_SC16IS7XX=m
|
||||
CONFIG_SERIAL_SC16IS7XX_SPI=y
|
||||
CONFIG_SERIAL_ALTERA_JTAGUART=m
|
||||
CONFIG_SERIAL_ALTERA_UART=m
|
||||
CONFIG_SERIAL_XILINX_PS_UART=y
|
||||
@@ -1568,6 +1634,7 @@ CONFIG_SERIAL_LITEUART=m
|
||||
CONFIG_SERIAL_NONSTANDARD=y
|
||||
CONFIG_MOXA_INTELLIO=m
|
||||
CONFIG_MOXA_SMARTIO=m
|
||||
CONFIG_SYNCLINK_GT=m
|
||||
CONFIG_N_HDLC=m
|
||||
CONFIG_N_GSM=m
|
||||
CONFIG_NOZOMI=m
|
||||
@@ -1588,6 +1655,7 @@ CONFIG_TCG_TPM=y
|
||||
CONFIG_TCG_TIS_I2C=m
|
||||
CONFIG_TCG_TIS_I2C_INFINEON=y
|
||||
CONFIG_XILLYUSB=m
|
||||
# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
|
||||
CONFIG_I2C_MUX_GPIO=m
|
||||
@@ -1601,6 +1669,8 @@ CONFIG_I2C_DEMUX_PINCTRL=m
|
||||
CONFIG_I2C_MUX_MLXCPLD=m
|
||||
CONFIG_I2C_CADENCE=m
|
||||
CONFIG_I2C_CBUS_GPIO=m
|
||||
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
||||
CONFIG_I2C_DESIGNWARE_PCI=m
|
||||
CONFIG_I2C_EMEV2=m
|
||||
CONFIG_I2C_GPIO=m
|
||||
CONFIG_I2C_GPIO_FAULT_INJECTOR=y
|
||||
@@ -1638,6 +1708,7 @@ CONFIG_SPI_DW_PCI=m
|
||||
CONFIG_SPI_DW_MMIO=m
|
||||
CONFIG_SPI_HISI_KUNPENG=m
|
||||
CONFIG_SPI_HISI_SFC_V3XX=m
|
||||
CONFIG_SPI_NXP_FLEXSPI=m
|
||||
CONFIG_SPI_GPIO=m
|
||||
CONFIG_SPI_LM70_LLP=m
|
||||
CONFIG_SPI_FSL_SPI=m
|
||||
@@ -1722,6 +1793,7 @@ CONFIG_GPIO_BD9571MWV=m
|
||||
CONFIG_GPIO_MAX77620=y
|
||||
CONFIG_GPIO_MAX77650=m
|
||||
CONFIG_GPIO_TQMX86=m
|
||||
CONFIG_GPIO_UCB1400=m
|
||||
CONFIG_GPIO_PCI_IDIO_16=m
|
||||
CONFIG_GPIO_PCIE_IDIO_24=m
|
||||
CONFIG_GPIO_RDC321X=m
|
||||
@@ -1736,6 +1808,7 @@ CONFIG_GPIO_VIRTIO=m
|
||||
CONFIG_W1_MASTER_MATROX=m
|
||||
CONFIG_W1_MASTER_DS2490=m
|
||||
CONFIG_W1_MASTER_DS2482=m
|
||||
CONFIG_W1_MASTER_DS1WM=m
|
||||
CONFIG_W1_MASTER_GPIO=m
|
||||
CONFIG_W1_MASTER_SGI=m
|
||||
CONFIG_W1_SLAVE_THERM=m
|
||||
@@ -1754,6 +1827,7 @@ CONFIG_W1_SLAVE_DS250X=m
|
||||
CONFIG_W1_SLAVE_DS28E04=m
|
||||
CONFIG_W1_SLAVE_DS28E17=m
|
||||
CONFIG_POWER_RESET_ATC260X=m
|
||||
CONFIG_POWER_RESET_BRCMSTB=y
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
CONFIG_POWER_RESET_REGULATOR=y
|
||||
@@ -1952,6 +2026,7 @@ CONFIG_SENSORS_SMSC47B397=m
|
||||
CONFIG_SENSORS_SCH5627=m
|
||||
CONFIG_SENSORS_SCH5636=m
|
||||
CONFIG_SENSORS_STTS751=m
|
||||
CONFIG_SENSORS_SMM665=m
|
||||
CONFIG_SENSORS_ADC128D818=m
|
||||
CONFIG_SENSORS_ADS7828=m
|
||||
CONFIG_SENSORS_ADS7871=m
|
||||
@@ -1984,6 +2059,7 @@ CONFIG_SENSORS_W83627EHF=m
|
||||
CONFIG_SENSORS_XGENE=m
|
||||
CONFIG_SENSORS_ACPI_POWER=m
|
||||
CONFIG_THERMAL_STATISTICS=y
|
||||
CONFIG_THERMAL_WRITABLE_TRIPS=y
|
||||
CONFIG_THERMAL_GOV_FAIR_SHARE=y
|
||||
CONFIG_THERMAL_GOV_BANG_BANG=y
|
||||
CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||
@@ -2030,12 +2106,13 @@ CONFIG_MFD_MAX77650=m
|
||||
CONFIG_MFD_MT6370=m
|
||||
CONFIG_MFD_OCELOT=m
|
||||
CONFIG_MFD_NTXEC=m
|
||||
CONFIG_UCB1400_CORE=m
|
||||
CONFIG_MFD_SY7636A=m
|
||||
CONFIG_MFD_RT4831=m
|
||||
CONFIG_MFD_RT5033=m
|
||||
CONFIG_MFD_RT5120=m
|
||||
CONFIG_MFD_RC5T583=y
|
||||
CONFIG_MFD_RK8XX_I2C=y
|
||||
CONFIG_MFD_RK808=y
|
||||
CONFIG_MFD_RN5T618=m
|
||||
CONFIG_MFD_SEC_CORE=y
|
||||
CONFIG_MFD_SM501=m
|
||||
@@ -2216,6 +2293,7 @@ CONFIG_VIDEO_GO7007_USB=m
|
||||
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
|
||||
CONFIG_VIDEO_HDPVR=m
|
||||
CONFIG_VIDEO_PVRUSB2=m
|
||||
CONFIG_VIDEO_STK1160_COMMON=m
|
||||
CONFIG_VIDEO_AU0828=m
|
||||
CONFIG_VIDEO_AU0828_RC=y
|
||||
CONFIG_VIDEO_CX231XX=m
|
||||
@@ -2269,6 +2347,8 @@ CONFIG_VIDEO_EM28XX=m
|
||||
CONFIG_VIDEO_EM28XX_V4L2=m
|
||||
CONFIG_VIDEO_EM28XX_ALSA=m
|
||||
CONFIG_VIDEO_EM28XX_DVB=m
|
||||
CONFIG_USB_AIRSPY=m
|
||||
CONFIG_USB_HACKRF=m
|
||||
CONFIG_MEDIA_PCI_SUPPORT=y
|
||||
CONFIG_VIDEO_SOLO6X10=m
|
||||
CONFIG_VIDEO_TW68=m
|
||||
@@ -2276,6 +2356,8 @@ CONFIG_VIDEO_DT3155=m
|
||||
CONFIG_VIDEO_IVTV=m
|
||||
CONFIG_VIDEO_IVTV_ALSA=m
|
||||
CONFIG_VIDEO_FB_IVTV=m
|
||||
CONFIG_VIDEO_BT848=m
|
||||
CONFIG_DVB_BT8XX=m
|
||||
CONFIG_VIDEO_CX18=m
|
||||
CONFIG_VIDEO_CX18_ALSA=m
|
||||
CONFIG_VIDEO_CX23885=m
|
||||
@@ -2302,6 +2384,24 @@ CONFIG_DVB_PLUTO2=m
|
||||
CONFIG_DVB_PT1=m
|
||||
CONFIG_DVB_PT3=m
|
||||
CONFIG_DVB_SMIPCIE=m
|
||||
CONFIG_RADIO_MAXIRADIO=m
|
||||
CONFIG_RADIO_SAA7706H=m
|
||||
CONFIG_RADIO_SHARK=m
|
||||
CONFIG_RADIO_SHARK2=m
|
||||
CONFIG_RADIO_SI4713=m
|
||||
CONFIG_RADIO_TEA5764=m
|
||||
CONFIG_RADIO_TEF6862=m
|
||||
CONFIG_RADIO_WL1273=m
|
||||
CONFIG_USB_DSBR=m
|
||||
CONFIG_USB_KEENE=m
|
||||
CONFIG_USB_MA901=m
|
||||
CONFIG_USB_MR800=m
|
||||
CONFIG_USB_RAREMONO=m
|
||||
CONFIG_RADIO_SI470X=m
|
||||
CONFIG_USB_SI470X=m
|
||||
CONFIG_I2C_SI470X=m
|
||||
CONFIG_USB_SI4713=m
|
||||
CONFIG_PLATFORM_SI4713=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
|
||||
@@ -2339,6 +2439,7 @@ CONFIG_VIDEO_TVP514X=m
|
||||
CONFIG_VIDEO_TVP7002=m
|
||||
CONFIG_VIDEO_TW9910=m
|
||||
CONFIG_VIDEO_VPX3220=m
|
||||
CONFIG_VIDEO_AD9389B=m
|
||||
CONFIG_VIDEO_ADV7170=m
|
||||
CONFIG_VIDEO_ADV7175=m
|
||||
CONFIG_VIDEO_ADV7343=m
|
||||
@@ -2346,6 +2447,7 @@ CONFIG_VIDEO_ADV7393=m
|
||||
CONFIG_VIDEO_AK881X=m
|
||||
CONFIG_VIDEO_SAA7185=m
|
||||
CONFIG_VIDEO_THS8200=m
|
||||
CONFIG_SDR_MAX2175=m
|
||||
CONFIG_VIDEO_I2C=m
|
||||
CONFIG_VIDEO_ST_MIPID02=m
|
||||
CONFIG_VIDEO_THS7303=m
|
||||
@@ -2362,8 +2464,10 @@ CONFIG_DVB_HELENE=m
|
||||
CONFIG_DVB_HORUS3A=m
|
||||
CONFIG_DVB_LGS8GL5=m
|
||||
CONFIG_DVB_LNBH29=m
|
||||
CONFIG_DVB_DUMMY_FE=m
|
||||
CONFIG_DRM=m
|
||||
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
|
||||
CONFIG_DRM_DP_CEC=y
|
||||
CONFIG_DRM_I2C_CH7006=m
|
||||
CONFIG_DRM_I2C_SIL164=m
|
||||
CONFIG_DRM_I2C_NXP_TDA998X=m
|
||||
@@ -2476,6 +2580,7 @@ CONFIG_DRM_ETNAVIV=m
|
||||
CONFIG_DRM_HISI_HIBMC=m
|
||||
CONFIG_DRM_HISI_KIRIN=m
|
||||
CONFIG_DRM_LOGICVC=m
|
||||
CONFIG_DRM_IMX_LCDIF=m
|
||||
CONFIG_DRM_BOCHS=m
|
||||
CONFIG_DRM_GM12U320=m
|
||||
CONFIG_DRM_SIMPLEDRM=m
|
||||
@@ -2491,9 +2596,11 @@ CONFIG_DRM_LIMA=m
|
||||
CONFIG_DRM_PANFROST=m
|
||||
CONFIG_DRM_TIDSS=m
|
||||
CONFIG_DRM_GUD=m
|
||||
CONFIG_DRM_LEGACY=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
CONFIG_FB_TILEBLITTING=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_FB_UVESA=m
|
||||
CONFIG_FB_EFI=y
|
||||
CONFIG_FB_UDL=m
|
||||
@@ -2510,6 +2617,7 @@ CONFIG_BACKLIGHT_QCOM_WLED=m
|
||||
CONFIG_BACKLIGHT_RT4831=m
|
||||
CONFIG_BACKLIGHT_ADP5520=m
|
||||
CONFIG_BACKLIGHT_AAT2870=m
|
||||
CONFIG_BACKLIGHT_LP855X=y
|
||||
CONFIG_BACKLIGHT_AS3711=m
|
||||
CONFIG_BACKLIGHT_GPIO=m
|
||||
CONFIG_BACKLIGHT_RAVE_SP=m
|
||||
@@ -3011,6 +3119,7 @@ CONFIG_USB_EHCI_TEGRA=y
|
||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||
CONFIG_USB_OXU210HP_HCD=m
|
||||
CONFIG_USB_ISP116X_HCD=m
|
||||
CONFIG_USB_FOTG210_HCD=m
|
||||
CONFIG_USB_MAX3421_HCD=m
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||
@@ -3068,6 +3177,7 @@ CONFIG_USB_SERIAL_CH341=m
|
||||
CONFIG_USB_SERIAL_WHITEHEAT=m
|
||||
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
|
||||
CONFIG_USB_SERIAL_CP210X=m
|
||||
CONFIG_USB_SERIAL_CYPRESS_M8=m
|
||||
CONFIG_USB_SERIAL_EMPEG=m
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=m
|
||||
CONFIG_USB_SERIAL_VISOR=m
|
||||
@@ -3120,6 +3230,7 @@ CONFIG_USB_LCD=m
|
||||
CONFIG_USB_CYPRESS_CY7C63=m
|
||||
CONFIG_USB_CYTHERM=m
|
||||
CONFIG_USB_IDMOUSE=m
|
||||
CONFIG_USB_FTDI_ELAN=m
|
||||
CONFIG_USB_APPLEDISPLAY=m
|
||||
CONFIG_APPLE_MFI_FASTCHARGE=m
|
||||
CONFIG_USB_SISUSBVGA=m
|
||||
@@ -3135,15 +3246,17 @@ CONFIG_USB_HSIC_USB3503=y
|
||||
CONFIG_USB_HSIC_USB4604=m
|
||||
CONFIG_USB_LINK_LAYER_TEST=m
|
||||
CONFIG_USB_CHAOSKEY=m
|
||||
CONFIG_USB_ONBOARD_DEV=m
|
||||
CONFIG_USB_ONBOARD_HUB=m
|
||||
CONFIG_USB_ATM=m
|
||||
CONFIG_USB_SPEEDTOUCH=m
|
||||
CONFIG_USB_CXACRU=m
|
||||
CONFIG_USB_UEAGLEATM=m
|
||||
CONFIG_USB_XUSBATM=m
|
||||
CONFIG_NOP_USB_XCEIV=y
|
||||
CONFIG_USB_GPIO_VBUS=m
|
||||
CONFIG_USB_ISP1301=m
|
||||
CONFIG_U_SERIAL_CONSOLE=y
|
||||
CONFIG_USB_FOTG210_UDC=m
|
||||
CONFIG_USB_GR_UDC=m
|
||||
CONFIG_USB_R8A66597=m
|
||||
CONFIG_USB_PXA27X=m
|
||||
@@ -3258,6 +3371,8 @@ CONFIG_MMC_SUNXI=m
|
||||
CONFIG_MMC_HSQ=m
|
||||
CONFIG_MMC_MTK=m
|
||||
CONFIG_MMC_SDHCI_XENON=y
|
||||
CONFIG_MMC_SDHCI_OMAP=m
|
||||
CONFIG_MMC_SDHCI_AM654=m
|
||||
CONFIG_SCSI_UFSHCD=y
|
||||
CONFIG_SCSI_UFSHCD_PCI=m
|
||||
CONFIG_SCSI_UFSHCD_PLATFORM=y
|
||||
@@ -3288,6 +3403,7 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_ACTIVITY=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=m
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_LEDS_TRIGGER_TRANSIENT=m
|
||||
CONFIG_LEDS_TRIGGER_CAMERA=m
|
||||
@@ -3363,6 +3479,7 @@ CONFIG_DMA_SUN6I=m
|
||||
CONFIG_DW_AXI_DMAC=m
|
||||
CONFIG_FSL_EDMA=y
|
||||
CONFIG_FSL_QDMA=m
|
||||
CONFIG_HISI_DMA=m
|
||||
CONFIG_MV_XOR_V2=y
|
||||
CONFIG_PL330_DMA=y
|
||||
CONFIG_PLX_DMA=m
|
||||
@@ -3373,6 +3490,7 @@ CONFIG_QCOM_HIDMA_MGMT=y
|
||||
CONFIG_QCOM_HIDMA=y
|
||||
CONFIG_DW_DMAC=m
|
||||
CONFIG_DW_DMAC_PCI=m
|
||||
CONFIG_DW_EDMA_PCIE=m
|
||||
CONFIG_SF_PDMA=m
|
||||
CONFIG_ASYNC_TX_DMA=y
|
||||
CONFIG_UDMABUF=y
|
||||
@@ -3395,16 +3513,19 @@ CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=m
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VDPA=m
|
||||
CONFIG_VDPA_USER=m
|
||||
CONFIG_IFCVF=m
|
||||
CONFIG_VP_VDPA=m
|
||||
CONFIG_VHOST_NET=m
|
||||
CONFIG_VHOST_SCSI=m
|
||||
CONFIG_VHOST_VDPA=m
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_RTL8192U=m
|
||||
CONFIG_RTLLIB=m
|
||||
CONFIG_RTL8192E=m
|
||||
CONFIG_RTL8723BS=m
|
||||
CONFIG_R8712U=m
|
||||
CONFIG_R8188EU=m
|
||||
CONFIG_RTS5208=m
|
||||
CONFIG_VT6655=m
|
||||
CONFIG_VT6656=m
|
||||
@@ -3488,6 +3609,7 @@ CONFIG_VIRTIO_IOMMU=m
|
||||
CONFIG_REMOTEPROC=y
|
||||
CONFIG_RPMSG_CHAR=y
|
||||
CONFIG_RPMSG_QCOM_GLINK_RPM=y
|
||||
CONFIG_SOC_BRCMSTB=y
|
||||
CONFIG_LITEX_SOC_CONTROLLER=m
|
||||
CONFIG_ROCKCHIP_IODOMAIN=y
|
||||
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||
@@ -3753,6 +3875,7 @@ CONFIG_PWM_SUN4I=m
|
||||
CONFIG_PWM_TEGRA=y
|
||||
CONFIG_PWM_XILINX=m
|
||||
CONFIG_RESET_TI_TPS380X=m
|
||||
CONFIG_PHY_XGENE=y
|
||||
CONFIG_PHY_CAN_TRANSCEIVER=m
|
||||
CONFIG_PHY_SUN4I_USB=m
|
||||
CONFIG_PHY_SUN9I_USB=m
|
||||
@@ -3808,6 +3931,8 @@ CONFIG_MUX_GPIO=m
|
||||
CONFIG_MUX_MMIO=m
|
||||
CONFIG_COUNTER=m
|
||||
CONFIG_INTERRUPT_CNT=m
|
||||
CONFIG_FTM_QUADDEC=m
|
||||
CONFIG_INTEL_QEP=m
|
||||
CONFIG_MOST=m
|
||||
CONFIG_MOST_SND=m
|
||||
CONFIG_VALIDATE_FS_PARSER=y
|
||||
@@ -3850,14 +3975,15 @@ CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
|
||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
CONFIG_QFMT_V1=m
|
||||
CONFIG_QFMT_V2=m
|
||||
CONFIG_AUTOFS_FS=m
|
||||
CONFIG_AUTOFS4_FS=m
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_CUSE=m
|
||||
CONFIG_VIRTIO_FS=m
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_OVERLAY_FS_XINO_AUTO=y
|
||||
CONFIG_FSCACHE=y
|
||||
CONFIG_FSCACHE=m
|
||||
CONFIG_FSCACHE_STATS=y
|
||||
CONFIG_CACHEFILES=m
|
||||
CONFIG_ISO9660_FS=m
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
@@ -3867,6 +3993,7 @@ CONFIG_VFAT_FS=y
|
||||
CONFIG_FAT_DEFAULT_UTF8=y
|
||||
CONFIG_EXFAT_FS=m
|
||||
CONFIG_NTFS_FS=m
|
||||
CONFIG_NTFS_RW=y
|
||||
CONFIG_NTFS3_FS=m
|
||||
CONFIG_NTFS3_64BIT_CLUSTER=y
|
||||
CONFIG_NTFS3_LZX_XPRESS=y
|
||||
@@ -3893,7 +4020,7 @@ CONFIG_CRAMFS=m
|
||||
CONFIG_CRAMFS_MTD=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_SQUASHFS_FILE_DIRECT=y
|
||||
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU=y
|
||||
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
|
||||
CONFIG_SQUASHFS_XATTR=y
|
||||
CONFIG_SQUASHFS_LZ4=y
|
||||
CONFIG_SQUASHFS_LZO=y
|
||||
@@ -3909,11 +4036,14 @@ CONFIG_QNX4FS_FS=m
|
||||
CONFIG_QNX6FS_FS=m
|
||||
CONFIG_ROMFS_FS=m
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_LZ4HC_COMPRESS=m
|
||||
CONFIG_PSTORE_RAM=m
|
||||
CONFIG_PSTORE_BLK=m
|
||||
CONFIG_SYSV_FS=m
|
||||
CONFIG_UFS_FS=m
|
||||
CONFIG_UFS_FS_WRITE=y
|
||||
CONFIG_EROFS_FS=m
|
||||
# CONFIG_EROFS_FS_ZIP is not set
|
||||
CONFIG_NFS_FS=m
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=m
|
||||
@@ -4012,8 +4142,10 @@ CONFIG_LSM_MMAP_MIN_ADDR=0
|
||||
CONFIG_HARDENED_USERCOPY=y
|
||||
CONFIG_FORTIFY_SOURCE=y
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
|
||||
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
|
||||
CONFIG_SECURITY_SMACK=y
|
||||
CONFIG_SECURITY_SMACK_NETFILTER=y
|
||||
CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y
|
||||
CONFIG_SECURITY_TOMOYO=y
|
||||
CONFIG_SECURITY_APPARMOR=y
|
||||
@@ -4027,6 +4159,7 @@ CONFIG_INTEGRITY_PLATFORM_KEYRING=y
|
||||
CONFIG_DEFAULT_SECURITY_APPARMOR=y
|
||||
CONFIG_LSM="lockdown,yama,integrity,apparmor"
|
||||
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
|
||||
CONFIG_CRYPTO_USER=m
|
||||
CONFIG_CRYPTO_PCRYPT=m
|
||||
CONFIG_CRYPTO_CRYPTD=y
|
||||
CONFIG_CRYPTO_AUTHENC=y
|
||||
@@ -4050,9 +4183,11 @@ CONFIG_CRYPTO_TEA=y
|
||||
CONFIG_CRYPTO_TWOFISH=y
|
||||
CONFIG_CRYPTO_ADIANTUM=m
|
||||
CONFIG_CRYPTO_ARC4=m
|
||||
CONFIG_CRYPTO_CFB=m
|
||||
CONFIG_CRYPTO_HCTR2=m
|
||||
CONFIG_CRYPTO_KEYWRAP=m
|
||||
CONFIG_CRYPTO_LRW=m
|
||||
CONFIG_CRYPTO_OFB=m
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_AEGIS128=m
|
||||
CONFIG_CRYPTO_CHACHA20POLY1305=y
|
||||
@@ -4074,6 +4209,11 @@ CONFIG_CRYPTO_LZ4=m
|
||||
CONFIG_CRYPTO_ANSI_CPRNG=m
|
||||
CONFIG_CRYPTO_DRBG_HASH=y
|
||||
CONFIG_CRYPTO_DRBG_CTR=y
|
||||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||
CONFIG_CRYPTO_USER_API_RNG=m
|
||||
CONFIG_CRYPTO_USER_API_AEAD=m
|
||||
CONFIG_CRYPTO_STATS=y
|
||||
CONFIG_CRYPTO_NHPOLY1305_NEON=y
|
||||
CONFIG_CRYPTO_CHACHA20_NEON=y
|
||||
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
||||
@@ -4129,6 +4269,7 @@ CONFIG_CRC4=m
|
||||
CONFIG_XZ_DEC_MICROLZMA=y
|
||||
CONFIG_XZ_DEC_TEST=m
|
||||
CONFIG_DMA_RESTRICTED_POOL=y
|
||||
CONFIG_DMA_PERNUMA_CMA=y
|
||||
CONFIG_CMA_SIZE_MBYTES=384
|
||||
CONFIG_GLOB_SELFTEST=m
|
||||
CONFIG_FONTS=y
|
||||
@@ -4148,7 +4289,3 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
CONFIG_FUNCTION_ERROR_INJECTION=y
|
||||
# CONFIG_RUNTIME_TESTING_MENU is not set
|
||||
CONFIG_MEMTEST=y
|
||||
CONFIG_ARMV8_DEPRECATED=y
|
||||
CONFIG_SWP_EMULATION=y
|
||||
CONFIG_CP15_BARRIER_EMULATION=y
|
||||
CONFIG_SETEND_EMULATION=y
|
@@ -1 +1 @@
|
||||
console=ttyAML0,115200n8 console=tty0
|
||||
console=tty0 console=ttyAML0,115200n8
|
||||
|
@@ -3,6 +3,9 @@
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local BL1="${BINARIES_DIR}/bl1.bin.hardkernel"
|
||||
local UBOOT_GXBB="${BINARIES_DIR}/u-boot.gxbb"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
|
||||
cp "${BINARIES_DIR}/meson-gxbb-odroidc2.dtb" "${BOOT_DATA}/meson-gxbb-odroidc2.dtb"
|
||||
@@ -11,6 +14,13 @@ function hassos_pre_image() {
|
||||
cp "${BINARIES_DIR}"/*.dtbo "${BOOT_DATA}/overlays/"
|
||||
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
|
||||
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
|
||||
|
||||
# SPL
|
||||
create_spl_image
|
||||
|
||||
dd if="${BL1}" of="${SPL_IMG}" conv=notrunc bs=1 count=440
|
||||
dd if="${BL1}" of="${SPL_IMG}" conv=notrunc bs=512 skip=1 seek=1
|
||||
dd if="${UBOOT_GXBB}" of="${SPL_IMG}" conv=notrunc bs=512 seek=97
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1,20 +0,0 @@
|
||||
image spl.img {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
|
||||
hdimage {
|
||||
partition-table-type = "none"
|
||||
fill = "yes"
|
||||
}
|
||||
|
||||
partition bl1 {
|
||||
in-partition-table = "no"
|
||||
image = "bl1.bin.hardkernel"
|
||||
offset = 0
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.gxbb"
|
||||
offset = 97s
|
||||
}
|
||||
}
|
@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-C2"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=Image
|
||||
PARTITION_TABLE_TYPE=mbr
|
||||
BOOT_SYS=mbr
|
||||
BOOT_SIZE=24M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=8M
|
||||
|
@@ -1,8 +0,0 @@
|
||||
partition spl {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
image = "spl.img"
|
||||
in-partition-table = "no"
|
||||
offset = 0
|
||||
holes = {"(440; 512)"}
|
||||
}
|
||||
|
@@ -22,11 +22,11 @@ test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
|
||||
test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=true"
|
||||
|
||||
# HassOS bootargs
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 net.naming-scheme=v250 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
|
||||
|
||||
# HassOS system A/B
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
|
||||
|
||||
# Load environment from haos-config.txt
|
||||
if test -e mmc ${devnum}:1 haos-config.txt; then
|
||||
|
@@ -1 +1 @@
|
||||
console=ttyAML0,115200n8 console=tty0
|
||||
console=tty0 console=ttyAML0,115200n8
|
||||
|
@@ -3,6 +3,8 @@
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local UBOOT_SM1="${BINARIES_DIR}/u-boot.sm1"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
|
||||
cp "${BINARIES_DIR}/meson-sm1-odroid-c4.dtb" "${BOOT_DATA}/meson-sm1-odroid-c4.dtb"
|
||||
@@ -11,6 +13,11 @@ function hassos_pre_image() {
|
||||
cp "${BINARIES_DIR}"/*.dtbo "${BOOT_DATA}/overlays/"
|
||||
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
|
||||
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
|
||||
|
||||
# SPL
|
||||
create_spl_image
|
||||
|
||||
dd if="${UBOOT_SM1}" of="${SPL_IMG}" conv=notrunc bs=512 seek=1
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1,13 +0,0 @@
|
||||
image spl.img {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
|
||||
hdimage {
|
||||
partition-table-type = "none"
|
||||
fill = "yes"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
offset = 512
|
||||
image = "u-boot.sm1"
|
||||
}
|
||||
}
|
@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-C4"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=Image
|
||||
PARTITION_TABLE_TYPE=mbr
|
||||
BOOT_SYS=mbr
|
||||
BOOT_SIZE=24M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=8M
|
||||
|
@@ -1,7 +0,0 @@
|
||||
partition spl {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
image = "spl.img"
|
||||
in-partition-table = "no"
|
||||
offset = 0
|
||||
holes = {"(0; 512)"}
|
||||
}
|
@@ -22,11 +22,11 @@ test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
|
||||
test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=true"
|
||||
|
||||
# HassOS bootargs
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} clk_ignore_unused usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u ${BOOT_CONDITION}"
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 net.naming-scheme=v250 systemd.machine_id=${MACHINE_ID} clk_ignore_unused usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u ${BOOT_CONDITION}"
|
||||
|
||||
# HassOS system A/B
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
|
||||
|
||||
# Load environment from haos-config.txt
|
||||
if test -e mmc ${devnum}:1 haos-config.txt; then
|
||||
|
@@ -1 +0,0 @@
|
||||
console=tty0
|
||||
|
@@ -3,12 +3,19 @@
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
|
||||
cp "${BINARIES_DIR}"/*.dtb "${BOOT_DATA}/"
|
||||
|
||||
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
|
||||
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
|
||||
|
||||
# SPL
|
||||
create_spl_image
|
||||
|
||||
dd if="${BINARIES_DIR}/idbloader.img" of="${SPL_IMG}" conv=notrunc bs=512 seek=64
|
||||
dd if="${BINARIES_DIR}/u-boot.itb" of="${SPL_IMG}" conv=notrunc bs=512 seek=16384
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1,13 +0,0 @@
|
||||
image spl.img {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
|
||||
hdimage {
|
||||
partition-table-type = "none"
|
||||
fill = "yes"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
offset = 32k
|
||||
image = "u-boot-rockchip.bin"
|
||||
}
|
||||
}
|
@@ -1,4 +1,3 @@
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
|
||||
CONFIG_THERMAL_GOV_BANG_BANG=y
|
||||
@@ -8,5 +7,3 @@ CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_KEYBOARD_GPIO_POLLED=y
|
||||
|
||||
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
|
||||
|
||||
# CONFIG_DW_WATCHDOG is not set
|
||||
|
@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-M1"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=Image
|
||||
PARTITION_TABLE_TYPE=hybrid
|
||||
BOOT_SYS=gpt
|
||||
BOOT_SIZE=16M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=16M
|
||||
|
@@ -1,17 +0,0 @@
|
||||
partition spl {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
image = "spl.img"
|
||||
in-partition-table = "no"
|
||||
offset = 0
|
||||
holes = {"(0; 17k)", "(8M; 16M)"}
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
size = 8M
|
||||
offset = 8M
|
||||
# FIXME: hdd-image intended to use the following, but the next one
|
||||
# is in the img because of the _fix_disk_spl_gpt function
|
||||
# partition-type-uuid = "21686148-6449-6e6f-744e-656564454649"
|
||||
partition-type-uuid = "e3c9e316-0b5c-4db8-817d-f92df00215ae"
|
||||
# no image here - already contains data from spl.img
|
||||
}
|
@@ -1,42 +1,44 @@
|
||||
From 015fa4136338919a43c1c6e47e8c07679cefbaa2 Mon Sep 17 00:00:00 2001
|
||||
From: Zhangqun Ming <north_sea@qq.com>
|
||||
Date: Thu, 6 Jul 2023 10:05:04 +0000
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add NabuCasa Green board
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
From d388735d551e09b00317a509859fca51776b9826 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Dongjin Kim <tobetter@gmail.com>
|
||||
Date: Fri, 30 Sep 2022 07:12:35 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add Hardkernel ODROID-M1 board
|
||||
|
||||
[Replaced custom rk860x driver with upstream fan53555]
|
||||
Signed-off-by: Jan Čermák <sairon@sairon.cz>
|
||||
[Enabled Rockchip RNG from rk356x.dtsi]
|
||||
Signed-off-by: Jan Čermák <sairon@sairon.cz>
|
||||
This patch is to add a device tree for new board Hardkernel ODROID-M1
|
||||
based on Rockchip RK3568, includes basic peripherals -
|
||||
uart/eMMC/uSD/i2c and on-board ethernet.
|
||||
|
||||
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
|
||||
[aurelien@aurel32.net: addressed issues from initial review]
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-3-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/Makefile | 1 +
|
||||
.../boot/dts/rockchip/rk3566-ha-green.dts | 688 ++++++++++++++++++
|
||||
2 files changed, 689 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts
|
||||
.../boot/dts/rockchip/rk3568-odroid-m1.dts | 414 ++++++++++++++++++
|
||||
2 files changed, 415 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
index 09423070c9928..1f5a9d690648f 100644
|
||||
index 8c15593c0ca4..5dc1607b3ecf 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -83,6 +83,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353ps.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353v.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353vs.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-ha-green.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-odroid-m1s.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v1.1.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v2.1.dtb
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts
|
||||
@@ -71,4 +71,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-roc-pc.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-cm4.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-odroid-m1.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
new file mode 100644
|
||||
index 0000000000000..d6a86cc57b65e
|
||||
index 000000000000..b3016437640b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts
|
||||
@@ -0,0 +1,688 @@
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -0,0 +1,414 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2023 Seeed Co., Ltd.
|
||||
+ * Copyright (c) 2022 Hardkernel Co., Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
@@ -44,17 +46,20 @@ index 0000000000000..d6a86cc57b65e
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/pinctrl/rockchip.h>
|
||||
+#include <dt-bindings/soc/rockchip,vop2.h>
|
||||
+#include "rk3566.dtsi"
|
||||
+#include "rk3568.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Home Assistant Green";
|
||||
+ compatible = "rockchip,rk3566-ha-green", "rockchip,rk3566";
|
||||
+ model = "Hardkernel ODROID-M1";
|
||||
+ compatible = "rockchip,rk3568-odroid-m1", "rockchip,rk3568";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &gmac1;
|
||||
+ ethernet0 = &gmac0;
|
||||
+ i2c0 = &i2c3;
|
||||
+ i2c3 = &i2c0;
|
||||
+ mmc0 = &sdhci;
|
||||
+ mmc1 = &sdmmc0;
|
||||
+ serial0 = &uart1;
|
||||
+ serial1 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
@@ -70,22 +75,11 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ regulator-max-microvolt = <12000000>;
|
||||
+ };
|
||||
+
|
||||
+ hdmi-con {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led_power: led-0 {
|
||||
+ gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
|
||||
+ gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
+ function = LED_FUNCTION_POWER;
|
||||
+ color = <LED_COLOR_ID_RED>;
|
||||
+ default-state = "keep";
|
||||
@@ -93,43 +87,13 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&led_power_pin>;
|
||||
+ };
|
||||
+ led_act: led-1 {
|
||||
+ led_work: led-1 {
|
||||
+ gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
+ function = LED_FUNCTION_ACTIVITY;
|
||||
+ color = <LED_COLOR_ID_GREEN>;
|
||||
+ linux,default-trigger = "activity";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&led_act_pin>;
|
||||
+ };
|
||||
+ led_user: led-2 {
|
||||
+ gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
+ function = LED_FUNCTION_HEARTBEAT;
|
||||
+ color = <LED_COLOR_ID_YELLOW>;
|
||||
+ color = <LED_COLOR_ID_BLUE>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&led_usr_pin>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rk809-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,name = "Analog RK817";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,widgets =
|
||||
+ "Headphone", "Headphones",
|
||||
+ "Speaker", "Speaker";
|
||||
+ simple-audio-card,routing =
|
||||
+ "Headphones", "HPOL",
|
||||
+ "Headphones", "HPOR",
|
||||
+ "Speaker", "SPKO";
|
||||
+
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s1_8ch>;
|
||||
+ };
|
||||
+
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&rk809>;
|
||||
+ pinctrl-0 = <&led_work_pin>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
@@ -142,28 +106,6 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&dc_12v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_sys: vcc5v0-sys-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&dc_12v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb_host: vcc5v0-usb-host-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb_host";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc5v0_usb_host_en_pin>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
@@ -182,73 +124,41 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&gmac1 {
|
||||
+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
||||
+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
|
||||
+&gmac0 {
|
||||
+ assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
|
||||
+ assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>;
|
||||
+ assigned-clock-rates = <0>, <125000000>;
|
||||
+ clock_in_out = "output";
|
||||
+
|
||||
+ snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
+ snps,reset-active-low;
|
||||
+ /* Reset time is 20ms, 100ms for rtl8211f */
|
||||
+ snps,reset-delays-us = <0 20000 100000>;
|
||||
+
|
||||
+ phy-handle = <&rgmii_phy1>;
|
||||
+ phy-handle = <&rgmii_phy0>;
|
||||
+ phy-mode = "rgmii";
|
||||
+
|
||||
+ phy-supply = <&vcc3v3_sys>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&gmac1m0_miim
|
||||
+ &gmac1m0_tx_bus2
|
||||
+ &gmac1m0_rx_bus2
|
||||
+ &gmac1m0_rgmii_clk
|
||||
+ &gmac1m0_rgmii_bus>;
|
||||
+ pinctrl-0 = <&gmac0_miim
|
||||
+ &gmac0_tx_bus2
|
||||
+ &gmac0_rx_bus2
|
||||
+ &gmac0_rgmii_clk
|
||||
+ &gmac0_rgmii_bus>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ tx_delay = <0x47>;
|
||||
+ rx_delay = <0x27>;
|
||||
+};
|
||||
+
|
||||
+&gpu {
|
||||
+ mali-supply = <&vdd_gpu>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ avdd-0v9-supply = <&vdda0v9_image>;
|
||||
+ avdd-1v8-supply = <&vcca1v8_image>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_in {
|
||||
+ hdmi_in_vp0: endpoint {
|
||||
+ remote-endpoint = <&vp0_out_hdmi>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&hdmi_sound {
|
||||
+ status = "okay";
|
||||
+ tx_delay = <0x4f>;
|
||||
+ rx_delay = <0x2d>;
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ vdd_cpu: regulator@41 {
|
||||
+ compatible = "rockchip,rk8600";
|
||||
+ reg = <0x41>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ regulator-name = "vdd_cpu";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-ramp-delay = <2300>;
|
||||
+ vdd_cpu: regulator@1c {
|
||||
+ compatible = "tcs,tcs4525";
|
||||
+ reg = <0x1c>;
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-name = "vdd_cpu";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <1150000>;
|
||||
+ regulator-ramp-delay = <2300>;
|
||||
+ vin-supply = <&vcc3v3_sys>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
@@ -259,18 +169,10 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ reg = <0x20>;
|
||||
+ interrupt-parent = <&gpio0>;
|
||||
+ interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
|
||||
+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
|
||||
+ #clock-cells = <1>;
|
||||
+ clock-names = "mclk";
|
||||
+ clocks = <&cru I2S1_MCLKOUT_TX>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
|
||||
+
|
||||
+ pinctrl-0 = <&pmic_int_l>;
|
||||
+ rockchip,system-power-controller;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ wakeup-source;
|
||||
+
|
||||
+ vcc1-supply = <&vcc3v3_sys>;
|
||||
+ vcc2-supply = <&vcc3v3_sys>;
|
||||
+ vcc3-supply = <&vcc3v3_sys>;
|
||||
@@ -280,6 +182,7 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ vcc7-supply = <&vcc3v3_sys>;
|
||||
+ vcc8-supply = <&vcc3v3_sys>;
|
||||
+ vcc9-supply = <&vcc3v3_sys>;
|
||||
+ wakeup-source;
|
||||
+
|
||||
+ regulators {
|
||||
+ vdd_logic: DCDC_REG1 {
|
||||
@@ -475,64 +378,24 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ clock-frequency = <400000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rtc: rtc@51 {
|
||||
+ compatible = "nxp,pcf8563";
|
||||
+ reg = <0x51>;
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2s0_8ch {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2s1_8ch {
|
||||
+ rockchip,trcm-sync-tx-only;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio1 {
|
||||
+ rgmii_phy1: ethernet-phy@0 {
|
||||
+&mdio0 {
|
||||
+ rgmii_phy0: ethernet-phy@0 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <0x0>;
|
||||
+ reset-assert-us = <20000>;
|
||||
+ reset-deassert-us = <100000>;
|
||||
+ reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ fspi {
|
||||
+ fspi_dual_io_pins: fspi-dual-io-pins {
|
||||
+ rockchip,pins =
|
||||
+ /* fspi_clk */
|
||||
+ <1 RK_PD0 1 &pcfg_pull_none>,
|
||||
+ /* fspi_cs0n */
|
||||
+ <1 RK_PD3 1 &pcfg_pull_none>,
|
||||
+ /* fspi_d0 */
|
||||
+ <1 RK_PD1 1 &pcfg_pull_none>,
|
||||
+ /* fspi_d1 */
|
||||
+ <1 RK_PD2 1 &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ethernet {
|
||||
+ eth_phy_rst: eth_phy_rst {
|
||||
+ rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ led_power_pin: led-power-pin {
|
||||
+ rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ led_act_pin: led-act-pin {
|
||||
+ led_work_pin: led-work-pin {
|
||||
+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ led_usr_pin: led-user-pin {
|
||||
+ rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pmic {
|
||||
@@ -540,12 +403,6 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb {
|
||||
+ vcc5v0_usb_host_en_pin: vcc5v0-usb-host-en-pin {
|
||||
+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pmu_io_domains {
|
||||
@@ -554,17 +411,13 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ vccio1-supply = <&vccio_acodec>;
|
||||
+ vccio2-supply = <&vcc_1v8>;
|
||||
+ vccio3-supply = <&vccio_sd>;
|
||||
+ vccio4-supply = <&vcc_1v8>; /* float */
|
||||
+ vccio5-supply = <&vcc_1v8>;
|
||||
+ vccio6-supply = <&vcc_1v8>;
|
||||
+ vccio4-supply = <&vcc_1v8>;
|
||||
+ vccio5-supply = <&vcc_3v3>;
|
||||
+ vccio6-supply = <&vcc_3v3>;
|
||||
+ vccio7-supply = <&vcc_3v3>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&rng {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ vref-supply = <&vcca_1v8>;
|
||||
+ status = "okay";
|
||||
@@ -588,137 +441,15 @@ index 0000000000000..d6a86cc57b65e
|
||||
+ disable-wp;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
||||
+ sd-uhs-sdr104;
|
||||
+ sd-uhs-sdr50;
|
||||
+ vmmc-supply = <&vcc3v3_sd>;
|
||||
+ vqmmc-supply = <&vccio_sd>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sfc {
|
||||
+ /* Dual I/O mode as the D2 pin conflicts with the eMMC */
|
||||
+ pinctrl-0 = <&fspi_dual_io_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash@0 {
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <100000000>;
|
||||
+ spi-rx-bus-width = <4>;
|
||||
+ spi-tx-bus-width = <1>;
|
||||
+
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ partition@0 {
|
||||
+ label = "SPL";
|
||||
+ reg = <0x0 0xe0000>;
|
||||
+ };
|
||||
+ partition@e0000 {
|
||||
+ label = "U-Boot Env";
|
||||
+ reg = <0xe0000 0x20000>;
|
||||
+ };
|
||||
+ partition@100000 {
|
||||
+ label = "U-Boot";
|
||||
+ reg = <0x100000 0x200000>;
|
||||
+ };
|
||||
+ partition@300000 {
|
||||
+ label = "splash";
|
||||
+ reg = <0x300000 0x100000>;
|
||||
+ };
|
||||
+ partition@400000 {
|
||||
+ label = "Filesystem";
|
||||
+ reg = <0x400000 0xc00000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&tsadc {
|
||||
+ rockchip,hw-tshut-mode = <1>;
|
||||
+ rockchip,hw-tshut-polarity = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_ehci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_ohci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_xhci {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_ehci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_ohci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_xhci {
|
||||
+ status = "okay";
|
||||
+ phys = <&usb2phy0_host>;
|
||||
+ phy-names = "usb2-phy";
|
||||
+ snps,dis_u2_susphy_quirk;
|
||||
+ extcon = <&usb2phy0>;
|
||||
+ maximum-speed = "high-speed";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0_host {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0_otg {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1_host {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1_otg {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vop {
|
||||
+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
||||
+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vop_mmu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vp0 {
|
||||
+ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
||||
+ reg = <ROCKCHIP_VOP2_EP_HDMI0>;
|
||||
+ remote-endpoint = <&hdmi_in_vp0>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,38 @@
|
||||
From 24048c1753916bd983746542b16d19d2b399eeb7 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <24048c1753916bd983746542b16d19d2b399eeb7.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:36 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: add thermal support to ODROID-M1
|
||||
|
||||
Add the thermal nodes for the ODROID-M1.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-4-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index b3016437640b..112c65af3f55 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -409,6 +409,12 @@ &sdmmc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&tsadc {
|
||||
+ rockchip,hw-tshut-mode = <1>;
|
||||
+ rockchip,hw-tshut-polarity = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,103 @@
|
||||
From 982bb2beab8e38a7c0a365770be2ad9c5221a650 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <982bb2beab8e38a7c0a365770be2ad9c5221a650.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:37 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add NOR flash to ODROID-M1
|
||||
|
||||
Enable the Rockchip Serial Flash Controller for the ODROID-M1 and add
|
||||
the corresponding SPI NOR flash entry. The SFC is used in dual I/O mode
|
||||
and not quad I/O mode, as the FSPI_D2 pin is shared with the EMMC_RSTn
|
||||
pin.
|
||||
|
||||
The partitions addresses and sizes are taken from the ODROID-M1
|
||||
Partition Table page on the ODROID wiki.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-5-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
.../boot/dts/rockchip/rk3568-odroid-m1.dts | 58 +++++++++++++++++++
|
||||
1 file changed, 58 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index 112c65af3f55..94e839c9afab 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -351,6 +351,20 @@ rgmii_phy0: ethernet-phy@0 {
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
+ fspi {
|
||||
+ fspi_dual_io_pins: fspi-dual-io-pins {
|
||||
+ rockchip,pins =
|
||||
+ /* fspi_clk */
|
||||
+ <1 RK_PD0 1 &pcfg_pull_none>,
|
||||
+ /* fspi_cs0n */
|
||||
+ <1 RK_PD3 1 &pcfg_pull_none>,
|
||||
+ /* fspi_d0 */
|
||||
+ <1 RK_PD1 1 &pcfg_pull_none>,
|
||||
+ /* fspi_d1 */
|
||||
+ <1 RK_PD2 1 &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
led_power_pin: led-power-pin {
|
||||
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
@@ -409,6 +423,50 @@ &sdmmc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sfc {
|
||||
+ /* Dual I/O mode as the D2 pin conflicts with the eMMC */
|
||||
+ pinctrl-0 = <&fspi_dual_io_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash@0 {
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <100000000>;
|
||||
+ spi-rx-bus-width = <2>;
|
||||
+ spi-tx-bus-width = <1>;
|
||||
+
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ partition@0 {
|
||||
+ label = "SPL";
|
||||
+ reg = <0x0 0xe0000>;
|
||||
+ };
|
||||
+ partition@e0000 {
|
||||
+ label = "U-Boot Env";
|
||||
+ reg = <0xe0000 0x20000>;
|
||||
+ };
|
||||
+ partition@100000 {
|
||||
+ label = "U-Boot";
|
||||
+ reg = <0x100000 0x200000>;
|
||||
+ };
|
||||
+ partition@300000 {
|
||||
+ label = "splash";
|
||||
+ reg = <0x300000 0x100000>;
|
||||
+ };
|
||||
+ partition@400000 {
|
||||
+ label = "Filesystem";
|
||||
+ reg = <0x400000 0xc00000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&tsadc {
|
||||
rockchip,hw-tshut-mode = <1>;
|
||||
rockchip,hw-tshut-polarity = <0>;
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,102 @@
|
||||
From ae25f92a09abb7dd16a9ad3b74e0c105b385f214 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ae25f92a09abb7dd16a9ad3b74e0c105b385f214.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:38 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add analog audio on ODROID-M1
|
||||
|
||||
On the ODROID-M1, the I2S1 TDM controller is connected to the rk809
|
||||
codec in I2S mode. It is used to provide a stereo headphones output and
|
||||
a mono speaker output. A GPIO with an external pullup is used as an
|
||||
headphone detection input.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-6-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
.../boot/dts/rockchip/rk3568-odroid-m1.dts | 43 ++++++++++++++++++-
|
||||
1 file changed, 42 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index 94e839c9afab..634c1bd80b4e 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -59,6 +59,31 @@ led_work: led-1 {
|
||||
};
|
||||
};
|
||||
|
||||
+ rk809-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&hp_det_pin>;
|
||||
+ simple-audio-card,name = "Analog RK817";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,widgets =
|
||||
+ "Headphone", "Headphones",
|
||||
+ "Speaker", "Speaker";
|
||||
+ simple-audio-card,routing =
|
||||
+ "Headphones", "HPOL",
|
||||
+ "Headphones", "HPOR",
|
||||
+ "Speaker", "SPKO";
|
||||
+
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s1_8ch>;
|
||||
+ };
|
||||
+
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&rk809>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
vcc3v3_sys: vcc3v3-sys-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3_sys";
|
||||
@@ -131,10 +156,15 @@ rk809: pmic@20 {
|
||||
reg = <0x20>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
|
||||
+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
|
||||
#clock-cells = <1>;
|
||||
+ clock-names = "mclk";
|
||||
+ clocks = <&cru I2S1_MCLKOUT_TX>;
|
||||
pinctrl-names = "default";
|
||||
- pinctrl-0 = <&pmic_int_l>;
|
||||
+ pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
|
||||
rockchip,system-power-controller;
|
||||
+ #sound-dai-cells = <0>;
|
||||
vcc1-supply = <&vcc3v3_sys>;
|
||||
vcc2-supply = <&vcc3v3_sys>;
|
||||
vcc3-supply = <&vcc3v3_sys>;
|
||||
@@ -340,6 +370,11 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
|
||||
+&i2s1_8ch {
|
||||
+ rockchip,trcm-sync-tx-only;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&mdio0 {
|
||||
rgmii_phy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
@@ -379,6 +414,12 @@ pmic_int_l: pmic-int-l {
|
||||
rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ rk809 {
|
||||
+ hp_det_pin: hp-det-pin {
|
||||
+ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&pmu_io_domains {
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,97 @@
|
||||
From 3a1be3d8719ef6335385d4e5e456371e7bf7383f Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3a1be3d8719ef6335385d4e5e456371e7bf7383f.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:39 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Enable vop2 and hdmi tx on ODROID-M1
|
||||
|
||||
Enable the RK356x Video Output Processor (VOP) 2 on ODROID M1.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-7-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
.../boot/dts/rockchip/rk3568-odroid-m1.dts | 47 +++++++++++++++++++
|
||||
1 file changed, 47 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index 634c1bd80b4e..126b893048fe 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
+#include <dt-bindings/soc/rockchip,vop2.h>
|
||||
#include "rk3568.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -37,6 +38,17 @@ dc_12v: dc-12v-regulator {
|
||||
regulator-max-microvolt = <12000000>;
|
||||
};
|
||||
|
||||
+ hdmi-con {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -131,6 +143,24 @@ &gmac0_rgmii_clk
|
||||
rx_delay = <0x2d>;
|
||||
};
|
||||
|
||||
+&hdmi {
|
||||
+ avdd-0v9-supply = <&vdda0v9_image>;
|
||||
+ avdd-1v8-supply = <&vcca1v8_image>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_in {
|
||||
+ hdmi_in_vp0: endpoint {
|
||||
+ remote-endpoint = <&vp0_out_hdmi>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
@@ -517,3 +547,20 @@ &tsadc {
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&vop {
|
||||
+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
||||
+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vop_mmu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vp0 {
|
||||
+ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
||||
+ reg = <ROCKCHIP_VOP2_EP_HDMI0>;
|
||||
+ remote-endpoint = <&hdmi_in_vp0>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,48 @@
|
||||
From ded87dc761951205b8b9ba8ee4081e28a850a3db Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ded87dc761951205b8b9ba8ee4081e28a850a3db.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:40 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Enable HDMI audio on ODROID-M1.
|
||||
|
||||
This enables the i2s0 controller and the hdmi-sound node on the
|
||||
ODROID-M1.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-8-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index 126b893048fe..ac4e94d18feb 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -161,6 +161,10 @@ hdmi_out_con: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+&hdmi_sound {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
@@ -400,6 +404,10 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
|
||||
+&i2s0_8ch {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2s1_8ch {
|
||||
rockchip,trcm-sync-tx-only;
|
||||
status = "okay";
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,37 @@
|
||||
From 13438a717627cae086cc3a1126552cffa2f4bd16 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <13438a717627cae086cc3a1126552cffa2f4bd16.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:41 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Enable the GPU on ODROID-M1
|
||||
|
||||
Enable the GPU core on the Rockchip RK3568 ODROID-M1.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-9-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index ac4e94d18feb..e4b7699d3eea 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -143,6 +143,11 @@ &gmac0_rgmii_clk
|
||||
rx_delay = <0x2d>;
|
||||
};
|
||||
|
||||
+&gpu {
|
||||
+ mali-supply = <&vdd_gpu>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&hdmi {
|
||||
avdd-0v9-supply = <&vdda0v9_image>;
|
||||
avdd-1v8-supply = <&vcca1v8_image>;
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,111 @@
|
||||
From 0f0a85a289b4d0fbd5c39eb5ddbb681a37ad490c Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <0f0a85a289b4d0fbd5c39eb5ddbb681a37ad490c.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:42 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Enable the USB 2.0 ports on ODROID-M1
|
||||
|
||||
The Rockchip RK3568 has two USB OHCI/EHCI controllers connected to a PHY
|
||||
providing one host-only port and one OTG port. On the ODROID-M1, they
|
||||
are both used in host mode. The USB ports are powered by a DC/DC
|
||||
converter providing 5V and named VCC5V0_SYS on the schematics, followed
|
||||
by a power switch.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-10-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
.../boot/dts/rockchip/rk3568-odroid-m1.dts | 61 +++++++++++++++++++
|
||||
1 file changed, 61 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index e4b7699d3eea..2e4cc20bd676 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -105,6 +105,28 @@ vcc3v3_sys: vcc3v3-sys-regulator {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&dc_12v>;
|
||||
};
|
||||
+
|
||||
+ vcc5v0_sys: vcc5v0-sys-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&dc_12v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb_host: vcc5v0-usb-host-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb_host";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc5v0_usb_host_en_pin>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
@@ -463,6 +485,15 @@ hp_det_pin: hp-det-pin {
|
||||
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ usb {
|
||||
+ vcc5v0_usb_host_en_pin: vcc5v0-usb-host-en-pin {
|
||||
+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ vcc5v0_usb_otg_en_pin: vcc5v0-usb-otg-en-pin {
|
||||
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&pmu_io_domains {
|
||||
@@ -561,6 +592,36 @@ &uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&usb_host0_ehci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_ohci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_ehci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_ohci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1_host {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1_otg {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&vop {
|
||||
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
||||
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,114 @@
|
||||
From d8abc451c669a8fd36b31db5cb96ec49da819124 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <d8abc451c669a8fd36b31db5cb96ec49da819124.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:43 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Enable the USB 3.0 ports on ODROID-M1
|
||||
|
||||
The Rockchip RK3568 has two USB XHCI controllers. The USB 2.0 signals
|
||||
are connected to a PHY providing one host-only port and one OTG port.
|
||||
The USB 3.0 signals are connected to two USB3.0/PCIE/SATA combo PHY.
|
||||
|
||||
The ODROID M1 has 2 type A USB 3.0 connectors, with the USB 3.0 signals
|
||||
connected to the two combo PHYs. For the USB 2.0 signals, one connector
|
||||
is connected to the host-only PHY and uses the same power switch as the
|
||||
USB 2.0 ports. The other connector has its own power switch and is
|
||||
connected to the OTG PHY, which is also connected to a device only
|
||||
micro-USB connector. The purpose of this micro-USB connector is for
|
||||
firmware update using the Rockusb vendor specific USB class. Therefore
|
||||
it does not make sense to enable this port on Linux, and the PHY is
|
||||
forced to host mode.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-11-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
.../boot/dts/rockchip/rk3568-odroid-m1.dts | 49 ++++++++++++++++++-
|
||||
1 file changed, 48 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index 2e4cc20bd676..9a84a7e76d7a 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -127,6 +127,30 @@ vcc5v0_usb_host: vcc5v0-usb-host-regulator {
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
+
|
||||
+ vcc5v0_usb_otg: vcc5v0-usb-otg-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb_otg";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc5v0_usb_otg_en_pin>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&combphy0 {
|
||||
+ /* Used for USB3 */
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&combphy1 {
|
||||
+ /* Used for USB3 */
|
||||
+ phy-supply = <&vcc5v0_usb_otg>;
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
@@ -490,7 +514,7 @@ usb {
|
||||
vcc5v0_usb_host_en_pin: vcc5v0-usb-host-en-pin {
|
||||
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
- vcc5v0_usb_otg_en_pin: vcc5v0-usb-otg-en-pin {
|
||||
+ vcc5v0_usb_otg_en_pin: vcc5v0-usb-dr-en-pin {
|
||||
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
@@ -600,6 +624,11 @@ &usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&usb_host0_xhci {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&usb_host1_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -608,6 +637,24 @@ &usb_host1_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&usb_host1_xhci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0_host {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0_otg {
|
||||
+ phy-supply = <&vcc5v0_usb_otg>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&usb2phy1 {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,48 @@
|
||||
From 2f6d4521403932ca22cb4dabef9033f1d52232ba Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <2f6d4521403932ca22cb4dabef9033f1d52232ba.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:44 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add SATA support to ODROID-M1
|
||||
|
||||
Enable the Combo PHY and SATA nodes in ODROID-M1.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-12-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index 9a84a7e76d7a..bd24ccf94e76 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -153,6 +153,11 @@ &combphy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&combphy2 {
|
||||
+ /* used for SATA */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_cpu>;
|
||||
};
|
||||
@@ -538,6 +543,10 @@ &saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sata2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
max-frequency = <200000000>;
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,80 @@
|
||||
From 1572a9c5d9fa9f654fbc1909528ae5940ad34aa3 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <1572a9c5d9fa9f654fbc1909528ae5940ad34aa3.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:45 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add PCIEe v3 nodes to ODROID-M1
|
||||
|
||||
Add nodes to ODROID-M1 to support PCIe v3 on the M2 slot.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-13-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
.../boot/dts/rockchip/rk3568-odroid-m1.dts | 34 +++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index bd24ccf94e76..2f685c606bb9 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -96,6 +96,19 @@ simple-audio-card,codec {
|
||||
};
|
||||
};
|
||||
|
||||
+ vcc3v3_pcie: vcc3v3-pcie-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3_pcie";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc3v3_pcie_en_pin>;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ startup-delay-us = <5000>;
|
||||
+ vin-supply = <&vcc3v3_sys>;
|
||||
+ };
|
||||
+
|
||||
vcc3v3_sys: vcc3v3-sys-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3_sys";
|
||||
@@ -479,6 +492,18 @@ rgmii_phy0: ethernet-phy@0 {
|
||||
};
|
||||
};
|
||||
|
||||
+&pcie30phy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pcie3x2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pcie_reset_pin>;
|
||||
+ reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
|
||||
+ vpcie3v3-supply = <&vcc3v3_pcie>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&pinctrl {
|
||||
fspi {
|
||||
fspi_dual_io_pins: fspi-dual-io-pins {
|
||||
@@ -503,6 +528,15 @@ led_work_pin: led-work-pin {
|
||||
};
|
||||
};
|
||||
|
||||
+ pcie {
|
||||
+ pcie_reset_pin: pcie-reset-pin {
|
||||
+ rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin {
|
||||
+ rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
pmic {
|
||||
pmic_int_l: pmic-int-l {
|
||||
rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
--
|
||||
2.39.2
|
||||
|
@@ -0,0 +1,54 @@
|
||||
From b2eae73eeb32dd9383571de6af18fc8bd39aac3a Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <b2eae73eeb32dd9383571de6af18fc8bd39aac3a.1678107917.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1678107917.git.stefan@agner.ch>
|
||||
From: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Date: Fri, 30 Sep 2022 07:12:46 +0200
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add IR receiver node to ODROID-M1
|
||||
|
||||
Add the infrared receiver and its associated pinctrl entry. Note that
|
||||
there is an external pullup to VCC3V3_SYS.
|
||||
|
||||
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
||||
Tested-by: Dan Johansen <strit@manjaro.org>
|
||||
Link: https://lore.kernel.org/r/20220930051246.391614-14-aurelien@aurel32.net
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
index 2f685c606bb9..59ecf868dbd0 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -49,6 +49,13 @@ hdmi_con_in: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+ ir-receiver {
|
||||
+ compatible = "gpio-ir-receiver";
|
||||
+ gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ir_receiver_pin>;
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -519,6 +526,13 @@ fspi_dual_io_pins: fspi-dual-io-pins {
|
||||
};
|
||||
};
|
||||
|
||||
+ ir-receiver {
|
||||
+ ir_receiver_pin: ir-receiver-pin {
|
||||
+ /* external pullup to VCC3V3_SYS */
|
||||
+ rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
led_power_pin: led-power-pin {
|
||||
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
--
|
||||
2.39.2
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user