This is a repository for DT overlays and TI kernel config fragments.
master
branch is the development branch and works with Linus' upstream master
branch.
When Linus tags a new kernel version, a branch will be created for that kernel version, e.g. linux-5.7.y
. If stable releases for that kernel version will cause breakage with DT or configs, which is unlikely but possible, the patches can be added to linux-5.7.y
to make it work with latest stable of that version.
ti-linux-x.y.z
branch is the development branch that works with the TI productized ti-linux-x.y.z
kernel branch. When the kernel ti-linux branch is tagged this repo and branch will be tagged with the corresponding tag.
Patches to the overlays should always be submitted to the master
branch and if applicable back ported to the ti-linux-x.y.z
branch. Only patches that are applicable to the ti-linux-x.y.z
features should be submitted to that branch.
The makefile does two things:
Linux directory can be given with LINUX=dir
. If LINUX is undefined, Makefile will look for Linux directory from the current dir or <projectdir>/../linux/
dtc compiler will be taken from $LINUX/scripts/dtc/dtc
but can be overridden with DTC variable. Note that if you use dtc from the kernel directory, you need to have built it first (e.g. make dtbs
in kernel).
Output path can be given the same way as when building the kernel, with O=dir
ARCH variable can be used to build a single arch instead of all, e.g. ARCH=arm64
The Makefile has test
target which applies overlays to base dtb using fdtapply
and reports if the apply succeeded. The Makefile has a list of base-dts + overlay-dtbos to define how to apply the overlays.
This provides an easy way to test if overlays apply correctly. When adding new overlays, also add new test targets to the Makefile.
config directory contains defconfig_builder.sh. The Linux directory can be given with -k option. If Linux directory is not given, the script will look for Linux directory from the current dir or <projectdir>/../linux/
Linux sources in ~/work/linux and this project in ~/work/linux-dt
$ cd ~/work/linux $ ../linux-dt/config/defconfig_builder.sh (select a defconfig) $ make ti_sdk_dra7x_debug_defconfig $ make $ make -C ../linux-dt The symbol-enabled dtbs and dtbos are now under ~/work/linux-dt/arch/...