Releases: RadxaMitchell/overlays
0.1.17
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlay dkms package
Due to the much more frequent development happening on the overlay compared to
the kernel in general, we are once again splitting the overlay into a dedicated package.
However, to guarantee the overlay is compatible with the installed kernel, this
package will be delivered as a source code package using dkms, instead of a prebuilt
binary package.
You can build the dkms package using the below commands:
sudo apt-get update
sudo apt-get build-dep --no-install-recommends -y .
make all deb
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
This is how overlays were distributed previously as part of the kernel package.
We are still supporting this for older kernels. Newer kernels like Rockchip 6.1
kernel will use the above dkms package instead.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make build-dtbo -j$(nproc)
Please be aware this only builds a subset of overlays, and any overlays that depend on vendor headers will fail,
as this command will use the current system's kernel header.
Please take a look at the CI workflow to see how to select installed vendor kernel header.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit the DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human-readable description and conflict detection. Below is a sample metadata
node with detailed guidelines:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field defined. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every product using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If an overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi-line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help the user connecting their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.17
radxa-overlays (0.1.17) jammy; urgency=medium
.
[ Ken Wang ]
* add some overlays support for rock 5t
.
[ Chen Jiali ]
* feat: add rockchip-uart-dma
.
[ ZHANG Yuntian ]
* fix: correctly disable FIQ debugger
* refactor: reuse existing FIQ debugger overlay
* feat: add pcf8563 overlay
.
[ Nascs Fang ]
* feat: add PCIe2x1 on rock 3a
.
[ vickash ]
* Add zero3 to rk3568-i2c5-m0.dts
* Add rock-3c to rk3568-i2c5-m0.dts
0.1.16
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlay dkms package
Due to the much more frequent development happening on the overlay compared to
the kernel in general, we are once again splitting the overlay into a dedicated package.
However, to guarantee the overlay is compatible with the installed kernel, this
package will be delivered as a source code package using dkms, instead of a prebuilt
binary package.
You can build the dkms package using the below commands:
sudo apt-get update
sudo apt-get build-dep --no-install-recommends -y .
make all deb
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
This is how overlays were distributed previously as part of the kernel package.
We are still supporting this for older kernels. Newer kernels like Rockchip 6.1
kernel will use the above dkms package instead.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make build-dtbo -j$(nproc)
Please be aware this only builds a subset of overlays, and any overlays that depend on vendor headers will fail,
as this command will use the current system's kernel header.
Please take a look at the CI workflow to see how to select installed vendor kernel header.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit the DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human-readable description and conflict detection. Below is a sample metadata
node with detailed guidelines:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field defined. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every product using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If an overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi-line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help the user connecting their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.16
radxa-overlays (0.1.16) jammy; urgency=medium
.
[ Chen Jiali ]
* feat: rk3588: add two i2s2 sound card
.
[ Ken Wang ]
* update some overlays for radxa cm5 io
0.1.12
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlay dkms package
Due to the much more frequent development happening on the overlay compared to
the kernel in general, we are once again splitting the overlay into a dedicated package.
However, to guarantee the overlay is compatible with the installed kernel, this
package will be delivered as a source code package using dkms, instead of a prebuilt
binary package.
You can build the dkms package using the below commands:
sudo apt-get update
sudo apt-get build-dep --no-install-recommends -y .
make all deb
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
This is how overlays were distributed previously as part of the kernel package.
We are still supporting this for older kernels. Newer kernels like Rockchip 6.1
kernel will use the above dkms package instead.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make -j$(nproc)
Please be aware this only builds a subset of overlays, and any overlays that depend on vendor headers will fail. This is because the Makefile is intended to find overlays that are incompatible with the upstream kernel.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit the DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human-readable description and conflict detection. Below is a sample metadata
node with detailed guidelines:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field defined. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every product using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If an overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi-line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help the user connecting their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.12
radxa-overlays (0.1.12) jammy; urgency=medium
.
[ Feng Zhang ]
* rock 5d: add antenna toggle switch
.
[ ZHANG Yuntian ]
* feat: add overlays to turn off power supply to ROCK 4 USB ports
* feat: add missing RK3399 PWM overlays
* fix: do not disable regulator to override power
* fix: update USB regulator overlay description
.
[ Nascs Fang ]
* fix: remove i2c4-m3 from rock-5b-plus
* feat: open i2c8-m4 for rock-5b-plus
* feat: open uart4-m2 for rock-5b-plus
.
[ SongJun Li ]
* feat: add rock 2f to the overlays of the rk3528 series
* feat: add medge-rk3528a io board to the overlays of the rk3528 series
.
[ Stephen Chen ]
* feat: radxa-e52c: add support for setting usb host and peripheral mode
0.1.10
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlay dkms package
Due to the much more frequent development happening on the overlay compared to
the kernel in general, we are once again splitting the overlay into a dedicated package.
However, to guarantee the overlay is compatible with the installed kernel, this
package will be delivered as a source code package using dkms, instead of a prebuilt
binary package.
You can build the dkms package using the below commands:
sudo apt-get update
sudo apt-get build-dep --no-install-recommends -y .
make all deb
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
This is how overlays were distributed previously as part of the kernel package.
We are still supporting this for older kernels. Newer kernels like Rockchip 6.1
kernel will use the above dkms package instead.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make -j$(nproc)
Please be aware this only builds a subset of overlays, and any overlays that depend on vendor headers will fail. This is because the Makefile is intended to find overlays that are incompatible with the upstream kernel.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit the DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human-readable description and conflict detection. Below is a sample metadata
node with detailed guidelines:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field defined. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every product using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If an overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi-line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help the user connecting their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.10
radxa-overlays (0.1.10) jammy; urgency=medium
.
[ Feng Zhang ]
* arm64: rockchip: add rock 5d overlays
.
[ Ken Wang ]
* add radxa cm5 io rpi camera v13 and update csi0 camera-module-index
* add radxa camera 8m 219 for rock 5a/b
0.1.8
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
The official overlays are built in-tree, and is delivered as part of the kernel package.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make -j$(nproc)
Please be aware this only build a subset of overlays, and any overlays that depend on vendor headers will fail. This is because the Makefile is intended to find overlays that are incompatible with upstream kernel.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each indvidual run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human readable description and conflict detection. Below is a sample metadata
node with detailed guidelines after:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every products using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If a overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help user to connect their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.8
radxa-overlays (0.1.8) jammy; urgency=medium
.
[ CodeChenL ]
* feat: add rk3588-mali-enable
0.1.7
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
The official overlays are built in-tree, and is delivered as part of the kernel package.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make -j$(nproc)
Please be aware this only build a subset of overlays, and any overlays that depend on vendor headers will fail. This is because the Makefile is intended to find overlays that are incompatible with upstream kernel.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each indvidual run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human readable description and conflict detection. Below is a sample metadata
node with detailed guidelines after:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every products using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If a overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help user to connect their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.7
radxa-overlays (0.1.7) jammy; urgency=medium
.
[ Alvin Xie ]
* feat: add radxa zero3 poe overlay
* feat: add rock 2a radxa poe overlay
* fix: add pcie power supply for rock 2a pcie overlay
.
[ Ken Wang ]
* overlays: delete duplicate dts
* add rk3588-disable-sdhci
.
[ Nascs Fang ]
* feat: add i2c7-m3 for rock 5a and rock 5c
.
[ CodeChenL ]
* fix: installation with deb without compile rk3588 can overlays
0.1.6
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
The official overlays are built in-tree, and is delivered as part of the kernel package.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make -j$(nproc)
Please be aware this only build a subset of overlays, and any overlays that depend on vendor headers will fail. This is because the Makefile is intended to find overlays that are incompatible with upstream kernel.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each indvidual run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human readable description and conflict detection. Below is a sample metadata
node with detailed guidelines after:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every products using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If a overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help user to connect their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.6
radxa-overlays (0.1.6) jammy; urgency=medium
.
[ ZHANG Yuntian ]
* feat: add radxa-zero-emmc-full-speed.dts
* format: use multiline text instead of \n
* fix: use constant instead of magic numbers
* format: reorder overlays alphabetically
* feat: add CM3 LVDS overlay
.
[ Alvin Xie ]
* rock 5a/5c: modify rpi 7inch display proch
* rock 5c: add spi module support
.
[ RadxaMitchell ]
* update rk3588-i2c6-m0.dts
* fix: rk3588-spi0-m1-cs0-mcp2515-8mhz.dts
.
[ Feng Zhang ]
* arm64: overlays: Add overlay description for rock 5c
0.1.5
overlays
Additional device tree overlays to support different hardware on Radxa products
Build overlays in-tree
You will need this patch so this repo can be built with the kernel.
The official overlays are built in-tree, and is delivered as part of the kernel package.
Build overlays locally
First, make sure you have the running kernel header, gcc
, and device-tree-compiler
installed.
You can then run the following command to build overlays:
make -j$(nproc)
Please be aware this only build a subset of overlays, and any overlays that depend on vendor headers will fail. This is because the Makefile is intended to find overlays that are incompatible with upstream kernel.
To delete built overlays, run the following command:
make clean
Download prebuilt artifacts
As part of our CI pipeline, the built overlays are uploaded at the end. You can find all CI runs here, and the artifact is located inside each indvidual run.
Please be aware that artifacts expire over time, and they are not officially tested versions.
Code style
We mandate reference style for our overlays. Please visit DTO Syntax page to learn more.
If your existing overlay uses target-path
, then the Android documentation does not show a clear migration path. Below is an example of how to convert them:
/{
fragment@0 {
target-path = "/";
__overlay__ {
some_node: some-node {
some_prop = "okay";
...
};
};
};
}
&{/} {
some_node: some-node {
some_prop = "okay";
...
};
}
Metadata specs
Currently, we mandate a custom metadata
node in overlays. This data is parsed by rsetup
to provide a human readable description and conflict detection. Below is a sample metadata
node with detailed guidelines after:
/ {
metadata {
title = "Enable ENC28J60 on SPI2";
category = "misc";
compatible = "unknown";
description = "Enable Microchip ENC28J60 SPI Ethernet controller on SPI2.\nINT=40";
exclusive = "GPIO2_B3", "GPIO2_B2", "GPIO2_B1", "GPIO2_B4", "GPIO4_A7";
package = "dkms-enc28j60";
};
};
A. Title (string)
title
should not contain the product name.
rsetup
will only show compatible overlays withcompatible
field. As such, do not confuse users to second guess if an overlay is truly compatible when the product name is not explicitly mentioned.title
should not end with a period.
B. Category (string)
category
currently can be one of the following:
camera, display, misc
C. Compatible (array)
compatible
should not be an SoC unless it is truly compatible with every products using that SoC.
rsetup
will match the base device tree'scompatible
with the overlay'scompatible
. As long as one value from each match, the overlay is considered compatible. Since most products' device tree contains their SoC incompatible
, setting SoC in overlay'scompatible
will make it compatible with every such product.
Explicit products list should be preferred to generic SoC matching.- If a overlay is broken,
compatible
should beunknown
.
D. Description (string)
description
is a multi line text to describe the function of the overlay. It can be the same astitle
with an ending period.- Newline in
description
should use\n
. - Hardware parameters should be listed at the end to help user to connect their devices.
E. Exclusive (array)
exclusive
should refer to the device tree node and property.- For features that are muxed to a GPIO line,
exclusive
should be the GPIO ID. - For features that use multiple GPIO lines, they should all be listed under
exclusive
.
F. Package (array)
package
specify the additional packages to be used with this overlay.- When the overlay is disabled, the specified package will NOT be removed.
Changelog for 0.1.5
radxa-overlays (0.1.5) jammy; urgency=medium
.
[ Nascs Fang ]
* rock 3c: add exclusive for i2c3
* rockchip: extracted from waveshare35 public section
.
[ Radxa-Alvin ]
* rk3568 npu add rock 3c and zero3 support
.
[ Alvin Xie ]
* zero3: add radxa camera 8m
* add cs003 display
.
[ Ken Wang ]
* radxa cm5 rpi cm4 io: modify camera config for dual cameras
* add and update overlays for radxa-cm5-rpi-cm4-io
* modify rock5b+ display backlight pwm polarity
* add and update some overlays for rock5itx