mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-08-30 15:29:20 +00:00
Compare commits
355 Commits
missing-ve
...
13.2
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3f161bc7d1 | ||
![]() |
1bd9245219 | ||
![]() |
fb7a9c4196 | ||
![]() |
8f69cd7fd1 | ||
![]() |
67ddfe2563 | ||
![]() |
ce8b777d74 | ||
![]() |
82f36004f5 | ||
![]() |
62a30ac509 | ||
![]() |
ba73a8c3d7 | ||
![]() |
0fdf920b89 | ||
![]() |
f27c429be2 | ||
![]() |
e4d00de474 | ||
![]() |
65789af595 | ||
![]() |
39b1c6de4e | ||
![]() |
2916a1c247 | ||
![]() |
2e6b38a0e1 | ||
![]() |
5d164b12d1 | ||
![]() |
e3bbe2003f | ||
![]() |
93ac046349 | ||
![]() |
d615f8c71e | ||
![]() |
3977f1f039 | ||
![]() |
d9e46d6dbb | ||
![]() |
b23b54bed0 | ||
![]() |
5eb7ccb761 | ||
![]() |
c6d4e2788e | ||
![]() |
14ca2ac75e | ||
![]() |
4fb27c2ca8 | ||
![]() |
c7018054b4 | ||
![]() |
7f9116b7f8 | ||
![]() |
e97b1231dc | ||
![]() |
1a7dc0ca1f | ||
![]() |
d3a43a4ca4 | ||
![]() |
3c2f014acb | ||
![]() |
1b6cfbf940 | ||
![]() |
cdee2c5838 | ||
![]() |
7e7612ffeb | ||
![]() |
832b70bab1 | ||
![]() |
0c08acd2c3 | ||
![]() |
1467cc5f64 | ||
![]() |
d44d93e4a1 | ||
![]() |
2fb1663a35 | ||
![]() |
a7617340e9 | ||
![]() |
77e2b92972 | ||
![]() |
fd31ce14ea | ||
![]() |
598e06de5d | ||
![]() |
d83602c6d3 | ||
![]() |
55b3446bd9 | ||
![]() |
f292ba02e2 | ||
![]() |
42baa80900 | ||
![]() |
ba86720163 | ||
![]() |
0452965fb0 | ||
![]() |
d6fa83a0d3 | ||
![]() |
edba18f6c4 | ||
![]() |
50a0062ee6 | ||
![]() |
26c383484e | ||
![]() |
d8baa98ae2 | ||
![]() |
ccca13d3ca | ||
![]() |
7a19b892a5 | ||
![]() |
66fc7d7e2a | ||
![]() |
9cc45f65ea | ||
![]() |
c2527a2ae1 | ||
![]() |
a32974e1a7 | ||
![]() |
d51a0d3cec | ||
![]() |
13c4bb56c0 | ||
![]() |
327e9a07c9 | ||
![]() |
568499072f | ||
![]() |
bc7c109163 | ||
![]() |
b0bc71a835 | ||
![]() |
a80311a285 | ||
![]() |
6de9da2560 | ||
![]() |
5d5bc36892 | ||
![]() |
77a28bd1df | ||
![]() |
038bfd9073 | ||
![]() |
eb2bdf85e9 | ||
![]() |
d148ad2b50 | ||
![]() |
63a05a5a1e | ||
![]() |
150be514e4 | ||
![]() |
45cbd1d9b7 | ||
![]() |
00171ae44c | ||
![]() |
777432913e | ||
![]() |
d57b6be01e | ||
![]() |
1f8ed07c42 | ||
![]() |
3ef8b07676 | ||
![]() |
ea286d9dad | ||
![]() |
4308c45391 | ||
![]() |
33d8b538ad | ||
![]() |
245c0d0b03 | ||
![]() |
c20841ac1e | ||
![]() |
0555e89ad0 | ||
![]() |
203885a7d8 | ||
![]() |
7298ffc13f | ||
![]() |
6c7b6fdebe | ||
![]() |
87a6c84025 | ||
![]() |
94c6930acd | ||
![]() |
a70ed7e81e | ||
![]() |
62d7794a6c | ||
![]() |
8490b3bf70 | ||
![]() |
abe018d4aa | ||
![]() |
0e9e8ca2a6 | ||
![]() |
27bc7306ff | ||
![]() |
6c2d5b5006 | ||
![]() |
d847b9803a | ||
![]() |
89533755bc | ||
![]() |
6d77355c1c | ||
![]() |
26f0b5a9b7 | ||
![]() |
542f69efa4 | ||
![]() |
ae588b762a | ||
![]() |
6135ecdcc7 | ||
![]() |
22b63ae779 | ||
![]() |
bd7474fc97 | ||
![]() |
5ed9057728 | ||
![]() |
682d59434e | ||
![]() |
2c725d90f6 | ||
![]() |
8dbc03cc76 | ||
![]() |
8aa9869e4f | ||
![]() |
dd96b5019a | ||
![]() |
229cc7ebbb | ||
![]() |
ca71774e7d | ||
![]() |
12597f197f | ||
![]() |
2c266c53f1 | ||
![]() |
d7338e7570 | ||
![]() |
301bf4a377 | ||
![]() |
2ea9eccf79 | ||
![]() |
1a5a2c4e28 | ||
![]() |
7a94a2ef71 | ||
![]() |
ddd528b8e7 | ||
![]() |
9fa953745a | ||
![]() |
fce19b7846 | ||
![]() |
65f35c65b2 | ||
![]() |
67315f86d4 | ||
![]() |
4e44b101f3 | ||
![]() |
21fd9e64c8 | ||
![]() |
9dab6908c9 | ||
![]() |
a277854add | ||
![]() |
8854dd4ddb | ||
![]() |
478538eac0 | ||
![]() |
e1b11540a1 | ||
![]() |
82c3e2a859 | ||
![]() |
9272065664 | ||
![]() |
77c28be3cd | ||
![]() |
85d7c23a5f | ||
![]() |
4f53947596 | ||
![]() |
dd76a1dda4 | ||
![]() |
c9efdea83b | ||
![]() |
56ae6e1cb7 | ||
![]() |
2254260dad | ||
![]() |
3252676fde | ||
![]() |
5dc234d14f | ||
![]() |
3e970f1e9a | ||
![]() |
ea217fe5bd | ||
![]() |
bfe9943068 | ||
![]() |
7166a83998 | ||
![]() |
7a69678505 | ||
![]() |
0c9deaeebf | ||
![]() |
de3f2c6420 | ||
![]() |
78d281fce1 | ||
![]() |
7013872665 | ||
![]() |
974812a8af | ||
![]() |
e18c6ef4ce | ||
![]() |
889b561ca1 | ||
![]() |
90b618b096 | ||
![]() |
5ee9cef8c8 | ||
![]() |
040af8fd9b | ||
![]() |
94bf84a807 | ||
![]() |
b564fb3fa7 | ||
![]() |
2d6b731b9a | ||
![]() |
adbd449494 | ||
![]() |
cff5c81cf0 | ||
![]() |
aafa022800 | ||
![]() |
ccf92bc87f | ||
![]() |
a45cab1756 | ||
![]() |
6c11146d9c | ||
![]() |
e144c2bc96 | ||
![]() |
6c7c972c5d | ||
![]() |
1953c2afdb | ||
![]() |
6b062f3c75 | ||
![]() |
c085ff2b10 | ||
![]() |
454d764676 | ||
![]() |
0e3a2d016d | ||
![]() |
fde0c80e54 | ||
![]() |
80dfffc0b0 | ||
![]() |
dd43bfee8e | ||
![]() |
32f1ca8fa8 | ||
![]() |
3dfd3a4c21 | ||
![]() |
8226323a1b | ||
![]() |
122dd1c288 | ||
![]() |
fe1978f98f | ||
![]() |
541afd452b | ||
![]() |
b5795a0277 | ||
![]() |
a909d89e1c | ||
![]() |
e24fbf63ae | ||
![]() |
a6f54f6c4d | ||
![]() |
6ac4f3435b | ||
![]() |
8debb61114 | ||
![]() |
47f8671925 | ||
![]() |
8f577e47db | ||
![]() |
2adfa287d1 | ||
![]() |
e60a2e4b68 | ||
![]() |
ff34a11f37 | ||
![]() |
dfdd3b4438 | ||
![]() |
9614f769f2 | ||
![]() |
8c5377810f | ||
![]() |
426ef2d568 | ||
![]() |
e9e027dd95 | ||
![]() |
cf0bde1f5a | ||
![]() |
1b66f81dfa | ||
![]() |
623ebd8d38 | ||
![]() |
f05294e51d | ||
![]() |
af345d98d7 | ||
![]() |
b599d24658 | ||
![]() |
e7a62ce563 | ||
![]() |
f770a3f4b2 | ||
![]() |
0028e20973 | ||
![]() |
ad4493a781 | ||
![]() |
5fddd20258 | ||
![]() |
c1b936716d | ||
![]() |
977f017cf8 | ||
![]() |
87938f0a4b | ||
![]() |
37c2f951d6 | ||
![]() |
3dee9895ac | ||
![]() |
0f0eacf46e | ||
![]() |
8fef166685 | ||
![]() |
b08f7de9e1 | ||
![]() |
9dcf8ae82f | ||
![]() |
c90c175754 | ||
![]() |
b3e3d833a7 | ||
![]() |
5271dd180d | ||
![]() |
3c50eee20b | ||
![]() |
1e70dc8edf | ||
![]() |
fd3c1066b8 | ||
![]() |
f4f7928f17 | ||
![]() |
8eeb85ed17 | ||
![]() |
e00709d449 | ||
![]() |
9e7b6783d1 | ||
![]() |
1f45aaf359 | ||
![]() |
0ac12d3cd4 | ||
![]() |
f263326ef8 | ||
![]() |
82e1beff2e | ||
![]() |
54e86009c2 | ||
![]() |
bd3cae5300 | ||
![]() |
9102f06fba | ||
![]() |
9df30c9e4e | ||
![]() |
378b90bc82 | ||
![]() |
01c8c1a5fa | ||
![]() |
3d234144a2 | ||
![]() |
ae4ab5aa24 | ||
![]() |
113348ef93 | ||
![]() |
4b2d34368d | ||
![]() |
aadb5a74b6 | ||
![]() |
4619dcbb16 | ||
![]() |
08b3277bdb | ||
![]() |
bf744adc5f | ||
![]() |
f36ab6cf5e | ||
![]() |
7685e04c2b | ||
![]() |
d83fc29969 | ||
![]() |
82e7dc7ccf | ||
![]() |
ab586e285f | ||
![]() |
ff84663caa | ||
![]() |
c210a1a52a | ||
![]() |
3aa2c1e411 | ||
![]() |
c845b387c9 | ||
![]() |
bde080336e | ||
![]() |
e7c15f9aa6 | ||
![]() |
a7f570c4b4 | ||
![]() |
59555e597e | ||
![]() |
c328d30610 | ||
![]() |
b88ba4d208 | ||
![]() |
99e8af2aac | ||
![]() |
66087c4334 | ||
![]() |
baa756e736 | ||
![]() |
1a48d6fdd4 | ||
![]() |
f50f7c2475 | ||
![]() |
e93d92b50e | ||
![]() |
0ec5c22d3a | ||
![]() |
fdd0bd0efb | ||
![]() |
57913a3eee | ||
![]() |
d6873893a4 | ||
![]() |
572d14adcc | ||
![]() |
fe8c4ef6c1 | ||
![]() |
714912a2a9 | ||
![]() |
62b76f7f47 | ||
![]() |
d82458a6a8 | ||
![]() |
6c549c10d8 | ||
![]() |
364ca718fb | ||
![]() |
978e13b180 | ||
![]() |
225d4194bf | ||
![]() |
230a50587f | ||
![]() |
de82d0b412 | ||
![]() |
7ef16072c6 | ||
![]() |
13e0f13f3c | ||
![]() |
5a9be34007 | ||
![]() |
2e7aa1dc6a | ||
![]() |
d116bba470 | ||
![]() |
069614a968 | ||
![]() |
b9efb8edaf | ||
![]() |
722cdf26f4 | ||
![]() |
e4fab0ab93 | ||
![]() |
7fc91c7bd7 | ||
![]() |
779b75f10e | ||
![]() |
f605dd43ec | ||
![]() |
fb13b2bff8 | ||
![]() |
5b3447ae38 | ||
![]() |
8e1016dcaf | ||
![]() |
ac089a2d8e | ||
![]() |
77c7def4e3 | ||
![]() |
c6ca14182b | ||
![]() |
1e6deab48b | ||
![]() |
dff282ff00 | ||
![]() |
1211b24c7f | ||
![]() |
d427248a05 | ||
![]() |
6579b978d0 | ||
![]() |
1ffaec3acb | ||
![]() |
934273e344 | ||
![]() |
da40ca2271 | ||
![]() |
a79e3b270c | ||
![]() |
20295a5f0b | ||
![]() |
26e96caef6 | ||
![]() |
c59c887a53 | ||
![]() |
2c6d0de965 | ||
![]() |
e524a5e03d | ||
![]() |
eab18076ad | ||
![]() |
376e4f9296 | ||
![]() |
9235649bbd | ||
![]() |
93a2d8a19b | ||
![]() |
c3b9912e2e | ||
![]() |
741498c92b | ||
![]() |
d7f49ab9ff | ||
![]() |
b37dc33e5c | ||
![]() |
5891250bd1 | ||
![]() |
1ea0bb7bf4 | ||
![]() |
f986d7f690 | ||
![]() |
9fd789cdb5 | ||
![]() |
1848fd7555 | ||
![]() |
5d11e16150 | ||
![]() |
7c3cee049b | ||
![]() |
c94b29a9cc | ||
![]() |
b06a89b264 | ||
![]() |
5d9244b92a | ||
![]() |
5b534e3b58 | ||
![]() |
0f2b7c49f2 | ||
![]() |
754bec30fd | ||
![]() |
1238527b49 | ||
![]() |
196c48ee5e | ||
![]() |
5e80f74b7a | ||
![]() |
11c2eab58a | ||
![]() |
e0d6cc15d5 | ||
![]() |
1a6b7418f0 | ||
![]() |
fccb11cad1 | ||
![]() |
5314324c61 | ||
![]() |
53d139df97 | ||
![]() |
49f26c3d2e | ||
![]() |
d9b49bbcb8 | ||
![]() |
26bfeb6c40 | ||
![]() |
586f2ea021 | ||
![]() |
6df79b13e9 |
28
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
28
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -23,6 +23,7 @@ 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,6 +31,7 @@ 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)
|
||||
@@ -38,6 +40,7 @@ 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)
|
||||
@@ -57,10 +60,21 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Did you upgrade the Operating System.
|
||||
label: Did the problem occur after upgrading the Operating System?
|
||||
default: 0
|
||||
options:
|
||||
- "Yes"
|
||||
- "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.
|
||||
- type: textarea
|
||||
validations:
|
||||
required: true
|
||||
@@ -80,10 +94,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/)
|
||||
then choose `Supervisor` in the top right.
|
||||
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.
|
||||
|
||||
[](https://my.home-assistant.io/redirect/supervisor_logs/)
|
||||
[](https://my.home-assistant.io/redirect/logs/?provider=supervisor)
|
||||
render: txt
|
||||
- type: textarea
|
||||
validations:
|
||||
@@ -91,8 +105,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/)
|
||||
then choose `Host` in the top right.
|
||||
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.
|
||||
render: txt
|
||||
- type: textarea
|
||||
attributes:
|
||||
|
@@ -82,6 +82,7 @@ runs:
|
||||
|
||||
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"
|
||||
|
||||
- shell: bash
|
||||
env:
|
||||
|
8
.github/release-drafter.yml
vendored
8
.github/release-drafter.yml
vendored
@@ -4,8 +4,6 @@ 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'
|
||||
@@ -24,6 +22,12 @@ 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
|
||||
|
33
.github/workflows/artifacts-index.yaml
vendored
33
.github/workflows/artifacts-index.yaml
vendored
@@ -44,7 +44,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Python version ${{ env.PYTHON_VERSION }}
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
@@ -59,10 +59,10 @@ jobs:
|
||||
aws s3api list-objects-v2 \
|
||||
--bucket "${{ secrets.R2_OS_ARTIFACTS_BUCKET }}" \
|
||||
--endpoint-url "${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}" \
|
||||
--prefix "${{ github.event.inputs.version }}/" \
|
||||
--query 'Contents[].Key' | jq 'map(split("/")[1]) | sort' > "${{ github.event.inputs.version }}.json"
|
||||
--prefix "${{ inputs.version }}/" \
|
||||
--query 'Contents[].Key' | jq 'map(split("/")[1]) | sort' > "${{ inputs.version }}.json"
|
||||
aws s3 cp \
|
||||
"${{ github.event.inputs.version }}.json" \
|
||||
"${{ inputs.version }}.json" \
|
||||
s3://${{ secrets.R2_OS_ARTIFACTS_BUCKET }}/indexes/ \
|
||||
--endpoint-url "${{ secrets.R2_OS_ARTIFACTS_ENDPOINT }}"
|
||||
|
||||
@@ -83,11 +83,20 @@ jobs:
|
||||
|
||||
- name: Flush CloudFlare cache
|
||||
run: |
|
||||
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": [
|
||||
"https://os-artifacts.home-assistant.io/index.html",
|
||||
"https://os-artifacts.home-assistant.io/index.json"
|
||||
] }'
|
||||
# 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
|
||||
|
187
.github/workflows/build.yaml
vendored
187
.github/workflows/build.yaml
vendored
@@ -11,6 +11,11 @@ on:
|
||||
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
|
||||
|
||||
env:
|
||||
PYTHON_VERSION: "3.10"
|
||||
@@ -30,18 +35,40 @@ jobs:
|
||||
channel: ${{ steps.channel.outputs.channel }}
|
||||
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@v4
|
||||
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" ]; then
|
||||
version_dev="dev$(date +%s)"
|
||||
fi
|
||||
echo "Development version \"${version_dev}\""
|
||||
echo "version_dev=${version_dev}" >> $GITHUB_OUTPUT
|
||||
|
||||
@@ -88,7 +115,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Create build matrix
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
id: generate_matrix
|
||||
with:
|
||||
script: |
|
||||
@@ -109,24 +136,44 @@ jobs:
|
||||
}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3.0.0
|
||||
uses: docker/setup-buildx-action@v3.7.1
|
||||
- name: Log in to the GitHub container registry
|
||||
uses: docker/login-action@v3.0.0
|
||||
uses: docker/login-action@v3.3.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build and Push
|
||||
uses: docker/build-push-action@v5.0.0
|
||||
uses: docker/build-push-action@v6.9.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_main.outputs.version_main }}
|
||||
cache-to: ghcr.io/${{ github.repository_owner }}/haos-builder:cache-${{ steps.version_main.outputs.version_main }}
|
||||
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:
|
||||
@@ -146,12 +193,12 @@ jobs:
|
||||
|
||||
- name: Setup Python version ${{ env.PYTHON_VERSION }}
|
||||
if: ${{ github.event_name != 'release' }}
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install AWS CLI
|
||||
if: ${{ github.event_name != 'release' }}
|
||||
if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build == 'true' }}
|
||||
run: pip install awscli
|
||||
|
||||
- name: Set version suffix
|
||||
@@ -162,6 +209,7 @@ jobs:
|
||||
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 }}
|
||||
@@ -169,17 +217,30 @@ jobs:
|
||||
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@v4
|
||||
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
|
||||
# Make sure cache action can restore this lcoation
|
||||
sudo mkdir /mnt/cache
|
||||
sudo chown -R runner:runner /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@v3
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: /mnt/cache/cc
|
||||
key: haos-cc-${{ matrix.board.id }}
|
||||
@@ -188,14 +249,27 @@ jobs:
|
||||
run: |
|
||||
BUILDER_UID="$(id -u)"
|
||||
BUILDER_GID="$(id -g)"
|
||||
docker run --rm --privileged -v "${GITHUB_WORKSPACE}:/build" \
|
||||
docker run --rm --privileged \
|
||||
-e BUILDER_UID="${BUILDER_UID}" -e BUILDER_GID="${BUILDER_GID}" \
|
||||
-v "${GITHUB_WORKSPACE}:/build" \
|
||||
-v "/mnt/cache:/cache" \
|
||||
-v "/mnt/output:/build/output" \
|
||||
${{ needs.prepare.outputs.build_container_image }} \
|
||||
make BUILDDIR=/build ${{ matrix.board.defconfig }}
|
||||
|
||||
- name: Check Linux config
|
||||
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" \
|
||||
${{ needs.prepare.outputs.build_container_image }} \
|
||||
make -C buildroot O="/build/output" BR2_EXTERNAL="/build/buildroot-external" \
|
||||
BR2_CHECK_DOTCONFIG_OPTS="--github-format --strip-path-prefix=/build/" linux-check-dotconfig
|
||||
|
||||
- name: Upload artifacts
|
||||
if: ${{ github.event_name != 'release' }}
|
||||
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 }}
|
||||
@@ -219,31 +293,100 @@ jobs:
|
||||
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: $(find /mnt/cache/cc -mindepth 1 -type f -not -anewer output/Makefile | 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@v3
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: /mnt/cache/cc
|
||||
key: haos-cc-${{ matrix.board.id }}-${{ github.run_id }}
|
||||
|
||||
- name: Upload ova image to artifacts for test job
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ matrix.board.id == 'ova' }}
|
||||
- name: Generate build summary
|
||||
run: |
|
||||
echo "# ${{ matrix.board.id }} build summary" >> $GITHUB_STEP_SUMMARY
|
||||
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: ova-image
|
||||
name: haos_${{ matrix.board.id }}-${{ needs.prepare.outputs.version_full }}.img.xz
|
||||
path: |
|
||||
output/images/haos_ova*.qcow2.xz
|
||||
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
|
||||
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' }}
|
||||
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:
|
||||
@@ -258,7 +401,7 @@ jobs:
|
||||
|
||||
bump_version:
|
||||
name: Bump ${{ needs.prepare.outputs.channel }} channel version
|
||||
if: ${{ github.repository == 'home-assistant/operating-system' }}
|
||||
if: ${{ github.repository == 'home-assistant/operating-system' && needs.prepare.outputs.publish_build == 'true' }}
|
||||
environment: ${{ needs.prepare.outputs.channel }}
|
||||
needs: [ build, prepare ]
|
||||
runs-on: ubuntu-22.04
|
||||
|
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@v3.1.0
|
||||
- uses: dessant/label-actions@v4.0.1
|
||||
|
12
.github/workflows/matrix.json
vendored
12
.github/workflows/matrix.json
vendored
@@ -41,6 +41,12 @@
|
||||
"architecture": "aarch64",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "odroid-m1s",
|
||||
"defconfig": "odroid_m1s",
|
||||
"architecture": "aarch64",
|
||||
"label": "board/odroid"
|
||||
},
|
||||
{
|
||||
"id": "odroid-n2",
|
||||
"defconfig": "odroid_n2",
|
||||
@@ -83,6 +89,12 @@
|
||||
"architecture": "aarch64",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "rpi5-64",
|
||||
"defconfig": "rpi5_64",
|
||||
"architecture": "aarch64",
|
||||
"label": "board/raspberrypi"
|
||||
},
|
||||
{
|
||||
"id": "yellow",
|
||||
"defconfig": "yellow",
|
||||
|
10
.github/workflows/pr-checks.yml
vendored
10
.github/workflows/pr-checks.yml
vendored
@@ -8,6 +8,12 @@ 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@v4
|
||||
with:
|
||||
@@ -21,8 +27,8 @@ jobs:
|
||||
- name: Check shell scripts
|
||||
uses: ludeeus/action-shellcheck@2.0.0
|
||||
with:
|
||||
ignore: buildroot
|
||||
ignore_paths: buildroot
|
||||
|
||||
- name: Check buildroot-external packages
|
||||
run: |
|
||||
buildroot/utils/check-package --exclude PackageHeader --br2-external buildroot-external/package/*/*
|
||||
buildroot/utils/check-package --exclude PackageHeader --exclude Upstream --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@v5
|
||||
- uses: release-drafter/release-drafter@v6
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -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@v8.0.0
|
||||
uses: actions/stale@v9.0.0
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 90
|
||||
|
23
.github/workflows/test.yaml
vendored
23
.github/workflows/test.yaml
vendored
@@ -19,14 +19,15 @@ on:
|
||||
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' }}
|
||||
|
||||
env:
|
||||
NO_KVM: 1
|
||||
|
||||
name: Test in QEMU
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
@@ -41,7 +42,7 @@ jobs:
|
||||
sudo apt install -y qemu-system-x86 ovmf
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.12
|
||||
|
||||
@@ -56,21 +57,27 @@ jobs:
|
||||
|
||||
- name: Get OS image artifact
|
||||
if: ${{ inputs.use-artifact }}
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ova-image
|
||||
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
|
||||
|
||||
- name: Archive logs
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: logs
|
||||
@@ -78,7 +85,7 @@ jobs:
|
||||
tests/lg_logs/**
|
||||
|
||||
- name: Archive JUnit reports
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: junit_reports
|
||||
|
2
.gitmodules
vendored
2
.gitmodules
vendored
@@ -1,4 +1,4 @@
|
||||
[submodule "buildroot"]
|
||||
path = buildroot
|
||||
url = https://github.com/home-assistant/buildroot.git
|
||||
branch = 2022.02.x-haos
|
||||
branch = 2024.02.x-haos
|
||||
|
@@ -12,8 +12,9 @@ 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 | apt-key add - \
|
||||
&& add-apt-repository "deb https://download.docker.com/linux/debian $(lsb_release -cs) stable" \
|
||||
&& 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 \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends \
|
||||
docker-ce \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
@@ -4,16 +4,20 @@
|
||||
|
||||
The following boards/devices are supported:
|
||||
|
||||
- Nabu Casa
|
||||
- [Home Assistant Green](https://www.home-assistant.io/green/)
|
||||
- [Home Assistant Yellow](https://www.home-assistant.io/yellow/) (based custom carrier board and powered by a Raspberry Pi 4 Compute Module)
|
||||
- [Home Assistant Blue](https://www.home-assistant.io/blue/) (based on ODROID-N2+)
|
||||
- Raspberry Pi
|
||||
- Pi 5 ([4 GB](https://www.raspberrypi.com/products/raspberry-pi-5/?variant=raspberry-pi-5-4gb) and [8 GB](https://www.raspberrypi.com/products/raspberry-pi-5/?variant=raspberry-pi-5-8gb) model) 64-bit
|
||||
- Pi 4 Model B ([1 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-1gb), [2 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-2gb), [4 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-4gb) and [8 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-8gb) model) 32-bit or 64-bit (recommended)
|
||||
- [Pi 3 Model B](https://www.raspberrypi.com/products/raspberry-pi-3-model-b/) and [B+](https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/) 32-bit or 64-bit (recommended)
|
||||
- [Pi 2](https://www.raspberrypi.com/products/raspberry-pi-2-model-b/) (not recommended)
|
||||
- [Pi Zero-W](https://www.raspberrypi.com/products/raspberry-pi-zero-w/) (not recommended)
|
||||
- [Pi](https://www.raspberrypi.com/products/raspberry-pi-1-model-b-plus/) (not recommended)
|
||||
- Hardkernel
|
||||
- [ODROID-C2](https://www.hardkernel.com/shop/odroid-c2/) (discontinued)
|
||||
- [ODROID-C4](https://www.hardkernel.com/shop/odroid-c4/)
|
||||
- [ODROID-M1](https://www.hardkernel.com/shop/odroid-m1/)
|
||||
- ODROID-M1S [4 GB](https://www.hardkernel.com/shop/odroid-m1s-with-4gbyte-ram/) or [8 GB](https://www.hardkernel.com/shop/odroid-m1s-with-8gbyte-ram/)
|
||||
- [ODROID-N2](https://www.hardkernel.com/shop/odroid-n2/) (discontinued)
|
||||
- ODROID-N2+ [2 GB](https://www.hardkernel.com/shop/odroid-n2-with-2gbyte-ram-2/) or [4 GB](https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram-2/)
|
||||
- [ODROID-XU4](https://www.hardkernel.com/shop/odroid-xu4-special-price/)
|
||||
@@ -39,6 +43,9 @@ Notes:
|
||||
|
||||
|Board|Build|Config|Docs|
|
||||
|-----|----|------|----|
|
||||
|Green |`make green` |[green](../../buildroot-external/configs/green_defconfig)|-|
|
||||
|Yellow |`make yellow` |[yellow](../../buildroot-external/configs/yellow_defconfig)|-|
|
||||
|Pi5 64-bit |`make rpi5_64` |[rpi5_64](../../buildroot-external/configs/rpi5_64_defconfig)|[raspberrypi](./raspberrypi/)|
|
||||
|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/)|
|
||||
@@ -47,6 +54,7 @@ Notes:
|
||||
|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-M1S |`make odroid_m1s` |[odroid_m1s](../../buildroot-external/configs/odroid_m1s_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/)|
|
||||
|
@@ -7,6 +7,7 @@
|
||||
| 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-M1S | 2023 | yes | [odroid_m1s](../../../buildroot-external/configs/odroid_m1s_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)|
|
||||
|
||||
|
@@ -8,18 +8,18 @@ SD-card boot is supported via on-board bootloader (SPL) or recovery button.
|
||||
|
||||
## eMMC
|
||||
|
||||
eMMC boot via on-board bootloader requires the latest version of Petitboot
|
||||
(spiboot 20230328). To install the latest version download the SPI boot image
|
||||
eMMC boot via on-board bootloader requires a newer version of Petitboot
|
||||
(spiboot 20230328 or later). To install the latest version download the SPI boot image
|
||||
from [linuxfactory.or.kr][1] as follows:
|
||||
|
||||
1. Download `spiupdate_odroidm1_20220304.img.xz`
|
||||
1. Download `spiupdate_odroidm1_20240415.img.xz`
|
||||
2. Use balenaEtcher or another tool to flash the updater onto an SD card
|
||||
3. Download `spiboot-20230328.img`
|
||||
4. Rename the `spiboot-20230328.img` file to`spiboot.img`.
|
||||
3. Download `spiboot-20240109.img`
|
||||
4. Rename the `spiboot-20240109.img` file to`spiboot.img`.
|
||||
5. Paste the `spiboot.img` file onto the FAT partition of that same SD card.
|
||||
6. Plug-in that SD card to your ODROID-M1. Petitboot will update itself, you can verify the progress on the HDMI output.
|
||||
7. If you see the version 20230328 in the top right corner, the installation was successful.
|
||||
* If you see any other version there, the installation failed.
|
||||
7. If you see the version 20240109 in the top left corner, the installation was successful.\
|
||||
If you see any other version there, the installation failed.
|
||||
|
||||
Once Petitboot is updated you can flash Home Assistant OS directly onto an eMMC.
|
||||
|
||||
|
58
Documentation/boards/hardkernel/odroid-m1s.md
Normal file
58
Documentation/boards/hardkernel/odroid-m1s.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# ODROID-M1S
|
||||
|
||||
Home Assistant OS 12 and newer support the ODROID-M1S board.
|
||||
|
||||
## SD-card
|
||||
|
||||
ODROID-M1S can boot HAOS directly from an SD card, as it has higher priority than the system on the eMMC. Simply flash the image to the SD card using your favorite tool and insert it to the micro SD slot on the board. This works even when the eMMC is wiped, or when it contains the factory-default U-Boot SPL loader, which is still able to load U-Boot provided in the HAOS image. In the second case, however, if the SD card fails to probe (e.g. due to a hardware failure), the system on the eMMC may be booted instead of HAOS.
|
||||
|
||||
## eMMC
|
||||
|
||||
HAOS can be installed directly to the eMMC using a special boot image, to do that:
|
||||
|
||||
1. Download the _UMS Utility_ image: [`ODROID-M1S_EMMC2UMS.img`][1]. The _UMS Utility_ is a special image that switches ODROID-M1S to USB Mass Storage device.
|
||||
2. Use balenaEtcher or another tool to flash the _UMS utility_ onto an SD card.
|
||||
3. Plug-in that SD card to your ODROID-M1S and boot it. Connect your PC to the Micro USB OTG port.
|
||||
4. The eMMC will show as a drive on your PC and you can directly flash the HAOS image with balenaEther.
|
||||
|
||||
Installing HAOS replaces the firmware and SPL on the eMMC with the mainline version provided by HAOS. As a result, it is not possible to use the SD card with the EMMC2UMS image anymore, because the mainline SPL is not compatible with U-Boot in the EMMC2UMS image at this time (February 2024). This does not pose any problem for standard use, just makes it more complicated in case you want to return to the Hardkernel-provided OS.
|
||||
|
||||
A reliable way of reflashing the eMMC in this case is to use HAOS booted from an SD card. To do that, insert the SD card with HAOS to the micro SD slot and plug the board in. Once the device boots to the HA CLI, enter `login` to enter the root shell and use `curl` to download an image and `dd` it to the eMMC block device:
|
||||
|
||||
```sh
|
||||
curl https://dn.odroid.com/RK3566/ODROID-M1S/Installer/ODROID-M1S_EMMC2UMS.img | dd of=/dev/mmcblk0
|
||||
```
|
||||
|
||||
This way the device will start in the UMS mode on the next boot with the SD card removed. Alternatively you can use the [Hardkernel installer image][2] directly instead of the EMMC2UMS image.
|
||||
|
||||
## 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. Refer to the [boot sequence documentation][3] for the details on what part of the boot is executed from the eMMC and what from the SD card. The steps documented above should however cover all scenarios that a standard user may encounter during usage.
|
||||
|
||||
## Console
|
||||
|
||||
By default, console access is available on the serial header (UART) 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`).
|
||||
|
||||
## GPIO
|
||||
|
||||
Odroid-M1S introduces a new 14pin expansion header. Refer to [the ODROID wiki][4].
|
||||
At this point not all functionality is supported by the upstream kernel used by Home Assistant OS.
|
||||
Supported modules include:
|
||||
- UPS
|
||||
- Internal USB
|
||||
- Mini IO board (partial support)
|
||||
|
||||
|
||||
[1]: https://dn.odroid.com/RK3566/ODROID-M1S/Installer/ODROID-M1S_EMMC2UMS.img
|
||||
[2]: https://wiki.odroid.com/odroid-m1s/getting_started/os_installation_guide#user_installer
|
||||
[3]: https://wiki.odroid.com/odroid-m1s/board_support/boot_sequence
|
||||
[4]: https://wiki.odroid.com/odroid-m1s/hardware/expansion_connectors
|
@@ -4,10 +4,10 @@
|
||||
|
||||
| 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) |
|
||||
| Raspberry Pi 5 |2023 | yes (beta) | [rpi5_64](../../../buildroot-external/configs/rpi5_64_defconfig) |
|
||||
|
||||
## Serial console
|
||||
|
||||
|
@@ -1,24 +1,24 @@
|
||||
|
||||
# Kernel Version
|
||||
|
||||
Default Kernel tree: 6.1
|
||||
|
||||
| Board | Version |
|
||||
|-------|---------|
|
||||
| Open Virtual Appliance | 6.1.60 |
|
||||
| Raspberry Pi | 6.1.58 |
|
||||
| Raspberry Pi 0-W | 6.1.58 |
|
||||
| Raspberry Pi 2 | 6.1.58 |
|
||||
| Raspberry Pi 3 | 6.1.58 |
|
||||
| Raspberry Pi 4 | 6.1.58 |
|
||||
| Home Assistant Yellow | 6.1.58 |
|
||||
| Home Assistant Green | 6.1.60 |
|
||||
| Tinker Board | 6.1.60 |
|
||||
| ODROID-C2 | 6.1.60 |
|
||||
| ODROID-C4 | 6.1.60 |
|
||||
| ODROID-M1 | 6.1.60 |
|
||||
| ODROID-N2 | 6.1.60 |
|
||||
| ODROID-XU4 | 6.1.60 |
|
||||
| Generic aarch64 | 6.1.60 |
|
||||
| Generic x86-64 | 6.1.60 |
|
||||
| Khadas VIM3 | 6.1.60 |
|
||||
| Open Virtual Appliance | 6.6.54 |
|
||||
| Raspberry Pi | 6.6.31 |
|
||||
| Raspberry Pi 0-W | 6.6.31 |
|
||||
| Raspberry Pi 2 | 6.6.31 |
|
||||
| Raspberry Pi 3 | 6.6.31 |
|
||||
| Raspberry Pi 4 | 6.6.31 |
|
||||
| Raspberry Pi 5 | 6.6.31 |
|
||||
| Home Assistant Yellow | 6.6.31 |
|
||||
| Home Assistant Green | 6.6.54 |
|
||||
| Tinker Board | 6.6.54 |
|
||||
| ODROID-C2 | 6.6.54 |
|
||||
| ODROID-C4 | 6.6.54 |
|
||||
| ODROID-M1 | 6.6.54 |
|
||||
| ODROID-M1S | 6.6.54 |
|
||||
| ODROID-N2 | 6.6.54 |
|
||||
| ODROID-XU4 | 6.6.54 |
|
||||
| Generic aarch64 | 6.6.54 |
|
||||
| Generic x86-64 | 6.6.54 |
|
||||
| Khadas VIM3 | 6.6.54 |
|
||||
|
@@ -4,6 +4,8 @@ Home Assistant Operating System (formerly HassOS) is a Linux based operating sys
|
||||
|
||||
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/)
|
||||
|
||||
## Features
|
||||
|
||||
- Lightweight and memory-efficient
|
||||
@@ -14,6 +16,7 @@ Home Assistant Operating System uses Docker as its container engine. By default
|
||||
|
||||
## Supported hardware
|
||||
|
||||
- Nabu Casa
|
||||
- Raspberry Pi
|
||||
- Hardkernel ODROID
|
||||
- Asus Tinker Board
|
||||
@@ -37,7 +40,7 @@ The Home Assistant Operating System documentation can be found on the [Home Assi
|
||||
### Components
|
||||
|
||||
- **Bootloader:**
|
||||
- [Barebox](https://barebox.org/) for devices that support UEFI
|
||||
- [GRUB](https://www.gnu.org/software/grub/) 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
|
||||
|
Submodule buildroot updated: 2a3f23fc4b...d59d09ad38
@@ -1 +1 @@
|
||||
console=tty1 console=ttyS0
|
||||
console=ttyS0 console=tty0
|
||||
|
@@ -10,6 +10,9 @@ 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}/"
|
||||
}
|
||||
@@ -24,4 +27,3 @@ function hassos_post_image() {
|
||||
|
||||
convert_disk_image_xz
|
||||
}
|
||||
|
||||
|
@@ -1,17 +1,43 @@
|
||||
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=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_NVME_CORE=y
|
||||
CONFIG_BLK_DEV_NVME=y
|
||||
@@ -19,7 +45,6 @@ CONFIG_NVME_HWMON=y
|
||||
|
||||
CONFIG_DRM_VIRTIO_GPU=m
|
||||
|
||||
CONFIG_HYPERVISOR_GUEST=y
|
||||
CONFIG_HYPERV=y
|
||||
CONFIG_HYPERV_UTILS=m
|
||||
CONFIG_HYPERV_BALLOON=m
|
||||
@@ -30,3 +55,5 @@ CONFIG_HYPERV_VSOCKETS=m
|
||||
CONFIG_PCI_HYPERV=m
|
||||
CONFIG_PCI_HYPERV_INTERFACE=m
|
||||
CONFIG_FB_HYPERV=y
|
||||
|
||||
CONFIG_I6300ESB_WDT=y
|
||||
|
@@ -3,9 +3,9 @@ BOARD_NAME="Generic aarch64"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=grub
|
||||
KERNEL_FILE=Image
|
||||
BOOT_SYS=efi
|
||||
PARTITION_TABLE_TYPE=gpt
|
||||
BOOT_SIZE=32M
|
||||
BOOT_SPL=false
|
||||
DISK_SIZE=6
|
||||
DISK_SIZE=6G
|
||||
SUPERVISOR_MACHINE=qemuarm-64
|
||||
SUPERVISOR_ARCH=aarch64
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp -t "${BOOT_DATA}" \
|
||||
"${BINARIES_DIR}/boot.scr" \
|
||||
@@ -13,14 +12,7 @@ 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"
|
||||
|
||||
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
|
||||
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
|
||||
}
|
||||
|
||||
|
||||
|
1
buildroot-external/board/asus/tinker/cmdline.txt
Normal file
1
buildroot-external/board/asus/tinker/cmdline.txt
Normal file
@@ -0,0 +1 @@
|
||||
console=tty0
|
13
buildroot-external/board/asus/tinker/image-spl-spl.cfg
Normal file
13
buildroot-external/board/asus/tinker/image-spl-spl.cfg
Normal file
@@ -0,0 +1,13 @@
|
||||
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
|
||||
BOOT_SYS=hybrid
|
||||
PARTITION_TABLE_TYPE=hybrid
|
||||
BOOT_SIZE=24M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=8M
|
||||
|
@@ -0,0 +1,7 @@
|
||||
partition spl {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
image = "spl.img"
|
||||
in-partition-table = "no"
|
||||
offset = 0
|
||||
holes = {"(0; 17k)"}
|
||||
}
|
@@ -1,5 +1,4 @@
|
||||
From 3553f8a938dbb498aa1846a37ea343b7f53739da Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3553f8a938dbb498aa1846a37ea343b7f53739da.1676488094.git.stefan@agner.ch>
|
||||
From b4d676729c5bee4b9adb85362f6f2e32f833b6c2 Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@@ -7,13 +6,13 @@ Subject: [PATCH] Revert "ARM: dts: rockchip: use DMA channels for UARTs for
|
||||
|
||||
This reverts commit 3425fe335c29310f6628faf9a7947d07f32d8962.
|
||||
---
|
||||
arch/arm/boot/dts/rk3288.dtsi | 8 --------
|
||||
arch/arm/boot/dts/rockchip/rk3288.dtsi | 8 --------
|
||||
1 file changed, 8 deletions(-)
|
||||
|
||||
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
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
index cb9cdaddffd4..51f1273d6beb 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
@@ -378,8 +378,6 @@ uart0: serial@ff180000 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
|
||||
@@ -50,6 +49,3 @@ index 487b0e03d4b4..1569b1824c89 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart4_xfer>;
|
||||
status = "disabled";
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,7 +1,4 @@
|
||||
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 02c7d9bb23f497993d52f5a41341ed955e6a2745 Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@@ -17,13 +14,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/rk3288-tinker.dtsi | 19 +++++++++++++++++++
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index 09618bb7d872..30430d2e64b9 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
@@ -483,6 +483,25 @@ &sdio0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -50,6 +47,3 @@ index 09618bb7d872..30430d2e64b9 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,7 +1,4 @@
|
||||
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 bf7869033cf3caa50912cbdfa548428a6571c104 Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@@ -10,13 +7,13 @@ Enable I2C devices which are accessible via 40-pin header.
|
||||
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
arch/arm/boot/dts/rk3288-tinker.dtsi | 8 ++++++++
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index 30430d2e64b9..395afc2b2283 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
@@ -342,10 +342,18 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
@@ -36,6 +33,3 @@ index 30430d2e64b9..395afc2b2283 100644
|
||||
&i2c5 {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,7 +1,4 @@
|
||||
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 a0ef6a86e96920a9cf703d8c65d0126494037d37 Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@@ -13,13 +10,13 @@ This patch is taken from the patches provided by the ARMbian team.
|
||||
|
||||
Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
|
||||
---
|
||||
arch/arm/boot/dts/rk3288.dtsi | 2 +-
|
||||
arch/arm/boot/dts/rockchip/rk3288.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
index 51f1273d6beb..d8663928bfe2 100644
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||
@@ -311,7 +311,7 @@ spi2: spi@ff130000 {
|
||||
dma-names = "tx", "rx";
|
||||
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -29,6 +26,3 @@ index 1569b1824c89..478fd1bb85df 100644
|
||||
reg = <0x0 0xff130000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,7 +1,4 @@
|
||||
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 e828e0fc2be98e5ad20c93981681505fc97b063b Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@@ -10,13 +7,13 @@ Taken from the various patches provided by @TonyMac32 .
|
||||
|
||||
Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr>
|
||||
---
|
||||
arch/arm/boot/dts/rk3288-tinker.dtsi | 2 +-
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index 395afc2b2283..c7e79e594720 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
@@ -184,7 +184,7 @@ vdd_cpu: DCDC_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
@@ -26,6 +23,3 @@ index 395afc2b2283..c7e79e594720 100644
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-ramp-delay = <6000>;
|
||||
regulator-state-mem {
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,7 +1,4 @@
|
||||
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 ad1ffd6be5f54a0871e3c303602548687dfe0ffc Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@@ -24,7 +21,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 2a99f15f527f..181718374429 100644
|
||||
index b07190ba4b7a..0badaa1b404e 100644
|
||||
--- a/drivers/mmc/host/dw_mmc-rockchip.c
|
||||
+++ b/drivers/mmc/host/dw_mmc-rockchip.c
|
||||
@@ -12,6 +12,11 @@
|
||||
@@ -114,6 +111,3 @@ index 2a99f15f527f..181718374429 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -1,7 +1,4 @@
|
||||
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 4e6c3d013c847f199664a3075934f5ca52d8cba4 Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@@ -11,13 +8,13 @@ for Realtek rtl8723bs Bluetooth device.
|
||||
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
arch/arm/boot/dts/rk3288-tinker.dtsi | 26 ++++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 26 +++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
index c7e79e594720..5d261fae6e72 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
|
||||
--- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
+++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||
@@ -386,6 +386,20 @@ bl_en: bl-en {
|
||||
};
|
||||
};
|
||||
@@ -58,6 +55,3 @@ index c7e79e594720..5d261fae6e72 100644
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
@@ -0,0 +1,32 @@
|
||||
From f597ec583c262ed4c3264ddf661e22b503fb8a11 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 1b2edc0fd2e9..3069ac5b6759 100644
|
||||
--- a/sound/usb/card.c
|
||||
+++ b/sound/usb/card.c
|
||||
@@ -521,6 +521,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,19 +0,0 @@
|
||||
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,
|
@@ -1,37 +0,0 @@
|
||||
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,10 +1,7 @@
|
||||
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 defc964eaa9f4ccc9cd1568ade4e4d81f35b9e07 Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Fri, 24 Apr 2020 11:37:55 +0000
|
||||
Subject: [PATCH 2/2] pmic: enable LDO2 vcc33_mipi at bootup
|
||||
Subject: [PATCH] pmic: enable LDO2 vcc33_mipi at bootup
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
@@ -64,5 +61,5 @@ index f85209c649..6fa1bb0c66 100644
|
||||
+}
|
||||
+#endif
|
||||
--
|
||||
2.35.1
|
||||
2.43.0
|
||||
|
||||
|
@@ -23,8 +23,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
|
||||
|
||||
# HassOS system A/B
|
||||
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"
|
||||
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro rootwait"
|
||||
|
||||
# Load environment from haos-config.txt
|
||||
if test -e mmc ${devnum}:1 haos-config.txt; then
|
||||
|
@@ -1,3 +1,6 @@
|
||||
# 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
@@ -1 +1 @@
|
||||
console=tty0 console=ttyAML0,115200n8
|
||||
console=ttyAML0,115200n8 console=tty0
|
||||
|
@@ -3,9 +3,6 @@
|
||||
|
||||
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"
|
||||
@@ -14,13 +11,6 @@ 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
|
||||
}
|
||||
|
||||
|
||||
|
@@ -0,0 +1,20 @@
|
||||
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
|
||||
BOOT_SYS=mbr
|
||||
PARTITION_TABLE_TYPE=mbr
|
||||
BOOT_SIZE=24M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=8M
|
||||
|
@@ -0,0 +1,8 @@
|
||||
partition spl {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
image = "spl.img"
|
||||
in-partition-table = "no"
|
||||
offset = 0
|
||||
holes = {"(440; 512)"}
|
||||
}
|
||||
|
@@ -25,8 +25,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
|
||||
|
||||
# HassOS system A/B
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
|
||||
|
||||
# Load environment from haos-config.txt
|
||||
if test -e mmc ${devnum}:1 haos-config.txt; then
|
||||
|
@@ -1 +1 @@
|
||||
console=tty0 console=ttyAML0,115200n8
|
||||
console=ttyAML0,115200n8 console=tty0
|
||||
|
@@ -3,8 +3,6 @@
|
||||
|
||||
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"
|
||||
@@ -13,11 +11,6 @@ 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
|
||||
}
|
||||
|
||||
|
||||
|
@@ -0,0 +1,13 @@
|
||||
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
|
||||
BOOT_SYS=mbr
|
||||
PARTITION_TABLE_TYPE=mbr
|
||||
BOOT_SIZE=24M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=8M
|
||||
|
@@ -0,0 +1,7 @@
|
||||
partition spl {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
image = "spl.img"
|
||||
in-partition-table = "no"
|
||||
offset = 0
|
||||
holes = {"(0; 512)"}
|
||||
}
|
@@ -25,8 +25,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
|
||||
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}"
|
||||
|
||||
# HassOS system A/B
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
|
||||
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
|
||||
|
||||
# Load environment from haos-config.txt
|
||||
if test -e mmc ${devnum}:1 haos-config.txt; then
|
||||
|
@@ -0,0 +1 @@
|
||||
console=tty0
|
||||
|
@@ -3,19 +3,12 @@
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
|
@@ -0,0 +1,13 @@
|
||||
image spl.img {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
|
||||
hdimage {
|
||||
partition-table-type = "none"
|
||||
fill = "yes"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
offset = 32k
|
||||
image = "u-boot-rockchip.bin"
|
||||
}
|
||||
}
|
@@ -1,3 +1,4 @@
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
|
||||
CONFIG_THERMAL_GOV_BANG_BANG=y
|
||||
|
@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-M1"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=Image
|
||||
BOOT_SYS=gpt
|
||||
PARTITION_TABLE_TYPE=hybrid
|
||||
BOOT_SIZE=16M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=16M
|
||||
|
@@ -0,0 +1,17 @@
|
||||
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,455 +0,0 @@
|
||||
From d388735d551e09b00317a509859fca51776b9826 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <d388735d551e09b00317a509859fca51776b9826.1688490481.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
|
||||
|
||||
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/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 8c15593c0ca4..5dc1607b3ecf 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -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 000000000000..b3016437640b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
|
||||
@@ -0,0 +1,414 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2022 Hardkernel Co., Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/pinctrl/rockchip.h>
|
||||
+#include "rk3568.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Hardkernel ODROID-M1";
|
||||
+ compatible = "rockchip,rk3568-odroid-m1", "rockchip,rk3568";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &gmac0;
|
||||
+ i2c0 = &i2c3;
|
||||
+ i2c3 = &i2c0;
|
||||
+ mmc0 = &sdhci;
|
||||
+ mmc1 = &sdmmc0;
|
||||
+ serial0 = &uart1;
|
||||
+ serial1 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial2:1500000n8";
|
||||
+ };
|
||||
+
|
||||
+ dc_12v: dc-12v-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "dc_12v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <12000000>;
|
||||
+ regulator-max-microvolt = <12000000>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led_power: led-0 {
|
||||
+ gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
+ function = LED_FUNCTION_POWER;
|
||||
+ color = <LED_COLOR_ID_RED>;
|
||||
+ default-state = "keep";
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&led_power_pin>;
|
||||
+ };
|
||||
+ led_work: led-1 {
|
||||
+ gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
+ function = LED_FUNCTION_HEARTBEAT;
|
||||
+ color = <LED_COLOR_ID_BLUE>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&led_work_pin>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_sys: vcc3v3-sys-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&dc_12v>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&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";
|
||||
+ phy-handle = <&rgmii_phy0>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-supply = <&vcc3v3_sys>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&gmac0_miim
|
||||
+ &gmac0_tx_bus2
|
||||
+ &gmac0_rx_bus2
|
||||
+ &gmac0_rgmii_clk
|
||||
+ &gmac0_rgmii_bus>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ tx_delay = <0x4f>;
|
||||
+ rx_delay = <0x2d>;
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ vdd_cpu: regulator@1c {
|
||||
+ compatible = "tcs,tcs4525";
|
||||
+ reg = <0x1c>;
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
+ 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;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rk809: pmic@20 {
|
||||
+ compatible = "rockchip,rk809";
|
||||
+ reg = <0x20>;
|
||||
+ interrupt-parent = <&gpio0>;
|
||||
+ interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ #clock-cells = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pmic_int_l>;
|
||||
+ rockchip,system-power-controller;
|
||||
+ vcc1-supply = <&vcc3v3_sys>;
|
||||
+ vcc2-supply = <&vcc3v3_sys>;
|
||||
+ vcc3-supply = <&vcc3v3_sys>;
|
||||
+ vcc4-supply = <&vcc3v3_sys>;
|
||||
+ vcc5-supply = <&vcc3v3_sys>;
|
||||
+ vcc6-supply = <&vcc3v3_sys>;
|
||||
+ vcc7-supply = <&vcc3v3_sys>;
|
||||
+ vcc8-supply = <&vcc3v3_sys>;
|
||||
+ vcc9-supply = <&vcc3v3_sys>;
|
||||
+ wakeup-source;
|
||||
+
|
||||
+ regulators {
|
||||
+ vdd_logic: DCDC_REG1 {
|
||||
+ regulator-name = "vdd_logic";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-init-microvolt = <900000>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-min-microvolt = <500000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_gpu: DCDC_REG2 {
|
||||
+ regulator-name = "vdd_gpu";
|
||||
+ regulator-always-on;
|
||||
+ regulator-init-microvolt = <900000>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-min-microvolt = <500000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_ddr: DCDC_REG3 {
|
||||
+ regulator-name = "vcc_ddr";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_npu: DCDC_REG4 {
|
||||
+ regulator-name = "vdd_npu";
|
||||
+ regulator-init-microvolt = <900000>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-min-microvolt = <500000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v8: DCDC_REG5 {
|
||||
+ regulator-name = "vcc_1v8";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdda0v9_image: LDO_REG1 {
|
||||
+ regulator-name = "vdda0v9_image";
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <900000>;
|
||||
+ regulator-max-microvolt = <900000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdda_0v9: LDO_REG2 {
|
||||
+ regulator-name = "vdda_0v9";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <900000>;
|
||||
+ regulator-max-microvolt = <900000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdda0v9_pmu: LDO_REG3 {
|
||||
+ regulator-name = "vdda0v9_pmu";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <900000>;
|
||||
+ regulator-max-microvolt = <900000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <900000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vccio_acodec: LDO_REG4 {
|
||||
+ regulator-name = "vccio_acodec";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vccio_sd: LDO_REG5 {
|
||||
+ regulator-name = "vccio_sd";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_pmu: LDO_REG6 {
|
||||
+ regulator-name = "vcc3v3_pmu";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca_1v8: LDO_REG7 {
|
||||
+ regulator-name = "vcca_1v8";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca1v8_pmu: LDO_REG8 {
|
||||
+ regulator-name = "vcca1v8_pmu";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca1v8_image: LDO_REG9 {
|
||||
+ regulator-name = "vcca1v8_image";
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_3v3: SWITCH_REG1 {
|
||||
+ regulator-name = "vcc_3v3";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_sd: SWITCH_REG2 {
|
||||
+ regulator-name = "vcc3v3_sd";
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&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 {
|
||||
+ leds {
|
||||
+ led_power_pin: led-power-pin {
|
||||
+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ led_work_pin: led-work-pin {
|
||||
+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pmic {
|
||||
+ pmic_int_l: pmic-int-l {
|
||||
+ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pmu_io_domains {
|
||||
+ pmuio1-supply = <&vcc3v3_pmu>;
|
||||
+ pmuio2-supply = <&vcc3v3_pmu>;
|
||||
+ vccio1-supply = <&vccio_acodec>;
|
||||
+ vccio2-supply = <&vcc_1v8>;
|
||||
+ vccio3-supply = <&vccio_sd>;
|
||||
+ vccio4-supply = <&vcc_1v8>;
|
||||
+ vccio5-supply = <&vcc_3v3>;
|
||||
+ vccio6-supply = <&vcc_3v3>;
|
||||
+ vccio7-supply = <&vcc_3v3>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ vref-supply = <&vcca_1v8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ bus-width = <8>;
|
||||
+ max-frequency = <200000000>;
|
||||
+ non-removable;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe &emmc_rstnout>;
|
||||
+ vmmc-supply = <&vcc_3v3>;
|
||||
+ vqmmc-supply = <&vcc_1v8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdmmc0 {
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
+ disable-wp;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
||||
+ sd-uhs-sdr50;
|
||||
+ vmmc-supply = <&vcc3v3_sd>;
|
||||
+ vqmmc-supply = <&vccio_sd>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.41.0
|
||||
|
@@ -1,38 +0,0 @@
|
||||
From 24048c1753916bd983746542b16d19d2b399eeb7 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <24048c1753916bd983746542b16d19d2b399eeb7.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,103 +0,0 @@
|
||||
From 982bb2beab8e38a7c0a365770be2ad9c5221a650 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <982bb2beab8e38a7c0a365770be2ad9c5221a650.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,102 +0,0 @@
|
||||
From ae25f92a09abb7dd16a9ad3b74e0c105b385f214 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <ae25f92a09abb7dd16a9ad3b74e0c105b385f214.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,97 +0,0 @@
|
||||
From 3a1be3d8719ef6335385d4e5e456371e7bf7383f Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <3a1be3d8719ef6335385d4e5e456371e7bf7383f.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,48 +0,0 @@
|
||||
From ded87dc761951205b8b9ba8ee4081e28a850a3db Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <ded87dc761951205b8b9ba8ee4081e28a850a3db.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,37 +0,0 @@
|
||||
From 13438a717627cae086cc3a1126552cffa2f4bd16 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <13438a717627cae086cc3a1126552cffa2f4bd16.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,111 +0,0 @@
|
||||
From 0f0a85a289b4d0fbd5c39eb5ddbb681a37ad490c Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <0f0a85a289b4d0fbd5c39eb5ddbb681a37ad490c.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,114 +0,0 @@
|
||||
From d8abc451c669a8fd36b31db5cb96ec49da819124 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <d8abc451c669a8fd36b31db5cb96ec49da819124.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,48 +0,0 @@
|
||||
From 2f6d4521403932ca22cb4dabef9033f1d52232ba Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <2f6d4521403932ca22cb4dabef9033f1d52232ba.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,80 +0,0 @@
|
||||
From 1572a9c5d9fa9f654fbc1909528ae5940ad34aa3 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <1572a9c5d9fa9f654fbc1909528ae5940ad34aa3.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,54 +0,0 @@
|
||||
From b2eae73eeb32dd9383571de6af18fc8bd39aac3a Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <b2eae73eeb32dd9383571de6af18fc8bd39aac3a.1688490481.git.stefan@agner.ch>
|
||||
In-Reply-To: <d388735d551e09b00317a509859fca51776b9826.1688490481.git.stefan@agner.ch>
|
||||
References: <d388735d551e09b00317a509859fca51776b9826.1688490481.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.41.0
|
||||
|
@@ -1,48 +0,0 @@
|
||||
From acadbae38f91965f204d6a5d49eb8b578970b818 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <acadbae38f91965f204d6a5d49eb8b578970b818.1689147150.git.stefan@agner.ch>
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sun, 2 Jul 2023 20:47:17 +0000
|
||||
Subject: [PATCH] ata: dwc_ahci: Fix support for other platforms
|
||||
|
||||
The dwc_ahci driver use platform specific defines, place the platform
|
||||
specific code behind a ifdef CONFIG_ARCH_OMAP2PLUS to allow build and
|
||||
use of the driver on Rockchip platform.
|
||||
|
||||
Fixes: 02a4b4297901 ("drivers: block: dwc_ahci: Implement a driver for Synopsys DWC sata device")
|
||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
---
|
||||
drivers/ata/dwc_ahci.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/ata/dwc_ahci.c b/drivers/ata/dwc_ahci.c
|
||||
index 826fea71cc..1dc91e7fce 100644
|
||||
--- a/drivers/ata/dwc_ahci.c
|
||||
+++ b/drivers/ata/dwc_ahci.c
|
||||
@@ -13,7 +13,9 @@
|
||||
#include <ahci.h>
|
||||
#include <scsi.h>
|
||||
#include <sata.h>
|
||||
+#ifdef CONFIG_ARCH_OMAP2PLUS
|
||||
#include <asm/arch/sata.h>
|
||||
+#endif
|
||||
#include <asm/io.h>
|
||||
#include <generic-phy.h>
|
||||
|
||||
@@ -72,12 +74,14 @@ static int dwc_ahci_probe(struct udevice *dev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_ARCH_OMAP2PLUS
|
||||
if (priv->wrapper_base) {
|
||||
u32 val = TI_SATA_IDLE_NO | TI_SATA_STANDBY_NO;
|
||||
|
||||
/* Enable SATA module, No Idle, No Standby */
|
||||
writel(val, priv->wrapper_base + TI_SATA_SYSCONFIG);
|
||||
}
|
||||
+#endif
|
||||
|
||||
return ahci_probe_scsi(dev, (ulong)priv->base);
|
||||
}
|
||||
--
|
||||
2.41.0
|
||||
|
@@ -0,0 +1,46 @@
|
||||
From 023bc5bd23d3239494bca81d807d3c093f78c131 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
|
||||
Date: Thu, 8 Aug 2024 17:52:47 +0200
|
||||
Subject: [PATCH] odroid-m1: Disable eMMC DDR52 mode, enable HS200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Disable DDR52 mode on odroid-m1 to fix eMMC writes. Also enable HS200,
|
||||
as it's supposed to work more reliably than slower modes.
|
||||
|
||||
Signed-off-by: Jan Čermák <sairon@sairon.cz>
|
||||
Upstream: https://patchwork.ozlabs.org/project/uboot/cover/20240204205312.2342868-1-jonas@kwiboo.se/
|
||||
---
|
||||
arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi | 3 ---
|
||||
configs/odroid-m1-rk3568_defconfig | 2 ++
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
|
||||
index 0fc360b06d..f9d34d3b77 100644
|
||||
--- a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
|
||||
@@ -14,10 +14,7 @@
|
||||
|
||||
&sdhci {
|
||||
cap-mmc-highspeed;
|
||||
- mmc-ddr-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
- mmc-hs400-1_8v;
|
||||
- mmc-hs400-enhanced-strobe;
|
||||
pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
|
||||
};
|
||||
|
||||
diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig
|
||||
index 96b4e9ecda..517ac0575d 100644
|
||||
--- a/configs/odroid-m1-rk3568_defconfig
|
||||
+++ b/configs/odroid-m1-rk3568_defconfig
|
||||
@@ -72,6 +72,8 @@ CONFIG_ROCKCHIP_GPIO=y
|
||||
CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
+CONFIG_MMC_HS200_SUPPORT=y
|
||||
+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_ROCKCHIP=y
|
||||
CONFIG_MMC_SDHCI=y
|
@@ -23,8 +23,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
|
||||
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
|
||||
|
||||
# HassOS system A/B
|
||||
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"
|
||||
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rootwait"
|
||||
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro rootwait"
|
||||
|
||||
part number mmc ${devnum} hassos-boot boot_partnum
|
||||
|
||||
|
@@ -1,5 +1,2 @@
|
||||
CONFIG_DOS_PARTITION=y
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_USB_STORAGE is not set
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
# CONFIG_DWC_ETH_QOS is not set
|
||||
# CONFIG_DWC_ETH_QOS_ROCKCHIP is not set
|
||||
|
@@ -0,0 +1 @@
|
||||
console=tty0
|
18
buildroot-external/board/hardkernel/odroid-m1s/hassos-hook.sh
Executable file
18
buildroot-external/board/hardkernel/odroid-m1s/hassos-hook.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# shellcheck disable=SC2155
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
|
||||
function hassos_post_image() {
|
||||
convert_disk_image_xz
|
||||
}
|
||||
|
@@ -0,0 +1,13 @@
|
||||
image spl.img {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
|
||||
hdimage {
|
||||
partition-table-type = "none"
|
||||
fill = "yes"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
offset = 32k
|
||||
image = "u-boot-rockchip.bin"
|
||||
}
|
||||
}
|
12
buildroot-external/board/hardkernel/odroid-m1s/kernel.config
Normal file
12
buildroot-external/board/hardkernel/odroid-m1s/kernel.config
Normal file
@@ -0,0 +1,12 @@
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
|
||||
CONFIG_THERMAL_GOV_BANG_BANG=y
|
||||
CONFIG_SENSORS_GPIO_FAN=y
|
||||
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_KEYBOARD_GPIO_POLLED=y
|
||||
|
||||
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
|
||||
|
||||
# CONFIG_DW_WATCHDOG is not set
|
12
buildroot-external/board/hardkernel/odroid-m1s/meta
Normal file
12
buildroot-external/board/hardkernel/odroid-m1s/meta
Normal file
@@ -0,0 +1,12 @@
|
||||
BOARD_ID=odroid-m1s
|
||||
BOARD_NAME="Hardkernel ODROID-M1S"
|
||||
CHASSIS=embedded
|
||||
BOOTLOADER=uboot
|
||||
KERNEL_FILE=Image
|
||||
PARTITION_TABLE_TYPE=hybrid
|
||||
BOOT_SIZE=16M
|
||||
BOOT_SPL=true
|
||||
BOOT_SPL_SIZE=16M
|
||||
BOOT_ENV_SIZE=0x8000
|
||||
SUPERVISOR_MACHINE=odroid-m1
|
||||
SUPERVISOR_ARCH=aarch64
|
@@ -0,0 +1,17 @@
|
||||
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
|
||||
}
|
@@ -0,0 +1,896 @@
|
||||
From 83dadbe0a615f6fc7550dec98dee938647050990 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Lunn <tim@feathertop.org>
|
||||
Date: Sun, 28 Jan 2024 18:52:26 +1100
|
||||
Subject: [PATCH] arm64: dts: rockchip: Import Hardkernel ODROID-M1S board
|
||||
|
||||
Odroid-m1s is in the process of being upstreamed.
|
||||
For now sync dts for Odroid-m1s:
|
||||
https://github.com/tobetter/linux/blob/ae33b445578884c70d7bfc5d6d519de4db815ccd/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/Makefile | 1 +
|
||||
.../boot/dts/rockchip/rk3566-odroid-m1s.dts | 861 ++++++++++++++++++
|
||||
2 files changed, 862 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
index 8c15593c0ca4..362359684ed0 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -63,6 +63,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353p.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-odroid-m1s.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
new file mode 100644
|
||||
index 000000000000..1cad9217c374
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
@@ -0,0 +1,861 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2023 Hardkernel Co., Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#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"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Hardkernel ODROID-M1S";
|
||||
+ compatible = "rockchip,rk3566-odroid-m1", "rockchip,rk3566";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet1 = &gmac1;
|
||||
+ i2c0 = &i2c3;
|
||||
+ i2c3 = &i2c0;
|
||||
+ mmc0 = &sdhci;
|
||||
+ mmc1 = &sdmmc0;
|
||||
+ serial0 = &uart1;
|
||||
+ serial1 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen: chosen {
|
||||
+ stdout-path = "serial2:1500000n8";
|
||||
+ };
|
||||
+
|
||||
+ hdmi-con {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gmac1_clkin: external-gmac1-clock {
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <125000000>;
|
||||
+ clock-output-names = "gmac1_clkin";
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+ status = "okay";
|
||||
+
|
||||
+ red_led: red {
|
||||
+ gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>;
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ function = LED_FUNCTION_POWER;
|
||||
+ color = <LED_COLOR_ID_RED>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&led_power_en>;
|
||||
+ };
|
||||
+ blue_led: blue {
|
||||
+ gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ function = LED_FUNCTION_HEARTBEAT;
|
||||
+ color = <LED_COLOR_ID_BLUE>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&led_work_en>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pcie20_3v3: pcie20-3v3-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pcie20_3v3_en>;
|
||||
+ regulator-name = "pcie20_3v3";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ rk809-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,name = "ODROID-M1-FRONT";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s1_8ch>;
|
||||
+ };
|
||||
+
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&rk809>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_sys: vcc3v3-sys {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v_dcin: vcc5v-dcin {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-5v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_sys: vcc5v0-sys {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc5v_dcin>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_host: vcc5v0-host-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc5v0_host_en>;
|
||||
+ regulator-name = "vcc5v0_host";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb_otg: vcc5v0-otg-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc5v0_usb_otg_en>;
|
||||
+ regulator-name = "vcc5v0_usb_otg";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb_host: vcc5v0-usb3-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc5v0_usb_host_en>;
|
||||
+ regulator-name = "vcc5v0_usb_host";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&combphy1 {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&combphy2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&display_subsystem {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&gmac1 {
|
||||
+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
||||
+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
||||
+ clock_in_out = "input";
|
||||
+ phy-supply = <&vcc_3v3>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&gmac1m1_miim
|
||||
+ &gmac1m1_tx_bus2
|
||||
+ &gmac1m1_rx_bus2
|
||||
+ &gmac1m1_rgmii_clk
|
||||
+ &gmac1m1_rgmii_bus
|
||||
+ &gmac1m1_clkinout>;
|
||||
+ snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
+ snps,reset-active-low;
|
||||
+ /* Reset time is 20ms, 100ms for rtl8211f */
|
||||
+ snps,reset-delays-us = <0 20000 100000>;
|
||||
+ tx_delay = <0x4f>;
|
||||
+ rx_delay = <0x2d>;
|
||||
+ phy-handle = <&rgmii_phy1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&gpio0 {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIO0_A0-A3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO0_A4-A7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO0_B0-B3 */
|
||||
+ "", "", "", "PIN_28",
|
||||
+ /* GPIO0_B4-B7 */
|
||||
+ "PIN_27", "PIN_33", "PIN_7", "",
|
||||
+
|
||||
+ /* GPIO0_C0-C3 */
|
||||
+ "PIN_11", "PIN_13", "PIN_15", "",
|
||||
+ /* GPIO0_C4-C7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO0_D0-D3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO0_D4-D7 */
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio1 {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIO1_A0-A3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO1_A4-A7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO1_B0-B3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO1_B4-B7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO1_C0-C3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO1_C4-C7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO1_D0-D3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO1_D4-D7 */
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio2 {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIO2_A0-A3 */
|
||||
+ "", "", "", "PIN_10",
|
||||
+ /* GPIO2_A4-A7 */
|
||||
+ "PIN_8", "PINN_35", "PIN_36", "PIN_12",
|
||||
+
|
||||
+ /* GPIO2_B0-B3 */
|
||||
+ "PIN_22", "PIN_26", "PIN_32", "",
|
||||
+ /* GPIO2_B4-B7 */
|
||||
+ "", "PIN_16", "PIN_18", "PIN_31",
|
||||
+
|
||||
+ /* GPIO2_C0-C3 */
|
||||
+ "PIN_29", "", "", "",
|
||||
+ /* GPIO2_C4-C7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO2_D0-D3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO2_D4-D7 */
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio3 {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIO3_A0-A3 */
|
||||
+ "", "PIN_24", "", "",
|
||||
+ /* GPIO3_A4-A7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO3_B0-B3 */
|
||||
+ "", "", "", "EXTPIN_13",
|
||||
+ /* GPIO3_B4-B7 */
|
||||
+ "EXTPIN_14", "PIN_5", "PIN_3", "",
|
||||
+
|
||||
+ /* GPIO3_C0-C3 */
|
||||
+ "", "PIN_19", "PIN_21", "PIN_23",
|
||||
+ /* GPIO3_C4-C7 */
|
||||
+ "EXTPIN_11", "EXTPIN_12", "", "",
|
||||
+
|
||||
+ /* GPIO3_D0-D3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO3_D4-D7 */
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio4 {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIO4_A0-A3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO4_A4-A7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO4_B0-B3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO4_B4-B7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO4_C0-C3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO4_C4-C7 */
|
||||
+ "", "", "", "",
|
||||
+
|
||||
+ /* GPIO4_D0-D3 */
|
||||
+ "", "", "", "",
|
||||
+ /* GPIO4_D4-D7 */
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&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 {
|
||||
+ simple-audio-card,name = "ODROID-M1-HDMI";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+ vdd_cpu: tcs4525@1c {
|
||||
+ compatible = "tcs,tcs452x";
|
||||
+ reg = <0x1c>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ regulator-compatible = "fan53555-reg";
|
||||
+ regulator-name = "vdd_cpu";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1390000>;
|
||||
+ regulator-init-microvolt = <900000>;
|
||||
+ regulator-ramp-delay = <2300>;
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rk809: pmic@20 {
|
||||
+ compatible = "rockchip,rk809";
|
||||
+ 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>, <&i2s1m0_mclk>;
|
||||
+ rockchip,system-power-controller;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ vcc1-supply = <&vcc3v3_sys>;
|
||||
+ vcc2-supply = <&vcc3v3_sys>;
|
||||
+ vcc3-supply = <&vcc3v3_sys>;
|
||||
+ vcc4-supply = <&vcc3v3_sys>;
|
||||
+ vcc5-supply = <&vcc3v3_sys>;
|
||||
+ vcc6-supply = <&vcc3v3_sys>;
|
||||
+ vcc7-supply = <&vcc3v3_sys>;
|
||||
+ vcc8-supply = <&vcc3v3_sys>;
|
||||
+ vcc9-supply = <&vcc3v3_sys>;
|
||||
+ wakeup-source;
|
||||
+
|
||||
+ regulators {
|
||||
+ vdd_logic: DCDC_REG1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <500000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-init-microvolt = <900000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-name = "vdd_logic";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_gpu: DCDC_REG2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <500000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-init-microvolt = <900000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-name = "vdd_gpu";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_ddr: DCDC_REG3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-name = "vcc_ddr";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_npu: DCDC_REG4 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <500000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-init-microvolt = <900000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-name = "vdd_npu";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdda0v9_image: LDO_REG1 {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <900000>;
|
||||
+ regulator-max-microvolt = <900000>;
|
||||
+ regulator-name = "vdda0v9_image";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdda_0v9: LDO_REG2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <900000>;
|
||||
+ regulator-max-microvolt = <900000>;
|
||||
+ regulator-name = "vdda_0v9";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdda0v9_pmu: LDO_REG3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <900000>;
|
||||
+ regulator-max-microvolt = <900000>;
|
||||
+ regulator-name = "vdda0v9_pmu";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <900000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vccio_acodec: LDO_REG4 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-name = "vccio_acodec";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vccio_sd: LDO_REG5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vccio_sd";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_pmu: LDO_REG6 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3_pmu";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca_1v8: LDO_REG7 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcca_1v8";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca1v8_ddr: LDO_REG8 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcca1v8_pmu";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca1v8_image: LDO_REG9 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcca1v8_image";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v8: DCDC_REG5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc_1v8";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_3v3: SWITCH_REG1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-name = "vcc_3v3";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_sd: SWITCH_REG2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-name = "vcc3v3_sd";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c2m1_xfer>;
|
||||
+
|
||||
+ clock-frequency = <400000>;
|
||||
+};
|
||||
+
|
||||
+&i2c3 {
|
||||
+ status = "disabled";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c3m1_xfer>;
|
||||
+};
|
||||
+
|
||||
+&i2s0_8ch {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2s1_8ch {
|
||||
+ status = "okay";
|
||||
+ rockchip,clk-trcm = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2s1m0_sclktx
|
||||
+ &i2s1m0_lrcktx
|
||||
+ &i2s1m0_sdi0
|
||||
+ &i2s1m0_sdo0>;
|
||||
+};
|
||||
+
|
||||
+&mdio1 {
|
||||
+ rgmii_phy1: phy@0 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <0x0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pcie2x1 {
|
||||
+ reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
|
||||
+ vpcie3v3-supply = <&pcie20_3v3>;
|
||||
+ pinctrl-0 = <&pcie20m2_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ gmac1 {
|
||||
+ gmac1m1_miim: gmac1m1-miim {
|
||||
+ rockchip,pins =
|
||||
+ /* gmac1_mdcm1 */
|
||||
+ <4 RK_PB6 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_mdiom1 */
|
||||
+ <4 RK_PB7 3 &pcfg_pull_none_drv_level_15>;
|
||||
+ };
|
||||
+
|
||||
+ gmac1m1_clkinout: gmac1m1-clkinout {
|
||||
+ rockchip,pins =
|
||||
+ /* gmac1_mclkinoutm1 */
|
||||
+ <4 RK_PC1 3 &pcfg_pull_none_drv_level_15>;
|
||||
+ };
|
||||
+
|
||||
+ gmac1m1_rx_bus2: gmac1m1-rx-bus2 {
|
||||
+ rockchip,pins =
|
||||
+ /* gmac1_rxd0m1 */
|
||||
+ <4 RK_PA7 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_rxd1m1 */
|
||||
+ <4 RK_PB0 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_rxdvcrsm1 */
|
||||
+ <4 RK_PB1 3 &pcfg_pull_none_drv_level_15>;
|
||||
+ };
|
||||
+
|
||||
+ gmac1m1_tx_bus2: gmac1m1-tx-bus2 {
|
||||
+ rockchip,pins =
|
||||
+ /* gmac1_txd0m1 */
|
||||
+ <4 RK_PA4 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_txd1m1 */
|
||||
+ <4 RK_PA5 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_txenm1 */
|
||||
+ <4 RK_PA6 3 &pcfg_pull_none_drv_level_15>;
|
||||
+ };
|
||||
+
|
||||
+ gmac1m1_rgmii_clk: gmac1m1-rgmii-clk {
|
||||
+ rockchip,pins =
|
||||
+ /* gmac1_rxclkm1 */
|
||||
+ <4 RK_PA3 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_txclkm1 */
|
||||
+ <4 RK_PA0 3 &pcfg_pull_none_drv_level_15>;
|
||||
+ };
|
||||
+
|
||||
+ gmac1m1_rgmii_bus: gmac1m1-rgmii-bus {
|
||||
+ rockchip,pins =
|
||||
+ /* gmac1_rxd2m1 */
|
||||
+ <4 RK_PA1 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_rxd3m1 */
|
||||
+ <4 RK_PA2 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_txd2m1 */
|
||||
+ <3 RK_PD6 3 &pcfg_pull_none_drv_level_15>,
|
||||
+ /* gmac1_txd3m1 */
|
||||
+ <3 RK_PD7 3 &pcfg_pull_none_drv_level_15>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ led_power_en: led_power_en {
|
||||
+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ led_work_en: led_work_en {
|
||||
+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pcie {
|
||||
+ pcie20_3v3_en: pcie20-3v3-en {
|
||||
+ rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pmic {
|
||||
+ pmic_int: pmic_int {
|
||||
+ rockchip,pins =
|
||||
+ <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb {
|
||||
+ vcc5v0_host_en: vcc5v0-host-en {
|
||||
+ rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb_otg_en: vcc5v0-otg-en {
|
||||
+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb_host_en: vcc5v0-usb3-en {
|
||||
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pmu_io_domains {
|
||||
+ pmuio1-supply = <&vcc3v3_pmu>;
|
||||
+ pmuio2-supply = <&vcc3v3_pmu>;
|
||||
+ vccio1-supply = <&vccio_acodec>;
|
||||
+ vccio2-supply = <&vcc_1v8>;
|
||||
+ vccio3-supply = <&vccio_sd>;
|
||||
+ vccio4-supply = <&vcc_3v3>;
|
||||
+ vccio5-supply = <&vcc_3v3>;
|
||||
+ vccio6-supply = <&vcc_3v3>;
|
||||
+ vccio7-supply = <&vcc_3v3>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm1 {
|
||||
+ status = "disabled";
|
||||
+ pinctrl-0 = <&pwm1m1_pins>;
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ vref-supply = <&vcca_1v8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ bus-width = <8>;
|
||||
+ max-frequency = <200000000>;
|
||||
+ non-removable;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe &emmc_rstnout>;
|
||||
+ vmmc-supply = <&vcc_3v3>;
|
||||
+ vqmmc-supply = <&vcc_1v8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdmmc0 {
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
+ disable-wp;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
||||
+ sd-uhs-sdr104;
|
||||
+ vmmc-supply = <&vcc3v3_sys>;
|
||||
+ vqmmc-supply = <&vccio_sd>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tsadc {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ dma-names = "tx", "rx";
|
||||
+ /* uart1 uart1-with-ctsrts */
|
||||
+ pinctrl-0 = <&uart1m1_xfer>;
|
||||
+ pinctrl-1 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_ehci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_ohci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_xhci {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_ehci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_ohci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host1_xhci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0_host {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy0_otg {
|
||||
+ vbus-supply = <&vcc5v0_usb_otg>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1_host {
|
||||
+ phy-supply = <&vcc5v0_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2phy1_otg {
|
||||
+ phy-supply = <&vcc5v0_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.40.1
|
||||
|
@@ -0,0 +1,335 @@
|
||||
From eb02261dd6c88a7fcf3c28e59a7976905815fa6b Mon Sep 17 00:00:00 2001
|
||||
From: Tim Lunn <tim@feathertop.org>
|
||||
Date: Sun, 28 Jan 2024 18:55:57 +1100
|
||||
Subject: [PATCH] arm64: dts: clean up as required for mainline linux
|
||||
|
||||
---
|
||||
.../boot/dts/rockchip/rk3566-odroid-m1s.dts | 212 +++---------------
|
||||
1 file changed, 27 insertions(+), 185 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
index 1cad9217c374..cbf2495901d7 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
@@ -18,12 +18,8 @@ / {
|
||||
|
||||
aliases {
|
||||
ethernet1 = &gmac1;
|
||||
- i2c0 = &i2c3;
|
||||
- i2c3 = &i2c0;
|
||||
mmc0 = &sdhci;
|
||||
mmc1 = &sdmmc0;
|
||||
- serial0 = &uart1;
|
||||
- serial1 = &uart0;
|
||||
};
|
||||
|
||||
chosen: chosen {
|
||||
@@ -52,7 +48,7 @@ leds {
|
||||
compatible = "gpio-leds";
|
||||
status = "okay";
|
||||
|
||||
- red_led: red {
|
||||
+ red_led: led-0 {
|
||||
gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "default-on";
|
||||
function = LED_FUNCTION_POWER;
|
||||
@@ -60,7 +56,7 @@ red_led: red {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_power_en>;
|
||||
};
|
||||
- blue_led: blue {
|
||||
+ blue_led: led-1 {
|
||||
gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
function = LED_FUNCTION_HEARTBEAT;
|
||||
@@ -97,6 +93,25 @@ simple-audio-card,codec {
|
||||
};
|
||||
};
|
||||
|
||||
+ spdif_dit: spdif-dit {
|
||||
+ compatible = "linux,spdif-dit";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ spdif_sound: spdif-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&spdif>;
|
||||
+ };
|
||||
+
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&spdif_dit>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
vcc3v3_sys: vcc3v3-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3_sys";
|
||||
@@ -164,7 +179,6 @@ vcc5v0_usb_host: vcc5v0-usb3-regulator {
|
||||
};
|
||||
|
||||
&combphy1 {
|
||||
- phy-supply = <&vcc5v0_usb_host>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -215,121 +229,6 @@ &gmac1m1_rgmii_bus
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&gpio0 {
|
||||
- gpio-line-names =
|
||||
- /* GPIO0_A0-A3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO0_A4-A7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO0_B0-B3 */
|
||||
- "", "", "", "PIN_28",
|
||||
- /* GPIO0_B4-B7 */
|
||||
- "PIN_27", "PIN_33", "PIN_7", "",
|
||||
-
|
||||
- /* GPIO0_C0-C3 */
|
||||
- "PIN_11", "PIN_13", "PIN_15", "",
|
||||
- /* GPIO0_C4-C7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO0_D0-D3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO0_D4-D7 */
|
||||
- "", "", "", "";
|
||||
-};
|
||||
-
|
||||
-&gpio1 {
|
||||
- gpio-line-names =
|
||||
- /* GPIO1_A0-A3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO1_A4-A7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO1_B0-B3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO1_B4-B7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO1_C0-C3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO1_C4-C7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO1_D0-D3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO1_D4-D7 */
|
||||
- "", "", "", "";
|
||||
-};
|
||||
-
|
||||
-&gpio2 {
|
||||
- gpio-line-names =
|
||||
- /* GPIO2_A0-A3 */
|
||||
- "", "", "", "PIN_10",
|
||||
- /* GPIO2_A4-A7 */
|
||||
- "PIN_8", "PINN_35", "PIN_36", "PIN_12",
|
||||
-
|
||||
- /* GPIO2_B0-B3 */
|
||||
- "PIN_22", "PIN_26", "PIN_32", "",
|
||||
- /* GPIO2_B4-B7 */
|
||||
- "", "PIN_16", "PIN_18", "PIN_31",
|
||||
-
|
||||
- /* GPIO2_C0-C3 */
|
||||
- "PIN_29", "", "", "",
|
||||
- /* GPIO2_C4-C7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO2_D0-D3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO2_D4-D7 */
|
||||
- "", "", "", "";
|
||||
-};
|
||||
-
|
||||
-&gpio3 {
|
||||
- gpio-line-names =
|
||||
- /* GPIO3_A0-A3 */
|
||||
- "", "PIN_24", "", "",
|
||||
- /* GPIO3_A4-A7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO3_B0-B3 */
|
||||
- "", "", "", "EXTPIN_13",
|
||||
- /* GPIO3_B4-B7 */
|
||||
- "EXTPIN_14", "PIN_5", "PIN_3", "",
|
||||
-
|
||||
- /* GPIO3_C0-C3 */
|
||||
- "", "PIN_19", "PIN_21", "PIN_23",
|
||||
- /* GPIO3_C4-C7 */
|
||||
- "EXTPIN_11", "EXTPIN_12", "", "",
|
||||
-
|
||||
- /* GPIO3_D0-D3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO3_D4-D7 */
|
||||
- "", "", "", "";
|
||||
-};
|
||||
-
|
||||
-&gpio4 {
|
||||
- gpio-line-names =
|
||||
- /* GPIO4_A0-A3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO4_A4-A7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO4_B0-B3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO4_B4-B7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO4_C0-C3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO4_C4-C7 */
|
||||
- "", "", "", "",
|
||||
-
|
||||
- /* GPIO4_D0-D3 */
|
||||
- "", "", "", "",
|
||||
- /* GPIO4_D4-D7 */
|
||||
- "", "", "", "";
|
||||
-};
|
||||
-
|
||||
&gpu {
|
||||
mali-supply = <&vdd_gpu>;
|
||||
status = "okay";
|
||||
@@ -368,7 +267,6 @@ vdd_cpu: tcs4525@1c {
|
||||
regulator-name = "vdd_cpu";
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1390000>;
|
||||
- regulator-init-microvolt = <900000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-boot-on;
|
||||
@@ -409,7 +307,6 @@ vdd_logic: DCDC_REG1 {
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
- regulator-init-microvolt = <900000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-initial-mode = <0x2>;
|
||||
regulator-name = "vdd_logic";
|
||||
@@ -423,7 +320,6 @@ vdd_gpu: DCDC_REG2 {
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
- regulator-init-microvolt = <900000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-initial-mode = <0x2>;
|
||||
regulator-name = "vdd_gpu";
|
||||
@@ -447,7 +343,6 @@ vdd_npu: DCDC_REG4 {
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
- regulator-init-microvolt = <900000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-initial-mode = <0x2>;
|
||||
regulator-name = "vdd_npu";
|
||||
@@ -587,6 +482,9 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
};
|
||||
+ codec {
|
||||
+ rockchip,mic-in-differential;
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -611,7 +509,7 @@ &i2s0_8ch {
|
||||
|
||||
&i2s1_8ch {
|
||||
status = "okay";
|
||||
- rockchip,clk-trcm = <1>;
|
||||
+ rockchip,trcm-sync-tx-only;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s1m0_sclktx
|
||||
&i2s1m0_lrcktx
|
||||
@@ -620,7 +518,7 @@ &i2s1m0_sdi0
|
||||
};
|
||||
|
||||
&mdio1 {
|
||||
- rgmii_phy1: phy@0 {
|
||||
+ rgmii_phy1: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x0>;
|
||||
};
|
||||
@@ -634,62 +532,6 @@ &pcie2x1 {
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
- gmac1 {
|
||||
- gmac1m1_miim: gmac1m1-miim {
|
||||
- rockchip,pins =
|
||||
- /* gmac1_mdcm1 */
|
||||
- <4 RK_PB6 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_mdiom1 */
|
||||
- <4 RK_PB7 3 &pcfg_pull_none_drv_level_15>;
|
||||
- };
|
||||
-
|
||||
- gmac1m1_clkinout: gmac1m1-clkinout {
|
||||
- rockchip,pins =
|
||||
- /* gmac1_mclkinoutm1 */
|
||||
- <4 RK_PC1 3 &pcfg_pull_none_drv_level_15>;
|
||||
- };
|
||||
-
|
||||
- gmac1m1_rx_bus2: gmac1m1-rx-bus2 {
|
||||
- rockchip,pins =
|
||||
- /* gmac1_rxd0m1 */
|
||||
- <4 RK_PA7 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_rxd1m1 */
|
||||
- <4 RK_PB0 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_rxdvcrsm1 */
|
||||
- <4 RK_PB1 3 &pcfg_pull_none_drv_level_15>;
|
||||
- };
|
||||
-
|
||||
- gmac1m1_tx_bus2: gmac1m1-tx-bus2 {
|
||||
- rockchip,pins =
|
||||
- /* gmac1_txd0m1 */
|
||||
- <4 RK_PA4 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_txd1m1 */
|
||||
- <4 RK_PA5 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_txenm1 */
|
||||
- <4 RK_PA6 3 &pcfg_pull_none_drv_level_15>;
|
||||
- };
|
||||
-
|
||||
- gmac1m1_rgmii_clk: gmac1m1-rgmii-clk {
|
||||
- rockchip,pins =
|
||||
- /* gmac1_rxclkm1 */
|
||||
- <4 RK_PA3 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_txclkm1 */
|
||||
- <4 RK_PA0 3 &pcfg_pull_none_drv_level_15>;
|
||||
- };
|
||||
-
|
||||
- gmac1m1_rgmii_bus: gmac1m1-rgmii-bus {
|
||||
- rockchip,pins =
|
||||
- /* gmac1_rxd2m1 */
|
||||
- <4 RK_PA1 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_rxd3m1 */
|
||||
- <4 RK_PA2 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_txd2m1 */
|
||||
- <3 RK_PD6 3 &pcfg_pull_none_drv_level_15>,
|
||||
- /* gmac1_txd3m1 */
|
||||
- <3 RK_PD7 3 &pcfg_pull_none_drv_level_15>;
|
||||
- };
|
||||
- };
|
||||
-
|
||||
leds {
|
||||
led_power_en: led_power_en {
|
||||
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
@@ -825,7 +667,7 @@ &usb2phy0_host {
|
||||
};
|
||||
|
||||
&usb2phy0_otg {
|
||||
- vbus-supply = <&vcc5v0_usb_otg>;
|
||||
+ phy-supply = <&vcc5v0_usb_otg>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
@@ -0,0 +1,43 @@
|
||||
From 641ec8e05726d42c8ec7fa3bda1d8a64f126b475 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Lunn <tim@feathertop.org>
|
||||
Date: Fri, 12 Jan 2024 22:32:56 +1100
|
||||
Subject: [PATCH] arm64: dts: fix vdd_cpu regulator for mainline
|
||||
|
||||
---
|
||||
.../arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
index cbf2495901d7..a5d9216b544b 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
@@ -259,18 +259,19 @@ &hdmi_sound {
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
- vdd_cpu: tcs4525@1c {
|
||||
- compatible = "tcs,tcs452x";
|
||||
+
|
||||
+ vdd_cpu: regulator@1c {
|
||||
+ compatible = "tcs,tcs4525";
|
||||
reg = <0x1c>;
|
||||
- vin-supply = <&vcc5v0_sys>;
|
||||
- regulator-compatible = "fan53555-reg";
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_cpu";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1390000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
- fcs,suspend-voltage-selector = <1>;
|
||||
- regulator-boot-on;
|
||||
- regulator-always-on;
|
||||
+ vin-supply = <&vcc3v3_sys>;
|
||||
+
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
--
|
||||
2.40.1
|
||||
|
@@ -0,0 +1,51 @@
|
||||
From b4d16cd88ec2701dcb15b9519a79288ea5d2bfec Mon Sep 17 00:00:00 2001
|
||||
From: Tim Lunn <tim@feathertop.org>
|
||||
Date: Sat, 3 Feb 2024 23:40:16 +1100
|
||||
Subject: [PATCH] Remove deprecated snps,reset properties
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts | 11 +++++------
|
||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
index b8adfd7024f9..e755d00b1d4f 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
|
||||
@@ -192,8 +192,9 @@ &gmac1 {
|
||||
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
||||
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
||||
clock_in_out = "input";
|
||||
- phy-supply = <&vcc_3v3>;
|
||||
+ phy-handle = <&rgmii_phy1>;
|
||||
phy-mode = "rgmii";
|
||||
+ phy-supply = <&vcc_3v3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac1m1_miim
|
||||
&gmac1m1_tx_bus2
|
||||
@@ -201,13 +202,8 @@ &gmac1m1_rx_bus2
|
||||
&gmac1m1_rgmii_clk
|
||||
&gmac1m1_rgmii_bus
|
||||
&gmac1m1_clkinout>;
|
||||
- snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
- snps,reset-active-low;
|
||||
- /* Reset time is 20ms, 100ms for rtl8211f */
|
||||
- snps,reset-delays-us = <0 20000 100000>;
|
||||
tx_delay = <0x4f>;
|
||||
rx_delay = <0x2d>;
|
||||
- phy-handle = <&rgmii_phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -504,6 +500,9 @@ &mdio1 {
|
||||
rgmii_phy1: 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>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
@@ -1,73 +1,59 @@
|
||||
From e52e7ff196b942c8bf8bee9e74d4f24619934a1b Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <e52e7ff196b942c8bf8bee9e74d4f24619934a1b.1689147150.git.stefan@agner.ch>
|
||||
In-Reply-To: <acadbae38f91965f204d6a5d49eb8b578970b818.1689147150.git.stefan@agner.ch>
|
||||
References: <acadbae38f91965f204d6a5d49eb8b578970b818.1689147150.git.stefan@agner.ch>
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sun, 2 Jul 2023 20:47:19 +0000
|
||||
Subject: [PATCH] board: rockchip: Add Hardkernel ODROID-M1
|
||||
From f7bc9a62a5ff7e8b95d902103b12c6ace208d11a Mon Sep 17 00:00:00 2001
|
||||
From: Dongjin Kim <tobetter@gmail.com>
|
||||
Date: Thu, 25 Jan 2024 16:02:51 +0900
|
||||
Subject: [PATCH] board: rockchip: Add Hardkernel ODROID-M1S
|
||||
|
||||
Hardkernel ODROID-M1 is a single board computer with a RK3568B2 SoC,
|
||||
a slightly modified version of the RK3568 SoC.
|
||||
Hardkernel ODROID-M1S is a single board computer with a RK3566 SoC,
|
||||
a slightly modified version of the RK3566 SoC.
|
||||
|
||||
Features tested on a ODROID-M1 8GB v1.0 2022-06-13:
|
||||
- SD-card boot
|
||||
- eMMC boot
|
||||
- SPI Flash boot
|
||||
- PCIe/NVMe/AHCI
|
||||
- SATA port
|
||||
- USB host
|
||||
Features tested on a ODROID-M1S 8GB v1.0 2023-08-10:
|
||||
- SD-card boot
|
||||
- eMMC boot
|
||||
- PCIe/NVMe
|
||||
|
||||
Device tree is imported from linux v6.4.
|
||||
|
||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
|
||||
Message ID: 20240125070252.2057679-1-tobetter@gmail.com
|
||||
---
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi | 46 ++
|
||||
arch/arm/dts/rk3568-odroid-m1.dts | 744 ++++++++++++++++++++++
|
||||
board/rockchip/evb_rk3568/MAINTAINERS | 7 +
|
||||
configs/odroid-m1-rk3568_defconfig | 103 +++
|
||||
doc/board/rockchip/rockchip.rst | 1 +
|
||||
6 files changed, 902 insertions(+)
|
||||
create mode 100644 arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
|
||||
create mode 100644 arch/arm/dts/rk3568-odroid-m1.dts
|
||||
create mode 100644 configs/odroid-m1-rk3568_defconfig
|
||||
arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi | 28 +
|
||||
arch/arm/dts/rk3566-odroid-m1s.dts | 665 +++++++++++++++++++++
|
||||
arch/arm/mach-rockchip/rk3568/Kconfig | 6 +
|
||||
board/hardkernel/odroid_m1s/Kconfig | 15 +
|
||||
board/hardkernel/odroid_m1s/MAINTAINERS | 9 +
|
||||
board/hardkernel/odroid_m1s/Makefile | 7 +
|
||||
board/hardkernel/odroid_m1s/board.c | 81 +++
|
||||
configs/odroid-m1s-rk3566_defconfig | 109 ++++
|
||||
doc/board/rockchip/rockchip.rst | 1 +
|
||||
include/configs/odroid_m1s.h | 12 +
|
||||
10 files changed, 933 insertions(+)
|
||||
create mode 100644 arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi
|
||||
create mode 100644 arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
create mode 100644 board/hardkernel/odroid_m1s/Kconfig
|
||||
create mode 100644 board/hardkernel/odroid_m1s/MAINTAINERS
|
||||
create mode 100644 board/hardkernel/odroid_m1s/Makefile
|
||||
create mode 100644 board/hardkernel/odroid_m1s/board.c
|
||||
create mode 100644 configs/odroid-m1s-rk3566_defconfig
|
||||
create mode 100644 include/configs/odroid_m1s.h
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index 480269fa60..334c1bafda 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -169,6 +169,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
||||
rk3566-anbernic-rgxx3.dtb \
|
||||
rk3566-radxa-cm3-io.dtb \
|
||||
rk3568-evb.dtb \
|
||||
+ rk3568-odroid-m1.dtb \
|
||||
rk3568-rock-3a.dtb
|
||||
|
||||
dtb-$(CONFIG_ROCKCHIP_RK3588) += \
|
||||
diff --git a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
|
||||
diff --git a/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..dc8ad98715
|
||||
index 0000000000..33a1d142b8
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
|
||||
@@ -0,0 +1,46 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+++ b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi
|
||||
@@ -0,0 +1,28 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+#include "rk356x-u-boot.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ spi0 = &sfc;
|
||||
+ };
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+
|
||||
+/ {
|
||||
+ chosen {
|
||||
+ stdout-path = &uart2;
|
||||
+ u-boot,spl-boot-order = &sdmmc0, &sdhci;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&fspi_dual_io_pins {
|
||||
+ bootph-all;
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-1_8v;
|
||||
@@ -77,34 +63,20 @@ index 0000000000..dc8ad98715
|
||||
+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
|
||||
+};
|
||||
+
|
||||
+&sfc {
|
||||
+ bootph-pre-ram;
|
||||
+ u-boot,spl-sfc-no-dma;
|
||||
+
|
||||
+ flash@0 {
|
||||
+ bootph-pre-ram;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ bootph-all;
|
||||
+ clock-frequency = <24000000>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vcc5v0_usb_host {
|
||||
+ /* Workaround until regulator implement basic reference counter */
|
||||
+ regulator-always-on;
|
||||
+};
|
||||
diff --git a/arch/arm/dts/rk3568-odroid-m1.dts b/arch/arm/dts/rk3568-odroid-m1.dts
|
||||
diff --git a/arch/arm/dts/rk3566-odroid-m1s.dts b/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
new file mode 100644
|
||||
index 0000000000..59ecf868db
|
||||
index 0000000000..73e29d80c7
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3568-odroid-m1.dts
|
||||
@@ -0,0 +1,744 @@
|
||||
+++ b/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
@@ -0,0 +1,665 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2022 Hardkernel Co., Ltd.
|
||||
+ * Copyright (c) 2024 Hardkernel Co., Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
@@ -113,14 +85,14 @@ index 0000000000..59ecf868db
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/pinctrl/rockchip.h>
|
||||
+#include <dt-bindings/soc/rockchip,vop2.h>
|
||||
+#include "rk3568.dtsi"
|
||||
+#include "rk3566.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Hardkernel ODROID-M1";
|
||||
+ compatible = "rockchip,rk3568-odroid-m1", "rockchip,rk3568";
|
||||
+ model = "Hardkernel ODROID-M1S";
|
||||
+ compatible = "hardkernel,rk3568-odroid-m1s", "rockchip,rk3568";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &gmac0;
|
||||
+ ethernet0 = &gmac1;
|
||||
+ i2c0 = &i2c3;
|
||||
+ i2c3 = &i2c0;
|
||||
+ mmc0 = &sdhci;
|
||||
@@ -133,13 +105,11 @@ index 0000000000..59ecf868db
|
||||
+ stdout-path = "serial2:1500000n8";
|
||||
+ };
|
||||
+
|
||||
+ dc_12v: dc-12v-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "dc_12v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <12000000>;
|
||||
+ regulator-max-microvolt = <12000000>;
|
||||
+ gmac1_clkin: external-gmac1-clock {
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <125000000>;
|
||||
+ clock-output-names = "gmac1_clkin";
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ hdmi-con {
|
||||
@@ -153,13 +123,6 @@ index 0000000000..59ecf868db
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ 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";
|
||||
+
|
||||
@@ -182,13 +145,21 @@ index 0000000000..59ecf868db
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pcie20_3v3: pcie20-3v3-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vcc3v3_pcie20_en_pin>;
|
||||
+ regulator-name = "pcie20_3v3";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ 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",
|
||||
@@ -207,17 +178,23 @@ index 0000000000..59ecf868db
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ 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>;
|
||||
+ spdif_dit: spdif-dit {
|
||||
+ compatible = "linux,spdif-dit";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ spdif_sound: spdif-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&spdif>;
|
||||
+ };
|
||||
+
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&spdif_dit>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_sys: vcc3v3-sys-regulator {
|
||||
@@ -227,7 +204,7 @@ index 0000000000..59ecf868db
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&dc_12v>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_sys: vcc5v0-sys-regulator {
|
||||
@@ -237,48 +214,49 @@ index 0000000000..59ecf868db
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&dc_12v>;
|
||||
+ vin-supply = <&vcc5v_dcin>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v_dcin: vcc5v0-dcin {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-5v0";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+ 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";
|
||||
+ gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-0 = <&vcc5v0_usb_host_en_pin>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-name = "vcc5v0_usb_host";
|
||||
+ 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";
|
||||
+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-0 = <&vcc5v0_usb_otg_en_pin>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-name = "vcc5v0_usb_otg";
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&combphy0 {
|
||||
+ /* Used for USB3 */
|
||||
+&combphy1 {
|
||||
+ phy-supply = <&vcc5v0_usb_host>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&combphy1 {
|
||||
+ /* Used for USB3 */
|
||||
+ phy-supply = <&vcc5v0_usb_otg>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&combphy2 {
|
||||
+ /* used for SATA */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
@@ -298,20 +276,21 @@ index 0000000000..59ecf868db
|
||||
+ cpu-supply = <&vdd_cpu>;
|
||||
+};
|
||||
+
|
||||
+&gmac0 {
|
||||
+ assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
|
||||
+ assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>;
|
||||
+&gmac1 {
|
||||
+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
|
||||
+ assigned-clock-rates = <0>, <125000000>;
|
||||
+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
||||
+ clock_in_out = "output";
|
||||
+ phy-handle = <&rgmii_phy0>;
|
||||
+ phy-handle = <&rgmii_phy1>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-supply = <&vcc3v3_sys>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&gmac0_miim
|
||||
+ &gmac0_tx_bus2
|
||||
+ &gmac0_rx_bus2
|
||||
+ &gmac0_rgmii_clk
|
||||
+ &gmac0_rgmii_bus>;
|
||||
+ pinctrl-0 = <&gmac1m1_miim
|
||||
+ &gmac1m1_tx_bus2
|
||||
+ &gmac1m1_rx_bus2
|
||||
+ &gmac1m1_rgmii_clk
|
||||
+ &gmac1m1_rgmii_bus
|
||||
+ &gmac1m1_clkinout>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ tx_delay = <0x4f>;
|
||||
@@ -593,50 +572,21 @@ index 0000000000..59ecf868db
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio0 {
|
||||
+ rgmii_phy0: ethernet-phy@0 {
|
||||
+&mdio1 {
|
||||
+ rgmii_phy1: 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>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pcie30phy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pcie3x2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pcie_reset_pin>;
|
||||
+ reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
|
||||
+ vpcie3v3-supply = <&vcc3v3_pcie>;
|
||||
+&pcie2x1 {
|
||||
+ pinctrl-0 = <&pcie20m2_pins>;
|
||||
+ reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
|
||||
+ status = "okay";
|
||||
+ vpcie3v3-supply = <&pcie20_3v3>;
|
||||
+};
|
||||
+
|
||||
+&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>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ 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>;
|
||||
@@ -647,11 +597,8 @@ index 0000000000..59ecf868db
|
||||
+ };
|
||||
+
|
||||
+ 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>;
|
||||
+ vcc3v3_pcie20_en_pin: vcc3v3-pcie20-en-pin {
|
||||
+ rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
@@ -661,18 +608,12 @@ index 0000000000..59ecf868db
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rk809 {
|
||||
+ 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>;
|
||||
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ vcc5v0_usb_otg_en_pin: vcc5v0-usb-dr-en-pin {
|
||||
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
@@ -683,7 +624,7 @@ index 0000000000..59ecf868db
|
||||
+ vccio1-supply = <&vccio_acodec>;
|
||||
+ vccio2-supply = <&vcc_1v8>;
|
||||
+ vccio3-supply = <&vccio_sd>;
|
||||
+ vccio4-supply = <&vcc_1v8>;
|
||||
+ vccio4-supply = <&vcc_3v3>;
|
||||
+ vccio5-supply = <&vcc_3v3>;
|
||||
+ vccio6-supply = <&vcc_3v3>;
|
||||
+ vccio7-supply = <&vcc_3v3>;
|
||||
@@ -695,10 +636,6 @@ index 0000000000..59ecf868db
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sata2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ bus-width = <8>;
|
||||
+ max-frequency = <200000000>;
|
||||
@@ -723,50 +660,6 @@ index 0000000000..59ecf868db
|
||||
+ 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>;
|
||||
@@ -786,7 +679,7 @@ index 0000000000..59ecf868db
|
||||
+};
|
||||
+
|
||||
+&usb_host0_xhci {
|
||||
+ dr_mode = "host";
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
@@ -846,30 +739,172 @@ index 0000000000..59ecf868db
|
||||
+ remote-endpoint = <&hdmi_in_vp0>;
|
||||
+ };
|
||||
+};
|
||||
diff --git a/board/rockchip/evb_rk3568/MAINTAINERS b/board/rockchip/evb_rk3568/MAINTAINERS
|
||||
index 6b2e7c7575..a5b59da0f7 100644
|
||||
--- a/board/rockchip/evb_rk3568/MAINTAINERS
|
||||
+++ b/board/rockchip/evb_rk3568/MAINTAINERS
|
||||
@@ -7,6 +7,13 @@ F: configs/evb-rk3568_defconfig
|
||||
F: arch/arm/dts/rk3568-evb-boot.dtsi
|
||||
F: arch/arm/dts/rk3568-evb.dts
|
||||
diff --git a/arch/arm/mach-rockchip/rk3568/Kconfig b/arch/arm/mach-rockchip/rk3568/Kconfig
|
||||
index baa51349f4..2f03b983ee 100644
|
||||
--- a/arch/arm/mach-rockchip/rk3568/Kconfig
|
||||
+++ b/arch/arm/mach-rockchip/rk3568/Kconfig
|
||||
@@ -22,6 +22,11 @@ config TARGET_ODROID_M1_RK3568
|
||||
help
|
||||
Hardkernel ODROID-M1 single board computer with a RK3568B2 SoC.
|
||||
|
||||
+ODROID-M1
|
||||
+M: Jonas Karlman <jonas@kwiboo.se>
|
||||
+S: Maintained
|
||||
+F: configs/odroid-m1-rk3568_defconfig
|
||||
+F: arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
|
||||
+F: arch/arm/dts/rk3568-odroid-m1.dts
|
||||
+config TARGET_ODROID_M1S_RK3566
|
||||
+ bool "ODROID-M1S"
|
||||
+ help
|
||||
+ Hardkernel ODROID-M1S single board computer with a RK3566 SoC.
|
||||
+
|
||||
RADXA-CM3
|
||||
M: Jagan Teki <jagan@amarulasolutions.com>
|
||||
S: Maintained
|
||||
diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig
|
||||
config TARGET_QUARTZ64_RK3566
|
||||
bool "Pine64 Quartz64"
|
||||
help
|
||||
@@ -44,6 +49,7 @@ config SYS_MALLOC_F_LEN
|
||||
source "board/rockchip/evb_rk3568/Kconfig"
|
||||
source "board/anbernic/rgxx3_rk3566/Kconfig"
|
||||
source "board/hardkernel/odroid_m1/Kconfig"
|
||||
+source "board/hardkernel/odroid_m1s/Kconfig"
|
||||
source "board/pine64/quartz64_rk3566/Kconfig"
|
||||
|
||||
endif
|
||||
diff --git a/board/hardkernel/odroid_m1s/Kconfig b/board/hardkernel/odroid_m1s/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000000..d090196219
|
||||
index 0000000000..0acea61dac
|
||||
--- /dev/null
|
||||
+++ b/configs/odroid-m1-rk3568_defconfig
|
||||
@@ -0,0 +1,103 @@
|
||||
+++ b/board/hardkernel/odroid_m1s/Kconfig
|
||||
@@ -0,0 +1,15 @@
|
||||
+if TARGET_ODROID_M1S_RK3566
|
||||
+
|
||||
+config SYS_BOARD
|
||||
+ default "odroid_m1s"
|
||||
+
|
||||
+config SYS_VENDOR
|
||||
+ default "hardkernel"
|
||||
+
|
||||
+config SYS_CONFIG_NAME
|
||||
+ default "odroid_m1s"
|
||||
+
|
||||
+config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
+ def_bool y
|
||||
+
|
||||
+endif
|
||||
diff --git a/board/hardkernel/odroid_m1s/MAINTAINERS b/board/hardkernel/odroid_m1s/MAINTAINERS
|
||||
new file mode 100644
|
||||
index 0000000000..20fc277ccc
|
||||
--- /dev/null
|
||||
+++ b/board/hardkernel/odroid_m1s/MAINTAINERS
|
||||
@@ -0,0 +1,9 @@
|
||||
+ODROID-M1S
|
||||
+M: Dongjin Kim <tobetter@gmail.com>
|
||||
+S: Maintained
|
||||
+F: arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi
|
||||
+F: arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
+F: board/hardkernel/odroid_m1s/
|
||||
+F: board/hardkernel/odroid_m1s/board.c
|
||||
+F: configs/odroid-m1s-rk3566_defconfig
|
||||
+F: include/configs/odroid_m1s.h
|
||||
diff --git a/board/hardkernel/odroid_m1s/Makefile b/board/hardkernel/odroid_m1s/Makefile
|
||||
new file mode 100644
|
||||
index 0000000000..6ca49c49b7
|
||||
--- /dev/null
|
||||
+++ b/board/hardkernel/odroid_m1s/Makefile
|
||||
@@ -0,0 +1,7 @@
|
||||
+#
|
||||
+# Copyright (c) 2024 Hardkernel Co,. Ltd
|
||||
+#
|
||||
+# SPDX-License-Identifier: GPL-2.0+
|
||||
+#
|
||||
+
|
||||
+obj-y += board.o
|
||||
diff --git a/board/hardkernel/odroid_m1s/board.c b/board/hardkernel/odroid_m1s/board.c
|
||||
new file mode 100644
|
||||
index 0000000000..e87cfc4797
|
||||
--- /dev/null
|
||||
+++ b/board/hardkernel/odroid_m1s/board.c
|
||||
@@ -0,0 +1,81 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * (C) Copyright 2024 Hardkernel Co., Ltd
|
||||
+ */
|
||||
+
|
||||
+#include <asm/unaligned.h>
|
||||
+#include <mmc.h>
|
||||
+#include <net.h>
|
||||
+#include <vsprintf.h>
|
||||
+#include <asm/arch-rockchip/misc.h>
|
||||
+
|
||||
+#ifdef CONFIG_MISC_INIT_R
|
||||
+
|
||||
+/* Read first block 512 bytes from the first BOOT partition of eMMC
|
||||
+ * that stores device identifcation sting in UUID type 1, this string
|
||||
+ * is written in factory to give device seranl number and MAC address.
|
||||
+ */
|
||||
+static int odroid_setup_macaddr(void)
|
||||
+{
|
||||
+ struct mmc *mmc;
|
||||
+ struct blk_desc *desc;
|
||||
+ unsigned long mac_addr;
|
||||
+ unsigned long count;
|
||||
+ int ret;
|
||||
+ u8 buf[512];
|
||||
+
|
||||
+ mmc = find_mmc_device(0);
|
||||
+ if (!mmc)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ desc = mmc_get_blk_desc(mmc);
|
||||
+
|
||||
+ // Switch to the first BOOT partition
|
||||
+ ret = blk_select_hwpart_devnum(UCLASS_MMC, 0, 1);
|
||||
+ if (ret)
|
||||
+ return -EIO;
|
||||
+
|
||||
+ count = blk_dread(desc, 0, 1, (void *)buf);
|
||||
+
|
||||
+ // Switch back to USER partition
|
||||
+ ret = blk_dselect_hwpart(desc, 0);
|
||||
+ if (ret || count != 1)
|
||||
+ return -EIO;
|
||||
+
|
||||
+ *(char *)(buf + 36) = 0;
|
||||
+
|
||||
+ // Serial number
|
||||
+ env_set("serial#", (char *)buf);
|
||||
+
|
||||
+ // MAC address
|
||||
+ mac_addr = cpu_to_be64(simple_strtoul((char *)buf + 24, NULL, 16)) >> 16;
|
||||
+
|
||||
+ eth_env_set_enetaddr("ethaddr", (unsigned char *)&mac_addr);
|
||||
+ eth_env_set_enetaddr("eth1addr", (unsigned char *)&mac_addr);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int misc_init_r(void)
|
||||
+{
|
||||
+ const u32 cpuid_offset = CFG_CPUID_OFFSET;
|
||||
+ const u32 cpuid_length = 0x10;
|
||||
+ u8 cpuid[cpuid_length];
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = odroid_setup_macaddr();
|
||||
+ if (ret) {
|
||||
+ ret = rockchip_setup_macaddr();
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = rockchip_cpuid_set(cpuid, cpuid_length);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..d70a10dc08
|
||||
--- /dev/null
|
||||
+++ b/configs/odroid-m1s-rk3566_defconfig
|
||||
@@ -0,0 +1,109 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SKIP_LOWLEVEL_INIT=y
|
||||
+CONFIG_COUNTER_FREQUENCY=24000000
|
||||
@@ -882,12 +917,13 @@ index 0000000000..d090196219
|
||||
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
||||
+CONFIG_SF_DEFAULT_SPEED=24000000
|
||||
+CONFIG_SF_DEFAULT_MODE=0x1000
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rk3568-odroid-m1"
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rk3566-odroid-m1s"
|
||||
+CONFIG_ROCKCHIP_RK3568=y
|
||||
+CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
||||
+CONFIG_ROCKCHIP_SPI_IMAGE=y
|
||||
+CONFIG_SPL_SERIAL=y
|
||||
+CONFIG_SPL_STACK_R_ADDR=0x600000
|
||||
+CONFIG_TARGET_ODROID_M1S_RK3566=y
|
||||
+CONFIG_SPL_STACK=0x400000
|
||||
+CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
@@ -902,7 +938,7 @@ index 0000000000..d090196219
|
||||
+CONFIG_SPL_FIT_SIGNATURE=y
|
||||
+CONFIG_SPL_LOAD_FIT=y
|
||||
+CONFIG_LEGACY_IMAGE_FORMAT=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-odroid-m1.dtb"
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-odroid-m1s.dtb"
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+CONFIG_SPL_MAX_SIZE=0x40000
|
||||
@@ -923,12 +959,15 @@ index 0000000000..d090196219
|
||||
+CONFIG_CMD_PCI=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_INI=y
|
||||
+CONFIG_CMD_PMIC=y
|
||||
+CONFIG_CMD_REGULATOR=y
|
||||
+CONFIG_CMD_CRAMFS=y
|
||||
+# CONFIG_SPL_DOS_PARTITION is not set
|
||||
+CONFIG_SPL_OF_CONTROL=y
|
||||
+CONFIG_OF_LIVE=y
|
||||
+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
+CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||
+CONFIG_SPL_REGMAP=y
|
||||
+CONFIG_SPL_SYSCON=y
|
||||
+CONFIG_AHCI_PCI=y
|
||||
@@ -943,14 +982,15 @@ index 0000000000..d090196219
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_SDMA=y
|
||||
+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||
+CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||
+CONFIG_SPI_FLASH_MACRONIX=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_GMAC_ROCKCHIP=y
|
||||
+CONFIG_SF_DEFAULT_BUS=4
|
||||
+CONFIG_PHY_REALTEK=y
|
||||
+CONFIG_DWC_ETH_QOS=y
|
||||
+CONFIG_DWC_ETH_QOS_ROCKCHIP=y
|
||||
+CONFIG_NVME_PCI=y
|
||||
+CONFIG_PCIE_DW_ROCKCHIP=y
|
||||
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||
+CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
||||
+CONFIG_PHY_ROCKCHIP_PCIE=y
|
||||
+CONFIG_SPL_PINCTRL=y
|
||||
+CONFIG_DM_PMIC=y
|
||||
+CONFIG_PMIC_RK8XX=y
|
||||
@@ -962,7 +1002,6 @@ index 0000000000..d090196219
|
||||
+CONFIG_BAUDRATE=1500000
|
||||
+CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_SYS_NS16550_MEM32=y
|
||||
+CONFIG_ROCKCHIP_SFC=y
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
@@ -972,19 +1011,39 @@ index 0000000000..d090196219
|
||||
+CONFIG_USB_OHCI_GENERIC=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+CONFIG_USB_DWC3_GENERIC=y
|
||||
+CONFIG_FS_CRAMFS=y
|
||||
+CONFIG_ERRNO_STR=y
|
||||
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x0800
|
||||
diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst
|
||||
index 99376fb54c..b3de15b36a 100644
|
||||
index 18d0b6f089..3ce9966fc1 100644
|
||||
--- a/doc/board/rockchip/rockchip.rst
|
||||
+++ b/doc/board/rockchip/rockchip.rst
|
||||
@@ -95,6 +95,7 @@ List of mainline supported Rockchip boards:
|
||||
@@ -93,6 +93,7 @@ List of mainline supported Rockchip boards:
|
||||
|
||||
* rk3568
|
||||
- Rockchip Evb-RK3568 (evb-rk3568)
|
||||
+ - Hardkernel ODROID-M1 (odroid-m1-rk3568)
|
||||
|
||||
* rk3588
|
||||
- Rockchip EVB (evb-rk3588)
|
||||
* rk3566
|
||||
- Anbernic RGxx3 (anbernic-rgxx3-rk3566)
|
||||
+ - Hardkernel ODROID-M1S (odroid-m1s-rk3566)
|
||||
- Pine64 Quartz64-A Board (quartz64-a-rk3566)
|
||||
- Pine64 Quartz64-B Board (quartz64-b-rk3566)
|
||||
- Pine64 SOQuartz on Blade (soquartz-blade-rk3566)
|
||||
diff --git a/include/configs/odroid_m1s.h b/include/configs/odroid_m1s.h
|
||||
new file mode 100644
|
||||
index 0000000000..b271861388
|
||||
--- /dev/null
|
||||
+++ b/include/configs/odroid_m1s.h
|
||||
@@ -0,0 +1,12 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
+
|
||||
+#ifndef __ODROID_M1S_H
|
||||
+#define __ODROID_M1S_H
|
||||
+
|
||||
+#include <configs/rk3568_common.h>
|
||||
+
|
||||
+#define ROCKCHIP_DEVICE_SETTINGS \
|
||||
+ "stdout=serial\0" \
|
||||
+ "stderr=serial\0"
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.41.0
|
||||
2.40.1
|
||||
|
@@ -0,0 +1,48 @@
|
||||
From ed61d0b5f18bf333ff7f35fc8546dd58d227b12f Mon Sep 17 00:00:00 2001
|
||||
From: Tim Lunn <tim@feathertop.org>
|
||||
Date: Sat, 3 Feb 2024 18:38:49 +1100
|
||||
Subject: [PATCH] Apply fixes for mainline u-boot
|
||||
|
||||
---
|
||||
arch/arm/dts/rk3566-odroid-m1s.dts | 6 +-----
|
||||
configs/odroid-m1s-rk3566_defconfig | 1 -
|
||||
2 files changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/rk3566-odroid-m1s.dts b/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
index 73e29d80c7..2dba07ba19 100644
|
||||
--- a/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
+++ b/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
@@ -17,12 +17,8 @@
|
||||
|
||||
aliases {
|
||||
ethernet0 = &gmac1;
|
||||
- i2c0 = &i2c3;
|
||||
- i2c3 = &i2c0;
|
||||
mmc0 = &sdhci;
|
||||
mmc1 = &sdmmc0;
|
||||
- serial0 = &uart1;
|
||||
- serial1 = &uart0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -578,7 +574,7 @@
|
||||
disable-wp;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
||||
- sd-uhs-sdr50;
|
||||
+ sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc3v3_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig
|
||||
index d70a10dc08..61b6962063 100644
|
||||
--- a/configs/odroid-m1s-rk3566_defconfig
|
||||
+++ b/configs/odroid-m1s-rk3566_defconfig
|
||||
@@ -106,4 +106,3 @@ CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_DWC3_GENERIC=y
|
||||
CONFIG_FS_CRAMFS=y
|
||||
CONFIG_ERRNO_STR=y
|
||||
-CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x0800
|
||||
--
|
||||
2.40.1
|
||||
|
@@ -0,0 +1,44 @@
|
||||
From 2a1d8f586799e4166e802babcce18c9980aa1f44 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Lunn <tim@feathertop.org>
|
||||
Date: Thu, 1 Feb 2024 17:50:46 +1100
|
||||
Subject: [PATCH] Improve reliability of eMMC
|
||||
|
||||
Cherry-picked from:
|
||||
20240126232615.6826-2-jonas@kwiboo.se
|
||||
---
|
||||
arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi | 4 ----
|
||||
configs/odroid-m1s-rk3566_defconfig | 2 ++
|
||||
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi
|
||||
index 33a1d142b8..04d0cd17ef 100644
|
||||
--- a/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi
|
||||
@@ -14,11 +14,7 @@
|
||||
|
||||
&sdhci {
|
||||
cap-mmc-highspeed;
|
||||
- mmc-ddr-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
- mmc-hs400-1_8v;
|
||||
- mmc-hs400-enhanced-strobe;
|
||||
- pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig
|
||||
index 61b6962063..7920ef224d 100644
|
||||
--- a/configs/odroid-m1s-rk3566_defconfig
|
||||
+++ b/configs/odroid-m1s-rk3566_defconfig
|
||||
@@ -70,6 +70,8 @@ CONFIG_ROCKCHIP_GPIO=y
|
||||
CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
+CONFIG_MMC_HS200_SUPPORT=y
|
||||
+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_ROCKCHIP=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
--
|
||||
2.40.1
|
||||
|
@@ -0,0 +1,52 @@
|
||||
From 65a304151817626157e7be4e7e1581cdddca2a02 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Lunn <tim@feathertop.org>
|
||||
Date: Sat, 3 Feb 2024 23:42:47 +1100
|
||||
Subject: [PATCH] Fix ethernet properties
|
||||
|
||||
---
|
||||
arch/arm/dts/rk3566-odroid-m1s.dts | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/rk3566-odroid-m1s.dts b/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
index 2dba07ba19..73b545109d 100644
|
||||
--- a/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
+++ b/arch/arm/dts/rk3566-odroid-m1s.dts
|
||||
@@ -197,10 +197,9 @@
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
- assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
|
||||
- assigned-clock-rates = <0>, <125000000>;
|
||||
- assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
||||
- clock_in_out = "output";
|
||||
+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
||||
+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
||||
+ clock_in_out = "input";
|
||||
phy-handle = <&rgmii_phy1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <&vcc3v3_sys>;
|
||||
@@ -211,10 +210,9 @@
|
||||
&gmac1m1_rgmii_clk
|
||||
&gmac1m1_rgmii_bus
|
||||
&gmac1m1_clkinout>;
|
||||
- status = "okay";
|
||||
-
|
||||
tx_delay = <0x4f>;
|
||||
rx_delay = <0x2d>;
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
&gpu {
|
||||
@@ -496,6 +494,9 @@
|
||||
rgmii_phy1: 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>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
@@ -0,0 +1,98 @@
|
||||
part start ${devtype} ${devnum} hassos-bootstate mmc_env
|
||||
${devtype} dev ${devnum}
|
||||
|
||||
setenv loadbootstate " \
|
||||
echo 'loading env...'; \
|
||||
${devtype} read ${ramdisk_addr_r} ${mmc_env} 0x40; \
|
||||
env import -c ${ramdisk_addr_r} 0x8000;"
|
||||
|
||||
setenv storebootstate " \
|
||||
echo 'storing env...'; \
|
||||
env export -c -s 0x8000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \
|
||||
${devtype} write ${ramdisk_addr_r} ${mmc_env} 0x40;"
|
||||
|
||||
run loadbootstate
|
||||
test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B"
|
||||
test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3
|
||||
test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
|
||||
|
||||
# Allows ConditionFirstBoot=
|
||||
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}"
|
||||
|
||||
# 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"
|
||||
|
||||
part number ${devtype} ${devnum} hassos-boot boot_partnum
|
||||
|
||||
# Load environment from haos-config.txt
|
||||
if test -e ${devtype} ${devnum}:${boot_partnum} haos-config.txt; then
|
||||
fatload ${devtype} ${devnum}:${boot_partnum} ${ramdisk_addr_r} haos-config.txt
|
||||
env import -t ${ramdisk_addr_r} ${filesize}
|
||||
fi
|
||||
|
||||
# Load extraargs
|
||||
fileenv ${devtype} ${devnum}:${boot_partnum} ${ramdisk_addr_r} cmdline.txt cmdline
|
||||
|
||||
# Load device tree
|
||||
setenv fdtfile rk3566-odroid-m1s.dtb
|
||||
echo "Loading standard device tree ${fdtfile}"
|
||||
fatload ${devtype} ${devnum}:${boot_partnum} ${fdt_addr_r} ${fdtfile}
|
||||
fdt addr ${fdt_addr_r}
|
||||
|
||||
# load dt overlays
|
||||
fdt resize 65536
|
||||
for overlay_file in ${overlays}; do
|
||||
if fatload ${devtype} ${devnum}:${boot_partnum} ${ramdisk_addr_r} overlays/${overlay_file}.dtbo; then
|
||||
echo "Applying kernel provided DT overlay ${overlay_file}.dtbo"
|
||||
fdt apply ${ramdisk_addr_r} || setenv overlay_error "true"
|
||||
fi
|
||||
done
|
||||
if test "${overlay_error}" = "true"; then
|
||||
echo "Error applying DT overlays, restoring original DT"
|
||||
fatload ${devtype} ${devnum}:${boot_partnum} ${fdt_addr_r} ${fdtfile}
|
||||
fi
|
||||
|
||||
setenv bootargs
|
||||
for BOOT_SLOT in "${BOOT_ORDER}"; do
|
||||
if test "x${bootargs}" != "x"; then
|
||||
# skip remaining slots
|
||||
elif test "x${BOOT_SLOT}" = "xA"; then
|
||||
if test ${BOOT_A_LEFT} -gt 0; then
|
||||
setexpr BOOT_A_LEFT ${BOOT_A_LEFT} - 1
|
||||
echo "Trying to boot slot A, ${BOOT_A_LEFT} attempts remaining. Loading kernel ..."
|
||||
part number ${devtype} ${devnum} hassos-kernel0 kernel_partnum
|
||||
if load ${devtype} ${devnum}:${kernel_partnum} ${kernel_addr_r} Image; then
|
||||
setenv bootargs "${bootargs_hassos} ${bootargs_a} rauc.slot=A ${cmdline}"
|
||||
fi
|
||||
fi
|
||||
elif test "x${BOOT_SLOT}" = "xB"; then
|
||||
if test ${BOOT_B_LEFT} -gt 0; then
|
||||
setexpr BOOT_B_LEFT ${BOOT_B_LEFT} - 1
|
||||
echo "Trying to boot slot B, ${BOOT_B_LEFT} attempts remaining. Loading kernel ..."
|
||||
part number ${devtype} ${devnum} hassos-kernel1 kernel_partnum
|
||||
if load ${devtype} ${devnum}:${kernel_partnum} ${kernel_addr_r} Image; then
|
||||
setenv bootargs "${bootargs_hassos} ${bootargs_b} rauc.slot=B ${cmdline}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if test -n "${bootargs}"; then
|
||||
run storebootstate
|
||||
else
|
||||
echo "No valid slot found, resetting tries to 3"
|
||||
setenv BOOT_A_LEFT 3
|
||||
setenv BOOT_B_LEFT 3
|
||||
run storebootstate
|
||||
reset
|
||||
fi
|
||||
|
||||
echo "Starting kernel"
|
||||
booti ${kernel_addr_r} - ${fdt_addr_r}
|
||||
|
||||
echo "Boot failed, resetting..."
|
||||
reset
|
@@ -0,0 +1 @@
|
||||
|
@@ -1 +1 @@
|
||||
console=tty0 console=ttyAML0,115200n8
|
||||
console=ttyAML0,115200n8 console=tty0
|
||||
|
@@ -3,8 +3,6 @@
|
||||
|
||||
function hassos_pre_image() {
|
||||
local BOOT_DATA="$(path_boot_dir)"
|
||||
local UBOOT_G12B="${BINARIES_DIR}/u-boot.g12b"
|
||||
local SPL_IMG="$(path_spl_img)"
|
||||
|
||||
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
|
||||
cp "${BINARIES_DIR}"/*.dtb "${BOOT_DATA}/"
|
||||
@@ -13,11 +11,6 @@ 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_G12B}" of="${SPL_IMG}" conv=notrunc bs=512 seek=1
|
||||
}
|
||||
|
||||
|
||||
|
@@ -0,0 +1,13 @@
|
||||
image spl.img {
|
||||
size = ${BOOT_SPL_SIZE}
|
||||
|
||||
hdimage {
|
||||
partition-table-type = "none"
|
||||
fill = "yes"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
offset = 512
|
||||
image = "u-boot.g12b"
|
||||
}
|
||||
}
|
@@ -1,3 +1,4 @@
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
|
||||
CONFIG_THERMAL_GOV_BANG_BANG=y
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user