Update tooling for custom kernels (#6)

Improve support for custom device trees when kernel updates are received

* Modified make-trees.sh so that it builds for all installed kernels.
* A new script flash-latest.sh that copies the resulting .dtb files into the /etc/flash-kernel/dtbs/ override folder.

The build-trees README is updated for this, and shows how to configure flash-kernel to use the custom .dtbs.

Kernel upgrade should now go:

[after a new kernel upgrade is installed]
* Upgrade source: cd source && apt source linux-riscv
* Build dtb's: cd build-trees &&; ./make_dtbs.sh
* Install device tree via softlinks ./flash_latest.sh
* Reboot
This commit is contained in:
Owen Carter
2024-09-19 14:52:55 +02:00
committed by GitHub
parent 9f11caaf73
commit 520118f143
18 changed files with 1469 additions and 240 deletions
+21 -21
View File
@@ -2,27 +2,27 @@
MangoPI MQ Pro GPIO header (dtb name: MangoPi MQ Pro)
Gpio Header:
func des pin pin des func
3v3 1 --o o-- 2 5v
i2c0.sda (2502000.i2c:205) PG13 3 --o o-- 4 5v
i2c0.sck (2502000.i2c:204) PG12 5 --o o-- 6 gnd
free (39) PB7 7 --o o-- 8 PB8 uart0.tx (2500000.serial:40)
gnd 9 --o o-- 10 PB9 uart0.rx (2500000.serial:41)
free (117) PD21 11 --o o-- 12 PB5 uart5.rx (2501400.serial:37)
free (118) PD22 13 --o o-- 14 gnd
free (32) PB0 15 --o o-- 16 PB1 free (33)
3v3 17 --o o-- 18 PD14 uart3.cts (2500c00.serial:110)
free (108) PD12 19 --o o-- 20 gnd
uart3.rts (2500c00.serial:109) PD13 21 --o o-- 22 PC1 uart2.rx (2500800.serial:65)
uart3.rx (2500c00.serial:107) PD11 23 --o o-- 24 PD10 uart3.tx (2500c00.serial:106)
gnd 25 --o o-- 26 PD15 free (111)
i2c3.sda (2502c00.i2c:145) PE17 27 --o o-- 28 PE16 i2c3.sck (2502c00.i2c:144)
free (42) PB10 29 --o o-- 30 gnd
free (43) PB11 31 --o o-- 32 PC0 uart2.tx (2500800.serial:64)
free (44) PB12 33 --o o-- 34 gnd
free (38) PB6 35 --o o-- 36 PB2 uart4.tx (2501000.serial:34)
free (113) PD17 37 --o o-- 38 PB3 uart4.rx (2501000.serial:35)
gnd 39 --o o-- 40 PB4 uart5.tx (2501400.serial:36)
func des pin pin des func
3v3 1 --o o-- 2 5v
i2c0.sda (2502000.i2c:205) PG13 3 --o o-- 4 5v
i2c0.sck (2502000.i2c:204) PG12 5 --o o-- 6 gnd
free (39) PB7 7 --o o-- 8 PB8 uart0.tx (2500000.serial:40)
gnd 9 --o o-- 10 PB9 uart0.rx (2500000.serial:41)
free (117) PD21 11 --o o-- 12 PB5 uart5.rx (2501400.serial:37)
free (118) PD22 13 --o o-- 14 gnd
free (32) PB0 15 --o o-- 16 PB1 free (33)
3v3 17 --o o-- 18 PD14 uart3.cts (2500c00.serial:110)
free (108) PD12 19 --o o-- 20 gnd
uart3.rts (2500c00.serial:109) PD13 21 --o o-- 22 PC1 uart2.rx (2500800.serial:65)
uart3.rx (2500c00.serial:107) PD11 23 --o o-- 24 PD10 uart3.tx (2500c00.serial:106)
gnd 25 --o o-- 26 PD15 free (111)
i2c3.sda (2502c00.i2c:145) PE17 27 --o o-- 28 PE16 i2c3.sck (2502c00.i2c:144)
free (42) PB10 29 --o o-- 30 gnd
free (43) PB11 31 --o o-- 32 PC0 uart2.tx (2500800.serial:64)
free (44) PB12 33 --o o-- 34 gnd
free (38) PB6 35 --o o-- 36 PB2 uart4.tx (2501000.serial:34)
free (113) PD17 37 --o o-- 38 PB3 uart4.rx (2501000.serial:35)
gnd 39 --o o-- 40 PB4 uart5.tx (2501400.serial:36)
Other gpio outputs of interest:
-- PD18: Blue Status Led - gpio (2000000.pinctrl:114)
+104 -6
View File
@@ -211,11 +211,109 @@
pins = "PB4", "PB5";
function = "uart5";
};
/omit-if-no-ref/
pwm0_pb5_pin: pwm0-pb5-pin {
pins = "PB5";
function = "pwm0";
};
/omit-if-no-ref/
pwm0_pb12_pin: pwm0-pb12-pin {
pins = "PB12";
function = "pwm0";
};
/omit-if-no-ref/
pwm0_pg12_pin: pwm0-pg12-pin {
pins = "PG12";
function = "pwm0";
};
/omit-if-no-ref/
pwm1_pb6_pin: pwm1-pb6-pin {
pins = "PB6";
function = "pwm1";
};
/omit-if-no-ref/
pwm1_pd17_pin: pwm1-pd17-pin {
pins = "PD17";
function = "pwm1";
};
/omit-if-no-ref/
pwm2_pb11_pin: pwm2-pb11-pin {
pins = "PB11";
function = "pwm2";
};
/omit-if-no-ref/
pwm2_pg13_pin: pwm2-pg13-pin {
pins = "PG13";
function = "pwm2";
};
/omit-if-no-ref/
pwm3_pb0_pin: pwm3-pb0-pin {
pins = "PB0";
function = "pwm3";
};
/omit-if-no-ref/
pwm4_pb1_pin: pwm4-pb1-pin {
pins = "PB1";
function = "pwm4";
};
/omit-if-no-ref/
pwm5_pb8_pin: pwm5-pb8-pin {
pins = "PB8";
function = "pwm5";
};
/omit-if-no-ref/
pwm5_pd21_pin: pwm5-pd21-pin {
pins = "PD21";
function = "pwm5";
};
/omit-if-no-ref/
pwm6_pb9_pin: pwm6-pb9-pin {
pins = "PB9";
function = "pwm6";
};
/omit-if-no-ref/
pwm7_pb10_pin: pwm7-pb10-pin {
pins = "PB10";
function = "pwm7";
};
/omit-if-no-ref/
pwm7_pd22_pin: pwm7-pd22-pin {
pins = "PD22";
function = "pwm7";
};
/omit-if-no-ref/
pwm7_pe16_pin: pwm7-pe16-pin {
pins = "PE16";
function = "pwm7";
};
};
/* Disabled
/* disabled
&pwm {
pinctrl-0 = <&pwm0_pb12_pin>, <&pwm1_pb6_pin>, <&pwm2_pb11_pin>, <&pwm4_pb1_pin>;
pinctrl-names = "default";
status = "okay";
};
*/
/* disabled
&spi1 {
pinctrl-0 = <&spi1_pd_pins>; // conflicts uart3
pinctrl-0 = <&spi1_pd_pins>; // can conflict uart3
pinctrl-names = "default";
status = "okay";
};
@@ -227,9 +325,9 @@
status = "okay";
};
/* Disabled
/* disabled
&i2c1 {
pinctrl-0 = <&i2c1_pb4_pins>; // conflicts uart5
pinctrl-0 = <&i2c1_pb4_pins>; // can conflict uart5
pinctrl-names = "default";
status = "okay";
};
@@ -244,7 +342,7 @@
*/
&i2c2 {
pinctrl-0 = <&i2c2_pc0_pins>; // conflicts uart2
pinctrl-0 = <&i2c2_pc0_pins>; // can conflict uart2
pinctrl-names = "default";
status = "okay";
};
@@ -288,7 +386,7 @@
status = "okay";
};
/* Disabled
/* disabled
&uart3 {
pinctrl-0 = <&uart3_pb6_pins>;
pinctrl-names = "default";