PD#148065: v4l_querycap error when buildroot linux 4.9 startup.
Change-Id: I5ff911f5e08e3d1e57476f84ca3d002a093b9724
Signed-off-by: Lianghu Su <lianghu.su@amlogic.com>
PD#148390: this commit fix two problems
1. the previews way to detect storage type is invalid
2. the previews define of max key size for nand and emmc
is wrong
Change-Id: Ie7c05f3e0d85c2386177e196187f52786e0955f4
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
PD#147956: mtd: nand: fix false ecc report on infopage
Infopage must be programed with scrambled to fit romboot.
And all “0xff” page will be reported as uncorrectable falsely
with scramber on.
we have to exclude this by counting the zero byts.
Change-Id: I167491bee69444f64231a09e41d04bcd03f30d65
Signed-off-by: Yonghui Yu <yonghui.yu@amlogic.com>
PD#146534: add i2c auto test and fix i2c clk error.
1. add i2c auto test function form 50KHZ to 3.4MHZ.
2. fix i2c clk distortion when the clk go beyond 1MHZ.
3. fix i2c clk distortion when the clk less than 100KHZ.
4. fit for i2c T_low/T_higt time standard.
5. reduce i2c error log.
Change-Id: I2bb5598684848478aa18349b87eaac5bcc44065d
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>
PD#146437: axg: add mipi enable and bandgap gate and
update clkmsr for cts_encl_clk
Change-Id: If14ede7ab0a0b649879153cb1089bec04c7412b2
Signed-off-by: Yun Cai <yun.cai@amlogic.com>
PD#148057: for m8bb m200 platform, we have the latest linux kernel
and a relative old version uboot running on it. For some historic
resons, the unifykey data stored in emmc/nand has totally different
format, which means the key stored by old uboot cannot be fetched
out by new kernel. To solve this problem, we have to support both
the old and new unifykey dataformat in lasted kernel.
Change-Id: Ic70df6543466b345a5ff513bfaabfe4cfcf647ed
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
PD#148269: fix kernel panic when hibenating
1.Using mutex lock instead of spinlock_t lock.
2.Clk_prepare_enable might sleep could not use
spinlock_t lock.
3.Add spinlock_t lock for clock_mux.
4.Panic message:
BUG: sleeping function called from invalid context at
kernel/locking/mutex.c:97
in_atomic(): 1, irqs_disabled(): 128, pid: 2501, name: sh
Preemption disabled at:[ 69.935889@1] [<ffffff80097af728>]
meson_pwm_apply+0x48/0x398
Change-Id: Ib2f42c4d757d1bb4bd8e4df0f90f7924be2fa799
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
PD#146539: usb: fix adb reboot panic.
Avoid kernel panic caused by race condition. For example,
1. In the ffs_epfile_io function, data buffer is allocated
for non-halt requests and the address of this buffer is
writed to usb controller registers.
2. After adb process be killed, data buffer is freed and
this memory is allocated for the other. But the address
is hold by the controller.
3. Adbd in PC is running. So, the controller receive the
data and write to this memory.
4. The value of this memory is modified by the controller.
This could cause the kernel panic.
To avoid this, during FunctionFS mount, we allocated the
data buffer for requests. And the memory resources has
been released in kill_sb.
Change-Id: Ie06fae8ce18ea553d71f4841458c3c3af096ff4b
Signed-off-by: Yue Wang <yue.wang@amlogic.com>
PD#148261: disable analog mic on board S400
because new mic board will not connnect analog mic
if enable analog mic, it will generate much i2c error
Change-Id: I0bc63dcdb2b4dbf47b740266008529490bcac937
Signed-off-by: Peipeng Zhao <peipeng.zhao@amlogic.com>
PD#146172: bl: update bl_pwm driver to adjust new api
Change-Id: I8f1fa55e7276424086fe4f4e9dc011ccaa259740
Signed-off-by: Weiming Liu <weiming.liu@amlogic.com>
PD#147919: If more than one dai-link configure the codec prefix name,
tinymix shows only the last dai-link codec which has prefix-names.
This fix adds a for-loop to realloc confs for each dai-link setting.
Thus every prefix name will show in tinymix.
Change-Id: I347328a3329eb2bdba0e0b7e2295c75c8f3ec1e8
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
PD#146381: saradc/adc_keypad: reduce the probability bl30 fail to get race flag
1. unify the way to obtain race flag with bl30
2. replace the irq mode with polling mode
3. delay adc key scan time by 25ms
Change-Id: If072ee0a0a62c55e9c671baee0d25d1647e29ad9
Signed-off-by: xingyu.chen <xingyu.chen@amlogic.com>
PD#147238: rm dep for ARCH_MESON, include meson_drm.dtsi
Change-Id: I08a973569d062338fc6084c55a765d08c2e6aaf5
Signed-off-by: Jiyu Yang <Jiyu.Yang@amlogic.com>
PD#147238: enable DRM driver on kernel 4.9
When no CRTC is associated with the plane, the meson_plane_atomic_check()
call breaks the kernel with an Oops.
Change-Id: I9d31c405316460420c0ed56dfcb0fc4ef6f86938
Fixes: bbbe775ec5 ("drm: Add support for Amlogic Meson Graphic Controller")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
PD#147238: enable DRM driver on kernel 4.9
When the HDMI output is configured by the bootloader, there is mismatch is the
pipeline configuration and the Vsync interrupt fails to trigger.
This commit disables the HDMI blocks in the probe phase.
Change-Id: Ibf7b6384e9d34f790bd87a5e6f34a93a2d274d7c
Fixes: bbbe775ec5 ("drm: Add support for Amlogic Meson Graphic Controller")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
PD#147238: enable DRM driver on kernel 4.9
The Amlogic Meson Display controller is composed of several components :
DMC|---------------VPU (Video Processing Unit)----------------|------HHI------|
| vd1 _______ _____________ _________________ | |
D |-------| |----| | | | | HDMI PLL |
D | vd2 | VIU | | Video Post | | Video Encoders |<---|-----VCLK |
R |-------| |----| Processing | | | | |
| osd2 | | | |---| Enci ----------|----|-----VDAC------|
R |-------| CSC |----| Scalers | | Encp ----------|----|----HDMI-TX----|
A | osd1 | | | Blenders | | Encl ----------|----|---------------|
M |-------|______|----|____________| |________________| | |
___|__________________________________________________________|_______________|
VIU: Video Input Unit
---------------------
The Video Input Unit is in charge of the pixel scanout from the DDR memory.
It fetches the frames addresses, stride and parameters from the "Canvas" memory.
This part is also in charge of the CSC (Colorspace Conversion).
It can handle 2 OSD Planes and 2 Video Planes.
VPP: Video Post Processing
--------------------------
The Video Post Processing is in charge of the scaling and blending of the
various planes into a single pixel stream.
There is a special "pre-blending" used by the video planes with a dedicated
scaler and a "post-blending" to merge with the OSD Planes.
The OSD planes also have a dedicated scaler for one of the OSD.
VENC: Video Encoders
--------------------
The VENC is composed of the multiple pixel encoders :
- ENCI : Interlace Video encoder for CVBS and Interlace HDMI
- ENCP : Progressive Video Encoder for HDMI
- ENCL : LCD LVDS Encoder
The VENC Unit gets a Pixel Clocks (VCLK) from a dedicated HDMI PLL and clock
tree and provides the scanout clock to the VPP and VIU.
The ENCI is connected to a single VDAC for Composite Output.
The ENCI and ENCP are connected to an on-chip HDMI Transceiver.
This driver is a DRM/KMS driver using the following DRM components :
- GEM-CMA
- PRIME-CMA
- Atomic Modesetting
- FBDev-CMA
For the following SoCs :
- GXBB Family (S905)
- GXL Family (S905X, S905D)
- GXM Family (S912)
The current driver only supports the CVBS PAL/NTSC output modes, but the
CRTC/Planes management should support bigger modes.
But Advanced Colorspace Conversion, Scaling and HDMI Modes will be added in
a second time.
The Device Tree bindings makes use of the endpoints video interface definitions
to connect to the optional CVBS and in the future the HDMI Connector nodes.
HDMI Support is planned for a next release.
Change-Id: I72d50f54b4e7ab73d447cf664e959a3c43e58809
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
PD#146411: if set_rate target rate equal to old rate, just skip.
Change-Id: I945fdf6f72c5fccc6e0e701fe8f50fba8458d99f
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
The BINDER_GET_NODE_DEBUG_INFO ioctl will return debug info on
a node. Each successive call reusing the previous return value
will return the next node. The data will be used by
libmemunreachable to mark the pointers with kernel references
as reachable.
Bug: 28275695
Change-Id: Idbbafa648a33822dc023862cd92b51a595cf7c1c
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Martijn Coenen <maco@android.com>