diff --git a/device/community/device-nokia-n900/10-initfs-input.files b/device/community/device-nokia-n900/10-initfs-input.files index 043ea8296..39e477160 100644 --- a/device/community/device-nokia-n900/10-initfs-input.files +++ b/device/community/device-nokia-n900/10-initfs-input.files @@ -7,3 +7,6 @@ # touchscreen calibration /usr/lib/udev/rules.d/90-touchscreen-dev.rules + +# volume key remapping +/etc/udev/hwdb.bin diff --git a/device/community/device-nokia-n900/APKBUILD b/device/community/device-nokia-n900/APKBUILD index a12c59b31..b0d58d659 100644 --- a/device/community/device-nokia-n900/APKBUILD +++ b/device/community/device-nokia-n900/APKBUILD @@ -1,7 +1,7 @@ # Reference: maintainer="Danct12 " pkgname=device-nokia-n900 -pkgver=55 +pkgver=56 pkgrel=0 pkgdesc="Nokia N900" url="https://postmarketos.org" @@ -51,7 +51,6 @@ source=" device-nokia-n900.start deviceinfo etc-profile.d-25wlr-pixman.sh - modules-initfs i3blocks/i3blocks.conf i3blocks/scripts/battery-bq27200 i3blocks/scripts/calendar @@ -66,11 +65,12 @@ source=" keymaps/rx51_it.map keymaps/rx51_ptes.map keymaps/rx51_us.map - screenlock.sh modem-load.conf modem-opts.conf modules.blocklist + modules-initfs pointercal + screenlock.sh sway/etc-sway-config.d-n900-status.conf sway/etc-sway-config.d-nokia-n900.conf sway/etc-xdg-foot-foot.ini @@ -79,6 +79,8 @@ source=" udev/15-bq27k.rules udev/90-touchscreen-dev.rules upower.conf + usr-lib-udev-hwdb.d-99-n900-volume-keys.hwdb + usr-share-mkinitfs-hooks-01-omap-disable-idle.sh xkb-keymap xorg.conf xresources @@ -115,6 +117,8 @@ package() { "$pkgdir"/usr/share/mkinitfs/files/10-initfs-input.files install -Dm644 "$srcdir"/10-initfs-keymap.sh \ "$pkgdir"/usr/share/mkinitfs/hooks/10-initfs-keymap.sh + install -D -m644 "$srcdir"/usr-share-mkinitfs-hooks-01-omap-disable-idle.sh \ + "$pkgdir"/usr/share/mkinitfs/hooks/01-omap-disable-idle.sh install -Dm755 "$srcdir"/$pkgname.start \ "$pkgdir"/etc/local.d/$pkgname.start install -Dm755 "$srcdir"/bq27k-monitor.sh \ @@ -122,13 +126,15 @@ package() { install -Dm755 "$srcdir"/screenlock.sh \ "$pkgdir"/usr/bin/screenlock.sh - # Udev rules + # Udev & hwdb rules install -D -m644 "$srcdir"/90-touchscreen-dev.rules \ "$pkgdir"/usr/lib/udev/rules.d/90-touchscreen-dev.rules install -D -m644 "$srcdir"/10-nokia-modem.rules \ "$pkgdir"/usr/lib/udev/rules.d/10-nokia-modem.rules install -D -m644 "$srcdir"/15-bq27k.rules \ "$pkgdir"/usr/lib/udev/rules.d/15-bq27xxx-battery.rules + install -D -m644 "$srcdir"/usr-lib-udev-hwdb.d-99-n900-volume-keys.hwdb \ + "$pkgdir"/usr/lib/udev/hwdb.d/99-n900-volume-keys.hwdb # Keymap install -D -m644 "$srcdir"/keymaps/rx51_us.bmap.gz \ @@ -257,7 +263,7 @@ wayland() { } sha512sums=" -4887bc1f9a3559614bf3092511114be4a824a4e94bec6dfda31f52b877f92b38164568c8223cab22234a1edf818f9e3b4af0d7f7244c9880bc3399fa4cb0ce37 10-initfs-input.files +a37c53a6fcf9559ce439ed4a56659375deb1722af1114d99d3c5a718d29684d3bd5ce49f9d8ff2fc7afcc66c36ab7eca8e987e7931700d406a3e874f5bdf26fc 10-initfs-input.files 4656d3b3ced0a86e2d6315c89322899f646a689e9cb64609aa8ad5a676b23d93706d8a37f3be6f6b12c6b1e8501b7d26ecafecf27322333850513a6805c61910 10-initfs-keymap.sh 2e6c324c2a0627fb37ee2feff249d6c828116a9c1a32d572481dddc12648c98b726eb3a475838398742f76a60e3f2249d7707502360473b8bf2e794bf22f57ce acpi.map eef1f3d5fab1148af498607d3bc7c6a866b61d808d2b90a4ea3e360d5fef779070380670431b67bd3d87111bc7d0e877ef9ab656f4de17c3071cfc360a2746e3 acpi_handler.sh @@ -269,7 +275,6 @@ c5b8e03ca9f720a794f2593a3e938640cbd91ac44dd761079bbf4614a0d288a9d7b72de8ed2493c0 e6bbac8de1a198ba716f44ade76606e1e0adcc574156b855ac41be5eb5308389d3277fd89cc34b119fbc33d9801ab9f79a6ff213392596bff40bc17e931c05ef device-nokia-n900.start b1ebed32232ca1890ed6a47372ce45f4ee004fcb76defc6f67048cfa7361d6e02ebd365a6370ba7c26d410e67926a6fada863f07aa18d7098dbdea1a3b057415 deviceinfo 1c7499eb84948eb5b73d58474b1b71a5f2f63116a2a3e1f9a4238064dcf6c152ccefa108bd4ab1074712a2319111c8fdd4bfcf0dbe4d26b5a319404def1b11d2 etc-profile.d-25wlr-pixman.sh -4efca73b4053e00b2a24ef3e79ead3da43b0e6db4f3447721fa9084b1c280e65f1ddaadd390d6073e26b6c635bb14f804fcf3c54d8ebf9df73eff80deff59d80 modules-initfs a8152e94262629e11abdd8809d187c3b7ed1866a6128fb1f435e17e72120536ac8114262e66df6decb2627743027f2b923ddbe8a94e3e844099b6fad02ec252b i3blocks.conf 8a35a4ea9de9a30a5c1a5f01f8a8d211a7dbd43b77773eaf904fe633d4f9d1b0641c0b81493599af2b5cefefb6947c9c9d7a4d633d041f3503394dbfa90cf4f5 battery-bq27200 d9ef88c714e9fce8822f63b7a9d7fc3e1ed472c8c876b44ba524d44efea322839f13ddd2fa652420608427ecf7279bfaac302c9b67667f32796ca21da332164d calendar @@ -284,19 +289,22 @@ dc585e11bf4e06e36c5c62bcc024eaacecc30437d9da5257df14be05e247a2f2bc208874be3058ed 082a5166e38296b097e873b0b4aeaf007e594d3bf4470c74e91ee3efedcf28ad25cd55c23dd63e460339898ae08e77e111b0e1092fa5e661db90bb40732103a1 rx51_it.map 6e4e8b10a41d0957968736f5d780f14c7070b03913d80859cb07180e9cec9a36bbc9c639748765e48962772640974f5491627520cc36bd3d6c9d01748f9ddaff rx51_ptes.map e440ed7a3070c17e003b86b72dbe6d8194d01b577ca8dd56dd066f216b6dda32bb965c780950f1789a66f7c948290016b048da9f1cf63aba9e11d7e7fd6873ba rx51_us.map -580753dfe302024cac6260be6aa0472f6fcca2899e31b41fae23e48a34e49ed482a7170a4ec38978618c0b222b28988d6f7e77e38f4bf7bcd72da98b9b5d7070 screenlock.sh 157b27feebcfddf800a1ffd8c6e369d2b58e5db25b1a44b4443dada8d9fe74abb91d036b9f0e97769bbafbdc72020b5637313682c6932fe7b0bddb9ebebbad42 modem-load.conf 695feac7f69a0ec8c5e007cdb651adcc3492f1c6236e7fd183edec2a5e25cb957d3ace630ea5fdb87fd703e35ac368f1d097c2f881ecb52c9cfd433564db2a6c modem-opts.conf 862ebc7cd2d7a1b3d41b10701b8418308c89eb0732eb99c42ec1091d48e08db9421727f67a3272b7309549798d59afb1b8d7d2fa48d1447b208fcb2329472d4d modules.blocklist +4efca73b4053e00b2a24ef3e79ead3da43b0e6db4f3447721fa9084b1c280e65f1ddaadd390d6073e26b6c635bb14f804fcf3c54d8ebf9df73eff80deff59d80 modules-initfs 143c21f0b18a016d37cb44178e9daea09f128a90769b48353c03c3f245cb9b1f7e773b9ccee084973fc78ddd7a18c2642e54888a85bda7c7daecddc9a8c62eff pointercal +580753dfe302024cac6260be6aa0472f6fcca2899e31b41fae23e48a34e49ed482a7170a4ec38978618c0b222b28988d6f7e77e38f4bf7bcd72da98b9b5d7070 screenlock.sh 3ec2e28a59298ad87ece5205be37b6e07c5f0f3bd0a98022f9f6824500444792cb06425bfbb62c9503c3072183f2d571c8504b6f23054062bb082c7a5b125a2b etc-sway-config.d-n900-status.conf 1e6939c583372dd4d493e1e2cfb6a4758a17606edd262d322bc01b2d3d76de4370581954f22f6ac976d86e87aab0979b2233e1c75780aeaff0670ea25dba62ca etc-sway-config.d-nokia-n900.conf 45da074b597a47825146ae1f3712538210e2ebe1c459f98a8189ccfc7c16ed54d221999b5890785c92aa750c6295dee7e920ef7f97d415d4212f8c0fea29169f etc-xdg-foot-foot.ini -42f916d87dd305111028992a1107bf6fe108bebbd782ae8edd065e76505db2b3a75e57515970c3e40cb0d1b7e83097a1bba92785be13df7c3fd80959a8d9c5c1 uboot-script.cmd +4be9626cd2ad96730671e145aba9473b8bb7e62b7dec109eb87b4c748e5ac8fcb7cb0deeecc2a07f6fc9e9a598dbd438e02ad32d21e13d109ed7fecfb29904cc uboot-script.cmd 465b9a0d2b46d0981c64b47cb1f656c2456a90b91b1751a2efad10af38a96030dd99108b1fd76ce31bf1ea0f236d55bed38b114d6bd712f09f8968de034c946c 10-nokia-modem.rules 1acc441b9f83dc91fd65fa3f89b8205bfd72a465286bc181b4e7e92dd4b8c0bc5c20a18dab46ff3ee8ae70940efd7d767b3dfb920edb4c74377bd418b838693d 15-bq27k.rules c6012aef28b096141b924fced226ec99fb93eb53b69c064a8887d8fecdf8dc08a3ba3db399e18d88374c6ef4c59013a30699c7e4d76e5cb771040582573a0527 90-touchscreen-dev.rules 1087d9699f6c4325a1d7ba2e6faf7fda87953fc0d3b0ef97de1da05187ba8f942f78806916cfb2ae9456fa2e63b2adf08e1e8118dc834c31a677755bab0fbf9a upower.conf +662d00f1ea0874037ccb573eb36ac0ed715f057ae40adb52319c358d06e81a4d8764dd39542374006546f66196d13262b5d7f66b0540c367469f003981dfb53a usr-lib-udev-hwdb.d-99-n900-volume-keys.hwdb +73dc0f29a97994e7efe0a2c8906f75099b2bca1d660f58ae50b44d3f00eec0cee2a89541a80a4de0f276605ef36a576dd757f0cd9a9a4fd47b535b9400a83526 usr-share-mkinitfs-hooks-01-omap-disable-idle.sh 4de54d007bd354461fe4d6d455fe3f29694c132a3996c79b68070d606b5ca1839f9027202ebb731035f0bf6504b42fbd5ab15c7b47b7f308ce768a84d45024c4 xkb-keymap a91f98daa60efa2beb2ff6b405097f92edca5f1bbb9e7675499139be52ca2570712f8f06f9032ef29f636f99c8f8da8b992f746eab6424aac04260c16158bcc2 xorg.conf 183dfdd545ba05e216209b1abe45e4af4e0ee16b2e73cff0e7ea7b9524ee35a1cf85213a77f32a1a94287aee6546885dbd71c6de1f4f1a1e2961e638ff27cdf6 xresources diff --git a/device/community/device-nokia-n900/device-nokia-n900.post-install b/device/community/device-nokia-n900/device-nokia-n900.post-install index acfa18fc9..3244150ba 100644 --- a/device/community/device-nokia-n900/device-nokia-n900.post-install +++ b/device/community/device-nokia-n900/device-nokia-n900.post-install @@ -5,4 +5,7 @@ for i in $(awk '{if($NF && ($1 !~ /^#/)) print $NF}' /etc/acpi.map); do ln -s /etc/acpi/handler.sh /etc/acpi/$i done +# Update hwdb +udevadm hwdb --update + exit 0 diff --git a/device/community/device-nokia-n900/uboot-script.cmd b/device/community/device-nokia-n900/uboot-script.cmd index ce3bfab21..dd776e293 100644 --- a/device/community/device-nokia-n900/uboot-script.cmd +++ b/device/community/device-nokia-n900/uboot-script.cmd @@ -2,7 +2,7 @@ setenv mmcnum 0 setenv mmcpart 1 setenv mmctype ext2 setenv setup_omap_atag 1 -setenv bootargs init=/init.sh rw console=tty0 PMOS_FORCE_PARTITION_RESIZE +setenv bootargs init=/init.sh rw console=tty0 pmos.force-partition-resize splash setenv mmckernfile /uImage setenv mmcinitrdfile /uInitrd setenv mmcscriptfile diff --git a/device/community/device-nokia-n900/usr-lib-udev-hwdb.d-99-n900-volume-keys.hwdb b/device/community/device-nokia-n900/usr-lib-udev-hwdb.d-99-n900-volume-keys.hwdb new file mode 100644 index 000000000..b523970c1 --- /dev/null +++ b/device/community/device-nokia-n900/usr-lib-udev-hwdb.d-99-n900-volume-keys.hwdb @@ -0,0 +1,5 @@ +# N900's volume keys actually emit F7 and F8 in the stock OS/kernel as well as +# upstream (kernel.org) DTS. Correct them via hwdb. +evdev:input:b0019v0001p0001e0003* + KEYBOARD_KEY_71=volumedown + KEYBOARD_KEY_72=volumeup diff --git a/device/community/device-nokia-n900/usr-share-mkinitfs-hooks-01-omap-disable-idle.sh b/device/community/device-nokia-n900/usr-share-mkinitfs-hooks-01-omap-disable-idle.sh new file mode 100644 index 000000000..73a3b947b --- /dev/null +++ b/device/community/device-nokia-n900/usr-share-mkinitfs-hooks-01-omap-disable-idle.sh @@ -0,0 +1,6 @@ +#!/bin/busybox ash + +# Disable OMAP 3430 SoC OFF mode. It is currently unreliable and leads to +# system lockup and crashes. +mount -t debugfs none /sys/kernel/debug || true +echo 0 > /sys/kernel/debug/pm_debug/enable_off_mode || true