Использование собственного (переносимого) файла 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
команды.