PD#SWPL-222989
Problem:
support get framecode by sysfs
Solution:
support get framecode by sysfs
Verify:
s7d
Change-Id: I7a5dd6eb7863b592eaeeaedf32c45ebdcf2bfa2a
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-207221
Problem:
support mbox for switch bl30 ir protocol
Solution:
support mbox for switch bl30 ir protocol
Verify:
t6d_br301
Change-Id: I30c9a94940ac5ca8862b8e905e464013c153f2ba
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-209768
Problem:
support multi keymap in same custom code
Solution:
support multi keymap in same custom code
Verify:
t6d_br301
Change-Id: I58df4f5e2dec2cca33eb4203ea5316feeb96e729
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-221673
Problem:
Need to support recording the number of times pressed and the last key.
Solution:
Supports recording the number of times pressed and the last key.
Verify:
T6W/BR301 S7D/BM201
Change-Id: I46f891f65e8cb746034fe0a4810fa231bdc81b72
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-184201
Problem:
mod_delayed_work in adc_keypad needs to be canceled
during suspend, otherwise the saradc mutex may be held
by adc_keypad for a long time (up to 100 milliseconds)
when saradc resumes.
Solution:
Cancel mod_delayed_work when suspending.
Verify:
S6/BL201
Change-Id: If4404bc8a952eb552dc2a7492f2bebf3da1fc007
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
(cherry picked from commit b0d3ac80a735f2291d51b6efa00aa3df20060960)
PD#SWPL-226889
Problem:
When a button is pressed and released quickly, the event state
may remain in the DOWN state.
Solution:
Fixed a bug in button debounce.
Verify:
S7D/BM201
Change-Id: If6d1ffc1656a9834e25ab95b1344d5e2330146c1
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-226209
Problem:
kasan invalid free error while free wakeup_tab
Solution:
use kzalloc() to alloc mem for wakeup_tab
Verify:
t6d
Change-Id: I42fb3a806915141c6c28744ffa0d8591fbe1e427
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-222162
Problem:
After power on, key need to be continuously detected.
Solution:
Disable the watchkey function in BL30 before using
the controller in the kernel.
Verify:
T5M/AY301 T6D/BR301
Change-Id: If12bb7d543ac98db90ec78d384b2dffff2990dad
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-222162
Problem:
After power on, key need to be continuously detected.
Solution:
Add Watch-Key driver unified management.
Verify:
T5M/AY301 T6D/BR301
Change-Id: Ifb46bbb3b9b077c94341e2f70bdd934bcd6ec4b4
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-211590
Problem:
supports direct compilation using tools/bazel
Solution:
1. Default is the trunk's kernel, and can also be configured to
use the project kernel.
2. Default is the trunk's build.config.project, and can also be configured to
use the project's build.config.project.
3. Default is the trunk's Kconfig.ext_modules, and can also be configured to
use the project's Kconfig.ext_modules.
4. Default is the trunk's project.bzl, and can also be configured to
use the project's project.bzl. For other drivers' BUILD.bazel,
currently the corresponding GKI_CONFIG is automatically selected
based on the project. Other members are not distinguished at present.
5. Package all variables in project.bzl into a struct called project_configs,
which facilitates accessing the corresponding variables on a per-project basis.
6. Remove the DDK dependency check mechanism. However,
since it is protected by the configuration of the config, the impact is
not significant.
7. Change kernel_build to kernel_select in ddk_module.
8. support build command:
tools/bazel run --config=adt4 //project/sei/adt4:adt4_dist
./mk.sh --package adt4
9. Optimize the Bazel configure settings.
10. Optimize the copying of ko sources.
11. Optimize the copying of ko sources with debugging symbols.
12. Optimize the paths of some temporary files, so that the files are located
in the out directory instead of the /tmp directory.
Verify:
local
Test:
PB
Change-Id: I38f631215a41156910ae378c34c92de5a255309f
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
PD#SWPL-212576
Problem:
Need to support event ignore.
Solution:
Support event ignore.
Verify:
SC2/AH212
Change-Id: I83d26c53e90eb2d774b2a91500ed035f37f1a8b4
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-208157
Problem:
use kernel build ddk_module_headers
Solution:
use kernel build ddk_module_headers
Verify:
local
Test:
local
Change-Id: I68cb33366c826fcd58fdb0a040229011ea669064
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
PD#SWPL-206164
Problem:
ddk_module cannot find Kconfig and Makefile in sub package
Solution:
add Kconfig and Makefile srcs to common kernel srcs
Verify:
local
Test:
local
Change-Id: I3e71b7e1ddea15e9d32efc0e6cb7e8e81b95b793
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
PD#SWPL-195997
Problem:
the drivers in the common_drivers directory can be built using DDK
with gki_20 mode, it is also compatible with the original build.
Solution:
add BUILD.bazel and modify build script
Verify:
sc2
Test:
PB
Change-Id: Ie138e63f4eec8715d976d421dc8a431bcfadd859
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
PD#SWPL-195993
Problem:
android would not refresh input devices while events
support was update, need to unregister input device.
Solution:
re-register input driver if enable IR mouse
Verify:
sc2
Change-Id: I4e4ce31f9fbfdbd1985db01b9d12ee74418dbfba
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-195976
Problem:
android will show mouse icon while boot up because
common input driver supports REL event
Solution:
update input capability for common input driver
according to keymap
Verify:
s7d
Change-Id: I6148684b1c8e56716cf68cf117107a6149bbc118
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-198026
Problem:
ir driver would not report key up event if the last
repeat frame got the wrong custom code
Solution:
back up and restore current keymap if the last repeat
frame got the wrong custom code
Verify:
s7d_bm209
Change-Id: I3a47f32505a157f2f958dd41e92eb11ba1f260da
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-189489
Problem:
cur_tab could be NULL when the wakeup key isn't
include in kernel ir keymap
Solution:
check cur_tab, use input 0 as default if cur_tab is NULL
Verify:
t6d
Change-Id: Ifb2f0760b823a50faf822976845b553e111ed72a
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-185687
Problem:
there is panic when envp_init stores over 32 members
Kernel panic - not syncing: Too many boot env vars at `reboot_mode=normal'
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.180-rksec-1.0 #2
Hardware name: Generic DT based system
[<b020a1b8>] show_stack+0x10/0x14
[<b0cbd7b4>] dump_stack+0x8c/0xa8
[<b0cad7a4>] panic+0x104/0x304
[<b1100b84>] start_kernel+0xa4/0x42c
[<b11004a4>] _sinittext+0x44/0x48
Solution:
set __setup return value as 1 to avoid envp_init full
Verify:
t5w
Test:
t5w
Change-Id: Ie0f5ada11318ab509bf7bd914e2af53213250f00
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
PD#SWPL-195605
Problem:
Need event type to be configurable.
Solution:
Support configurable event types.
Verify:
T6D/BR301
Change-Id: I17693afcb65b8897374b07c067555f5198ccd962
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-152938
Problem:
When the button is pressed, the LED will flash.
Solution:
New function.
Verify:
SC2/AH212
Change-Id: I4c4ff83b4b23a138b503647b20b5af09a6fb4336
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-182441
Problem:
need to support mbox for some func
Solution:
1. get wakeup framecode
2. enable/disable debug log
3. set wakeup key table
4. enable/disable bl30 ir
5. get the last powerkey
Verify:
t6d_br301
Change-Id: I40e3d6eb08903533f975eba87e18a24148055b70
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-180331
Problem:
there are 2 IR controllers (2x2 multi-format) in T6D
Solution:
support all IR devices in one common input device
Verify:
t6d_br301
Change-Id: Ib01291b4b3e399ae4b1d15df5aa055339b6ece6c
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-180331
Problem:
there are 2 IR controllers (2x2 multi-format) in T6D
Solution:
support multi IR devices
Verify:
t6d_br301
Change-Id: I597bea15e9b919279f8267344221d5721f9559df
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-180331
Problem:
the number of input devices are fixed, up to 3.
Fixes: Ie8c857e0761 ("remote: supports ir functions of various ID")
Solution:
alloc input device dynamically
Verify:
t6d
Change-Id: Ic519000f4a8e6faf0020711ddecb56fd50aa8d80
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-168630
Problem:
driver was crash when probeing
Solution:
1. allow one irq_no was declare in ir dts node
2. check raw decoder thread before wakeup
Verify:
s7d_bm201
Change-Id: If11ebe6edf84322e953c5189dfcc9594bff8ab62
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-163059
Problem:
legacy ir controller was updated to multi-format ir controller
and each controller have a IRQ
Solution:
support 2 IRQs in ir driver
Verify:
s7d_bm201
Change-Id: I268562144440d642e4f635dbe76bb45f799d6bee
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-145760
Problem:
support hibernate mode for ir
Solution:
support hibernate mode for ir
Verify:
s4
Change-Id: Ied8d29fc620b6650583b10b7bb30b309e697fcc3
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
PD#SWPL-183292
Problem:
upgrade kernel from 6.6.10 to 6.6.11
Solution:
1. modify auto patches
2. modify the code due to the change of
the remove function in struct platform_driver
3. modify the code due to the change of
the match function in struct bus_type
4. modify some page function to folio function
5. modify spi module due to some functions changed
Verify:
local
Change-Id: I92c266b6a1bbae363abd0ff50d7f3037e90bc624
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
PD#SWPL-167411
Problem:
Optimize code to reduce invalid calls to mbox.
Solution:
Only the old version of bl30 (arm core) needs to configure mbox.
Verify:
SC2/AH212
Change-Id: If6cd5aab0f21a410e19d5a77a10c2214aa8bd88f
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
PD#SWPL-151245
Problem:
kernel6.6 will not distinguish different versions of kernel.
so we do not make compatibility code in 6.6.
Solution:
revert compatibility code for kernel 6.6.
Verify:
local
Test:
local
Change-Id: I24b8acac62cec05ffb2f637a86f91789f1d0b905
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
PD#SWPL-113695
Problem:
the length of uevent env string was exceed
because of too many keybits.
Solution:
optimize ir input driver keybit.
Verify:
t7_an400
Change-Id: Ib1292c65fdd7444d4158d46dbd3b36fefdeffebb
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>