Использование собственного (переносимого) файла DTB
Примечание: я знаю, что вы упоминаете вместо «default- bright -level», но если создается файл dtb, то его можно использовать для сохранения конфигурации, сохраненной вне ядра (т. Е. Можно заменить другим файл без перестройки ядра).
Если у вас есть доступ к файлу dtsi, из которого было построено ядро, вы можете изменить значение в соответствующем разделе. Этот файл должен находиться в каталоге arch/arm/boot/dts
для исходного кода ядра.
На том же уровне, что и compatible = "pwm-backlight"
, также есть default-brightness-level
по умолчанию . Измените это значение на значение по своему вкусу (оно соответствует индексу массива brightness-levels
. Например:
backlight_lvds {
compatible = "pwm-backlight";
pwms = <&pwm4 0 500000>;
brightness-levels = <100 75 60 50 40 30 20 10 5 0>;
/* Default brightness level (index into the array defined by the "brightness-levels" property) */
default-brightness-level = <5>;
status = "okay";
};
Затем вы можете скомпилировать dtsi в файл dtb, который включен в ваш загрузочный раздел. Компиляция с использованием команды make dtbs
. Что-то вроде:
cd ~/MyOS/kernel_imx
export CROSS_COMPILE=`pwd`/../prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
make myboard_defconfig
make dtbs
Выходной файл dtb затем ссылается в вашем скрипте загрузчика. Например, для UBoot это:
setenv dtbname myCustom.dtb
myCustom.dtb
- это вывод команды make dtbs
.