Subject: [PATCH] genbook, sound, touchpad and battery patch --- Index: config/bootscripts/boot-rk35xx.cmd IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/config/bootscripts/boot-rk35xx.cmd b/config/bootscripts/boot-rk35xx.cmd --- a/config/bootscripts/boot-rk35xx.cmd (revision 2f070312d4c5f9a025a8a5864629c66e7616b71a) +++ b/config/bootscripts/boot-rk35xx.cmd (date 1783711590128) @@ -3,7 +3,7 @@ # Please edit /boot/armbianEnv.txt to set supported parameters # -setenv load_addr "0x9000000" +setenv load_addr "0x200000" setenv overlay_error "false" # default values setenv rootdev "/dev/mmcblk0p1" Index: config/bootscripts/boot-rockchip64-ttyS0.cmd IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/config/bootscripts/boot-rockchip64-ttyS0.cmd b/config/bootscripts/boot-rockchip64-ttyS0.cmd --- a/config/bootscripts/boot-rockchip64-ttyS0.cmd (revision 2f070312d4c5f9a025a8a5864629c66e7616b71a) +++ b/config/bootscripts/boot-rockchip64-ttyS0.cmd (date 1783711590116) @@ -3,7 +3,7 @@ # Please edit /boot/armbianEnv.txt to set supported parameters # -setenv load_addr "0x9000000" +setenv load_addr "0x200000" setenv overlay_error "false" # default values setenv rootdev "/dev/mmcblk0p1" Index: packages/blobs/asound.state/asound.state.coolpi-genbook IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/packages/blobs/asound.state/asound.state.coolpi-genbook b/packages/blobs/asound.state/asound.state.coolpi-genbook new file mode 100644 --- /dev/null (date 1784588184723) +++ b/packages/blobs/asound.state/asound.state.coolpi-genbook (date 1784588184723) @@ -0,0 +1,849 @@ +state.rockchiphdmi0 { + control.1 { + iface MIXER + name 'Receive PATH3 Source Select' + value 'From SDI3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.2 { + iface MIXER + name 'Receive PATH2 Source Select' + value 'From SDI2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.3 { + iface MIXER + name 'Receive PATH1 Source Select' + value 'From SDI1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.4 { + iface MIXER + name 'Receive PATH0 Source Select' + value 'From SDI0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.5 { + iface MIXER + name 'Transmit SDO3 Source Select' + value 'From PATH3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.6 { + iface MIXER + name 'Transmit SDO2 Source Select' + value 'From PATH2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.7 { + iface MIXER + name 'Transmit SDO1 Source Select' + value 'From PATH1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.8 { + iface MIXER + name 'Transmit SDO0 Source Select' + value 'From PATH0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.9 { + iface MIXER + name 'I2STDM Digital Loopback Mode' + value Disabled + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Disabled + item.1 Mode1 + item.2 Mode2 + item.3 'Mode2 Swap' + } + } + control.10 { + iface PCM + name 'PCM Read Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.11 { + iface PCM + name 'PCM Write Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.12 { + iface CARD + name 'rockchip-hdmi0 Jack' + value false + comment { + access read + type BOOLEAN + count 1 + } + } + control.13 { + iface PCM + name 'Playback Channel Map' + value.0 0 + value.1 0 + value.2 0 + value.3 0 + value.4 0 + value.5 0 + value.6 0 + value.7 0 + comment { + access read + type INTEGER + count 8 + range '0 - 36' + } + } + control.14 { + iface PCM + name 'IEC958 Playback Mask' + value ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + comment { + access read + type IEC958 + count 1 + } + } + control.15 { + iface PCM + name 'IEC958 Playback Default' + value '0400000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + comment { + access 'read write' + type IEC958 + count 1 + } + } + control.16 { + iface PCM + name ELD + value '100006006510000100000000000000000469e123565832333909070700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + comment { + access 'read volatile' + type BYTES + count 128 + } + } + control.17 { + iface MIXER + name 'ELD Bypass Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +} +state.rockchipes8316 { + control.1 { + iface MIXER + name 'Receive PATH3 Source Select' + value 'From SDI3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.2 { + iface MIXER + name 'Receive PATH2 Source Select' + value 'From SDI2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.3 { + iface MIXER + name 'Receive PATH1 Source Select' + value 'From SDI1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.4 { + iface MIXER + name 'Receive PATH0 Source Select' + value 'From SDI0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.5 { + iface MIXER + name 'Transmit SDO3 Source Select' + value 'From PATH3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.6 { + iface MIXER + name 'Transmit SDO2 Source Select' + value 'From PATH2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.7 { + iface MIXER + name 'Transmit SDO1 Source Select' + value 'From PATH1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.8 { + iface MIXER + name 'Transmit SDO0 Source Select' + value 'From PATH0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.9 { + iface MIXER + name 'I2STDM Digital Loopback Mode' + value Disabled + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Disabled + item.1 Mode1 + item.2 Mode2 + item.3 'Mode2 Swap' + } + } + control.10 { + iface PCM + name 'PCM Read Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.11 { + iface PCM + name 'PCM Write Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.12 { + iface MIXER + name 'Headphone Playback Volume' + value.0 3 + value.1 3 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 3' + dbmin -4800 + dbmax 0 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.13 { + iface MIXER + name 'Headphone Mixer Volume' + value.0 11 + value.1 11 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 11' + dbmin -1200 + dbmax 0 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.14 { + iface MIXER + name 'Playback Polarity' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 'R Invert' + item.2 'L Invert' + item.3 'L + R Invert' + } + } + control.15 { + iface MIXER + name 'DAC Playback Volume' + value.0 192 + value.1 192 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 192' + dbmin -9999999 + dbmax 0 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.16 { + iface MIXER + name 'DAC Soft Ramp Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.17 { + iface MIXER + name 'DAC Soft Ramp Rate' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 4' + } + } + control.18 { + iface MIXER + name 'DAC Notch Filter Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.19 { + iface MIXER + name 'DAC Double Fs Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.20 { + iface MIXER + name 'DAC Stereo Enhancement' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.21 { + iface MIXER + name 'DAC Mono Mix Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.22 { + iface MIXER + name 'Capture Polarity' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 Invert + } + } + control.23 { + iface MIXER + name 'Mic Boost Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.24 { + iface MIXER + name 'ADC Capture Volume' + value 181 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 192' + dbmin -9999999 + dbmax 0 + dbvalue.0 -550 + } + } + control.25 { + iface MIXER + name 'ADC PGA Gain Volume' + value 9 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + dbmin -350 + dbmax 2400 + dbvalue.0 2100 + } + } + control.26 { + iface MIXER + name 'ADC Soft Ramp Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.27 { + iface MIXER + name 'ADC Double Fs Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.28 { + iface MIXER + name 'ALC Capture Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.29 { + iface MIXER + name 'ALC Capture Max Volume' + value 28 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 28' + dbmin -650 + dbmax 3550 + dbvalue.0 3550 + } + } + control.30 { + iface MIXER + name 'ALC Capture Min Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 28' + dbmin -1200 + dbmax 3000 + dbvalue.0 -1200 + } + } + control.31 { + iface MIXER + name 'ALC Capture Target Volume' + value 11 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 11' + dbmin -1650 + dbmax -150 + dbvalue.0 -150 + } + } + control.32 { + iface MIXER + name 'ALC Capture Hold Time' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + } + } + control.33 { + iface MIXER + name 'ALC Capture Decay Time' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + } + } + control.34 { + iface MIXER + name 'ALC Capture Attack Time' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + } + } + control.35 { + iface MIXER + name 'ALC Capture Noise Gate Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.36 { + iface MIXER + name 'ALC Capture Noise Gate Threshold' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + } + } + control.37 { + iface MIXER + name 'ALC Capture Noise Gate Type' + value 'Constant PGA Gain' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Constant PGA Gain' + item.1 'Mute ADC Output' + } + } + control.38 { + iface MIXER + name 'spk switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.39 { + iface MIXER + name 'hp switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.40 { + iface MIXER + name 'Headphone Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.41 { + iface MIXER + name 'Speaker Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.42 { + iface MIXER + name 'Main Mic Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.43 { + iface MIXER + name 'Headset Mic Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.44 { + iface MIXER + name 'Differential Mux' + value lin2-rin2 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 lin1-rin1 + item.1 lin2-rin2 + item.2 'lin1-rin1 with 20db Boost' + item.3 'lin2-rin2 with 20db Boost' + } + } + control.45 { + iface MIXER + name 'Digital Mic Mux' + value 'dmic disable' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'dmic disable' + item.1 'dmic data at high level' + item.2 'dmic data at low level' + } + } + control.46 { + iface MIXER + name 'DAC Source Mux' + value 'LDATA TO LDAC, RDATA TO RDAC' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'LDATA TO LDAC, RDATA TO RDAC' + item.1 'LDATA TO LDAC, LDATA TO RDAC' + item.2 'RDATA TO LDAC, RDATA TO RDAC' + item.3 'RDATA TO LDAC, LDATA TO RDAC' + } + } + control.47 { + iface MIXER + name 'Left Headphone Mux' + value lin2-rin2 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 lin1-rin1 + item.1 lin2-rin2 + item.2 'lin-rin with Boost' + item.3 'lin-rin with Boost and PGA' + } + } + control.48 { + iface MIXER + name 'Right Headphone Mux' + value lin2-rin2 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 lin1-rin1 + item.1 lin2-rin2 + item.2 'lin-rin with Boost' + item.3 'lin-rin with Boost and PGA' + } + } + control.49 { + iface MIXER + name 'Left Headphone Mixer LLIN Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.50 { + iface MIXER + name 'Left Headphone Mixer Left DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.51 { + iface MIXER + name 'Right Headphone Mixer RLIN Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.52 { + iface MIXER + name 'Right Headphone Mixer Right DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +} Index: config/bootscripts/boot-rockchip64.cmd IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/config/bootscripts/boot-rockchip64.cmd b/config/bootscripts/boot-rockchip64.cmd --- a/config/bootscripts/boot-rockchip64.cmd (revision 2f070312d4c5f9a025a8a5864629c66e7616b71a) +++ b/config/bootscripts/boot-rockchip64.cmd (date 1783711590098) @@ -3,7 +3,7 @@ # Please edit /boot/armbianEnv.txt to set supported parameters # -setenv load_addr "0x9000000" +setenv load_addr "0x200000" setenv overlay_error "false" # default values setenv rootdev "/dev/mmcblk0p1" Index: config/boards/coolpi-genbook.csc IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/config/boards/coolpi-genbook.csc b/config/boards/coolpi-genbook.csc --- a/config/boards/coolpi-genbook.csc (revision 2f070312d4c5f9a025a8a5864629c66e7616b71a) +++ b/config/boards/coolpi-genbook.csc (date 1784583695832) @@ -15,6 +15,7 @@ BOOT_SUPPORT_SPI="yes" BOOT_SPI_RKSPI_LOADER="yes" IMAGE_PARTITION_TABLE="gpt" +ASOUND_STATE="asound.state.coolpi-genbook" # Mainline U-Boot function post_family_config__coolpi-genbook_use_mainline_uboot() { Index: config/kernel/linux-rk35xx-vendor.config IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/config/kernel/linux-rk35xx-vendor.config b/config/kernel/linux-rk35xx-vendor.config --- a/config/kernel/linux-rk35xx-vendor.config (revision 2f070312d4c5f9a025a8a5864629c66e7616b71a) +++ b/config/kernel/linux-rk35xx-vendor.config (date 1784588184722) @@ -1286,6 +1286,7 @@ CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO_RESTART=y CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_BATTERY_CW2015=y CONFIG_BATTERY_CW2017=y CONFIG_BATTERY_SBS=y CONFIG_BATTERY_MAX17042=y @@ -2096,6 +2097,7 @@ CONFIG_HID_STEAM=m CONFIG_HID_STEELSERIES=m CONFIG_HID_WIIMOTE=m +CONFIG_I2C_HID_OF=m CONFIG_USB_HIDDEV=y CONFIG_USB_LED_TRIG=y CONFIG_USB_ULPI_BUS=m