PD#SWPL-4858
Problem:
tl1 not support sduart
Solution:
add not supported flag in match_data
Verify:
verify by tl1 skt
Change-Id: I651765433bb62892fad770c85a5eccd4805e7c79
Signed-off-by: Nan Li <nan.li@amlogic.com>
PD#SWPL-2311
Problem:
not support HS400 busmode
Solution:
add HS400 busmode support for TL1
Verify:
TL1-T962X2_X301
Change-Id: I95ac19e9c0c5b84c9225602cda6964aaaee4151e
Signed-off-by: Long Yu <long.yu@amlogic.com>
PD#TV-2112
Problem:
eMMC timing test failed on item tISU
Solution:
set core_phase to 2 for HS200 busmode
Verify:
TL1-T962X2_X301
Change-Id: I1025b6b6b66b2591b7a8faca68ff1852eeb9b85c
Signed-off-by: long yu <long.yu@amlogic.com>
PD#172587
Problem:
emmc data crc error
Solution:
modify cophase under kernel for tl1
Verify:
test pass on skt
Change-Id: Id4997ef2288a53e6f401744664aaf6b05cf36e38
Signed-off-by: Ruixuan Li <ruixuan.li@amlogic.com>
PD#SWPL-16541
Problem:
defect clean up overrun
Solution:
defect clean up overrun
Verify:
test pass on g12a_u200
Change-Id: Ib9b5c1f5da9fed34a552eb7ee539e7276d922e38
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
PD#SWPL-15315
Problem:
add different freqs variable for big&little core
Solution:
add different freqs variable for big&little core
Verify:
test pass on g12b_w400
Change-Id: I3fbe4c6ee4f2a0868c84b362acddf16ac41a3dbd
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
PD#SWPL-15315
Problem:
add different freqs variable for big&little core
Solution:
add different freqs variable for big&little core
Verify:
test pass on g12b_w400
Change-Id: I2a5e00b5bbd4a1d084b925733a051497c6e92b0b
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
PD#SWPL-4035
Problem:
Setting different cpufreq tables according to efuse information.
Solution:
Setting different cpufreq tables according to efuse information.
Verify:
g12a_u200, verify pass
Change-Id: I1bf571f332244f5727ef3cd8743f215f71248146
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
PD#SWPL-6980
Problem:
memory bound tasks running in a high freq cluster will get a low performance
when another cluster freq is too low.
Solution:
We boost big cluster freq for a appropriate duration when we detect that
little cluster have lasting a period with highest freq.
Verify:
w400
Change-Id: Ic513604cb329992782c9c2e1d71273080e2e336a
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
PD#TV-8401
Problem:
Customer needs to access spi nor by the spicc.
Solution:
add spi nor interfaces in spicc driver.
add gd25q80c/FM25Q08A surpport
Verify:
tl1 x301
Change-Id: If94858d46c31fea6b37034a8b1dfe94a9e9f4603
Signed-off-by: Sunny Luo <sunny.luo@amlogic.com>
PD#SWPL-9815
Problem:
spi_register_board_info's export has been removed in kernel 4.9,
but TV need to use it in ko.
Solution:
package it in a new dirspi_register_board_info and export
Verify:
T312
Change-Id: Ic7e5d8cef6840551e2925eda6162156320877833
Signed-off-by: Sunny Luo <sunny.luo@amlogic.com>
PD#SWPL-4761
Problem:
When slave device is busy processing, it is unable to handle the
incoming communication attempts. i2c master have to repeatedly attemp
communication until the slave sends an ACK after receiving its slave
address.
Solution:
add retry-process when slave NACK.
Verify:
mesonaxg_s420_32_release
Change-Id: Ieb195176cac4b80e223ea6adb502ffd3bc9ef728
Signed-off-by: Daogao Xu <daogao.xu@amlogic.com>
PD#SWPL-7197
Problem:
There is not detail calculation process for i2c duty cycle
Solution:
add detail calculation process for i2c duty cycle
Verify:
verified on x301
Change-Id: Ifc222acda3268f792f63e84c6dc3513d80568e19
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
PD#SWPL-6161
Problem:
partial ir-keys with RC5 can’t been decoded on some boards(Eg: TL1, TXLX)
Solution:
adjust the register to extend the detection range of half/whole bit
Verify:
test pass on TL1
Change-Id: I6ff0af79b3bf9f624c1f249f056b729df7b5dd0c
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
PD#SWPL-14797
Problem:
In freeze mode, keep press power key won't wake up system.
Solution:
replace pm_wakup_event with pm_stay_awake
Verify:
tl1
Change-Id: I5b88714ff45034280ec1d638f86b51fa54e2a011
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#TV-10438
Problem:
system can be wake up by any IR key
Solution:
Add IRQF_NO_SUSPEND to avoid IR interrupt being seen as wakeup source IRQ
When IR irq check current key is power key, then send pm_wakeup_event()
Verify:
X32A0-T972
Change-Id: I753fe15f859480954bb569f2da3d3e0dd93c29e3
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
PD#SWPL-13969
Problem:
In sysfs.c, return value of class_register is not checked.
Solution:
check return value of class_register
Verify:
local coverity check
Change-Id: If8deb3e388e784650e4812257143c3ac919c2d9a
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-9797
Problem:
ir irq is binded to cup 1 and will re-set in every resume process.
cup 0 wakeup first in resume, if there comes a irq during resume in
a critical time it may occurs concurrency.
Solution:
remove irq affinity in hard decode mode and only use it in learning
mode.
Verify:
w400
Change-Id: I26fad9f67665a2bfe9c6d2455559eb1d95e8b2ba
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-4130
Problem:
No ir learning function in current source code
Solution:
Provide two ways to use ir learning function
1. sysfs
/*start learning*/
echo 1 > /sys/class/remote/amremote/ir_learnning
/*get data*/
cat /sys/class/remote/amremote/learned_pulse
/*stop learning*/
echo 0 > /sys/class/remote/amremote/ir_learnning
2. ioctl
/*start/stop learnning 1/0*/
REMOTE_IOC_SET_IR_LEARING
/*get raw data*/
REMOTE_IOC_GET_RAW_DATA
Verify:
U200 and W400
Change-Id: Ibb03838402d9baa6e910b3162ffcc63b57048890
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-12483
Problem:
during probe stage, some unused mems are not be freed.
Solution:
free mem after using.
Verify:
gxl_p212
Change-Id: I24a91d81f0db9fb1edbab8f63b4e8c7f940d5947
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-11248
Problem:
When handling the set attribute IOCTL REMOTE_IOC_SET_KEY_NUMBER, the driver
does not limit the size of allocation with kzalloc.
Solution:
Limit the size of alllcation range, if given a value out of range, set
update flag to false and do nothing in kzalloc stage.
Verify:
W400
Change-Id: I6a4150f5615557c372738c918aad86120d149340
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-8050
Problem:
current driver does not support rca ir protocol
Solution:
add register setting and code for rca use REMOTE_RYPE_RCA to configure.
Verify:
G12b_W400 & tl1 x301
Change-Id: I76d860d66a43071803fb60debeafcbf18f42b283
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-3543
Problem:
current driver does not support toshiba ir remote control protocol
Solution:
add register setting and decode code for toshiba protocol
use REMOTE_TYPE_TOSHIBA/REMOTE_TYPE_NEC_TOSHIBA to configure toshiba
only/toshiba and nec.
Verify:
tl1_t962x2_x301
Change-Id: Idad70c3879fad6e8267f0c4d80d2447c34114103
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#OTT-4656
Problem:
When handling the set attribute IOCTL EFUSE_INFO_GET the driver
makes a call to efuse_getinfo(line 177) passing it a potentially
non-null terminated string. efuse_getinfo() function then uses
this potentially non-null terminated string in strcmp (line 99).
the method efuse_getinfo does not cater to non-null terminated
strings and thus can likely be made to overrun the "item" string
beyond any printable ascii data.
Further more, if attackers can control the item value well enough,
the function efuse_getinfo can be used to potentially disclose
values in kernel memory i.e. by checking the results of lots of
strcmp calls on items values, essentially acting as an oracle for
memory values surrounding the efusekey_info[n].keyname variable in
stack memory.
Solution:
force a null terminator for the keyname argument before comparing
it to kernel memory
Verify:
U200
Change-Id: I851dd7045d0a9e7855e9899c4745eac475cb9233
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
PD#SWPL-5595
Problem:
set_cpus_allowed_ptr(current, cpu_all_mask) is always errorly
called to retore CPU affinity for current task. In some cases,
the current may be a bounded kworker thread, and we should not
set its CPU affinity to all CPUs
Solution:
Save the original CPU affinity and restore it
Verify:
W400 revB
Change-Id: I3cd65e79791563af9dacc09639b8645b97979c44
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
PD#SWPL-4501
Problem:
Standard pinmux APIs were not used
Solution:
Setting pinmux instead of require for gpio
Verify:
tl1,g12a,g12b,axg,txl,txlx,gxl
Change-Id: I0ad88f414832686d795d252f70e81a34f6cb0f9e
Signed-off-by: Yingyuan Zhu <yingyuan.zhu@amlogic.com>
PD#SWPL-14597
Problem:
- it is risky to replace directly system_freezable_wq with system_wq
for input poll device.
- the system can't be awakened by gpiokey or adckey when system in
freeze mode.
Solution:
- because of the input poll-device can't compatible freeze mode, we
replace it with input device.
- perfect wakeup operation when system works in freeze mode.
Verify:
test pass on ac200
Change-Id: I81c867da7325480712aa5903289e02ebb20d6f07
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
PD#SWPL-16508
Problem:
Fail to set wakealarm via standard way
Solution:
Enable the required read_alarm method for vrtc
Verify:
P212
Change-Id: I5a081c07a16ed7ecc158344671bd5077c6f55435
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
PD#SWPL-11035
Problem:
clear wakeup reason after reusme.
Solution:
clear wakeup reason after reusme.
Verify:
test pass on t962x2-x301 ,g12b_400
Change-Id: I19360dbf1c7a1cf9460417b00c8af6ebc818beba
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
PD#TV-3085
Problem:
Add VRTC debug interface into TL1 Android P
Solution:
add wakeup and wakeup_time debug nodes
if you want to set alarm time, for example, set alarm wakeup time 10s
echo 10 > /sys/kernel/debug/wakeup_time
if you want to wake the system when an alarm is triggered, like this
echo 1 > /sys/kernel/debug/wakeup
Verify:
tl1_t962x2_x301
Change-Id: Ic40db0d9cb4ac2cab615206518d8db22b4095f72
Signed-off-by: yuehu mi <yuehu.mi@amlogic.com>
PD#SWPL-13967
Problem:
unchecked return value of regmap_write
Solution:
to check the return value
Verify:
test pass on g12a
Change-Id: Ibb45e36d7c24f0e0ea8b14da75e887321ee5b791
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
PD#SWPL-8587
Problem:
in freeze mode detect adc key cause power consumption problem
Solution:
adckeyswitch from bootargs to decide whether resume by adc key
in freeze mode, default set to POWER_WAKEUP_NONE
adckeyswitch values POWER_WAKEUP_NONE/POWER_WAKEUP_POWER/POWER_WAKEUP_ANY
Verify:
X301
Change-Id: I2726c2ec394e1ffa528acb0862ef302983683b3b
Signed-off-by: wenbiao zhang <wenbiao.zhang@amlogic.com>
PD#SWPL-2399
Problem:
Miss IR (power) key value when wakeup from freeze.
Solution:
Do not suspend/resume IR device under freeze mode
Verify:
x301_tl1
Change-Id: I7bdf0b847fa1a8b96bb2896426e15faf8143e820
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
PD#TV-4213
Problem:
can't wake up by gpio/adc key when suspend into freeze mode
Solution:
not suspend gpio/adc when freeze
Verify:
X301
Change-Id: I32ff27aafebe35d8deb6e9b4d3daee686bbf90bc
Signed-off-by: wenbiao zhang <wenbiao.zhang@amlogic.com>
PD#SWPL-4975
Problem:
some basic saradc registers are only initialized at bl2 stage, the ADC
value is abnormal when bl2 disable saradc init.
Solution:
to re-initialize the basic saradc registers in kernel.
Verify:
test pass on w400 and p212
Change-Id: Ie98e8789fd47cc43cafcb49d9862ccccbe1d9b66
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
PD#SWPL-17544
Problem:
it will cause Current reverse irrigation if the gpio
to i2c function when the system is in STR mode
Solution:
keep the gpio to sleep mode to protect to slave device
there are two sleep mode for i2c pins, and it depends the
pull up power. we can choose the exact sleep mode.
1)pull up power is on, set the sleep mode to input
2)pull up power if off, set low the gpio
Verify:
verified on x301
Change-Id: Ie62f70449be2ff2cef7e3ab5c918ac379d861ca1
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
PD#SWPL-18939
Problem:
high temp restart fails to offline cpus
Solution:
make cpucore current state update at meson cdev probe
Verify:
S905X3_AC214
Change-Id: I124f7795045db89142b1fb4949163f5dd60416ea
Signed-off-by: zhenxin.pu <zhenxin.pu@amlogic.com>
PD#SWPL-10836
Problem:
read sensor time too long
Solution:
read sensor once
Verify:
verified on t1 t962x2 x301
Change-Id: Iddf4c903ba8a3836666943adb5c02c5d287728df
Signed-off-by: Huan Biao <huan.biao@amlogic.com>
PD#SWPL-6028
Problem:
improve ftrace_ramoops to debug bus hang
Solution:
1. in uboot
setenv initargs $initargs ramoops_io_en=1 loglevel=3;save;reset
2. in linux command line:
cat /sys/module/kernel/parameters/ramoops_io_en
to check if success.
3. after watchdog reboot, get trace data with:
cat /sys/fs/pstore/ftrace-ramoops-0
Verify:
TL1 x301
Change-Id: If1a2582b40a3ded31eedef5355eb0b8a5bf495c3
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>
PD#SH-327
Problem:
uart default min baud rate was set 9600, but PTZ PELCO-D
and PELCO-P need uart driver support 2400 and 4800 baud rate
Solution:
change baud rate minimum value to 2400
Verify:
Local
Change-Id: Iee20ea30a95b89f89a59fab95cecf7d559cbff51
Signed-off-by: Dianzhong Huo <dianzhong.huo@amlogic.com>