Commit Graph

639907 Commits

Author SHA1 Message Date
Yixun Lan
7ec3e25cd7 defconfig: fix coldboot_done too long,reduce /dev/pty* devices
PD#148403: fix coldboot_done too long,reduce /dev/pty* devices

with this change, boot from android
needle:/ # dmesg | grep ueventd
[ 3.657267@2] init: Starting service 'ueventd'...
[ 3.662364@0] ueventd: ueventd started!
[ 4.364547@2] ueventd: Coldboot took 0.70s. // prevous 1.44s

Change-Id: Iedf6b530bffb3aa6411f538e1c0dadb611dc616e
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
2017-07-31 04:05:59 -07:00
Yun Cai
3261541e35 clk: add mipi enable and bandgap gate
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>
2017-07-31 10:24:30 +08:00
Jiamin Ma
d6950e214c unifykey: support both old and new unifykey format
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>
2017-07-28 19:52:52 +08:00
liangzhuo.xie
7a0943a42e dts: gxl: add p231 buildroot dts.
PD#147281: P231 4.9 add wpe-launcher and chromium

Change-Id: Iba74fce849e86f71742526e4a6cf6b999084b2dd
Signed-off-by: liangzhuo.xie <liangzhuo.xie@amlogic.com>
2017-07-28 04:13:19 -07:00
Jian Hu
72d840c8f7 pwm: fix kernel crash using spinlock_t lock
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>
2017-07-28 03:36:15 -07:00
Xing Wang
6df60b00fe audio: fix tdm audio format
PD#146334: audio: fix tdm bclk and fclk revert and skew issue

Change-Id: I1dcb6f8559b3c04a2ddbb7c13a6115001c249c18
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
2017-07-28 01:37:43 -07:00
jianxin.pan
44275f73b1 defconfig: disable LOCKUP detect for meson32/64_defconfig
PD#138714: disable LOCKUP detect
-CONFIG_LOCKUP_DETECTOR=y
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y

Change-Id: I74df363b34e6a2fa95cd0aa30485fd941764be09
Signed-off-by: jianxin.pan <jianxin.pan@amlogic.com>
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
2017-07-28 14:36:58 +08:00
Yue Wang
817c44f524 usb: fix adb reboot panic.
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>
2017-07-27 19:21:44 -07:00
Peipeng Zhao
cae7e74f50 audio: disable analog mic on board S400
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>
2017-07-27 16:49:23 +08:00
Xing Wang
a9438f3f2c audio: resume tdm mclk for revA
PD#147886: audio: resume tdm mclk for revA

Change-Id: I6365a9b218fd022ded746d183673f53ee70b6183
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
2017-07-26 01:55:35 -07:00
Jian Hu
26fe46381c wifi: appending wifi dts
PD#146172: wifi: appending wifi dts

Change-Id: I0d208bda96192d6198e7cf959abb0dce6fe96a5f
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
2017-07-25 19:22:17 -07:00
Yue Wang
baf42f6dbb pcie: fix pcie power on timing.
PD#147564: pcie: fix pxie power on timing.

Change-Id: I28d39f0ed030f8886adecc9b575540c0ffc13716
Signed-off-by: Yue Wang <yue.wang@amlogic.com>
2017-07-25 02:38:01 -07:00
Weiming Liu
043ff0471e bl: update bl_pwm driver to adjust new api
PD#146172: bl: update bl_pwm driver to adjust new api

Change-Id: I8f1fa55e7276424086fe4f4e9dc011ccaa259740
Signed-off-by: Weiming Liu <weiming.liu@amlogic.com>
2017-07-24 22:24:38 -07:00
Qiufang Dai
1106482a52 PM/sleep: fine-tune meson legacy early_suspend/late_resume flow
PD#147988: PM / sleep: meson: fine-tune legacy early_suspend/late_resume flow
1. early_suspend/late_resume could be call via sysfs or pm notify.
2. enable remote wakesource irq for wakeup freeze mode.

Change-Id: Ic667e19b9262af2a2a5c3534bd3ab4e240a868be
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
2017-07-24 19:11:44 -07:00
Shuai Li
00696a0ddc audio: fix dai-link multi-codec confs issue [1/1]
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>
2017-07-22 08:44:58 -07:00
Jian Hu
9875a0281d pwm: add new pwm driver initially
PD#146172: pwm: add new pwm driver

1.Reference to upstream, add meson pwm driver initially.
2.pwm driver Verify passed on axg.
3.config for wifi 32k using latest driver.
4.wifi 32k verified on gxl/gxm/axg.

Change-Id: Ie602c879cf348c979d6783f1b295574c2fd782f2
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
2017-07-21 01:13:44 -07:00
xingyu.chen
b6397a5f59 saradc/adc_keypad: reduce the probability bl30 fail to get race flag
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>
2017-07-21 00:31:18 -07:00
Jiyu Yang
b7a55c773f drm: dts include meson_drm
PD#147238: rm dep for ARCH_MESON, include meson_drm.dtsi

Change-Id: I08a973569d062338fc6084c55a765d08c2e6aaf5
Signed-off-by: Jiyu Yang <Jiyu.Yang@amlogic.com>
2017-07-20 04:18:14 -07:00
Jiyu Yang
340d8a0cba drm: add drm support
PD#147238: drm tempoperily bringup on 4.9

Change-Id: I3fa93b57404445985f5f3380f9b9a64161ff720a
Signed-off-by: Jiyu Yang <Jiyu.Yang@amlogic.com>
2017-07-20 19:12:59 +08:00
Neil Armstrong
4a8833fdc5 drm/meson: Fix plane atomic check when no crtc for the plane
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>
2017-07-20 02:26:25 -07:00
Neil Armstrong
489d1291f2 drm/meson: Fix CVBS initialization when HDMI is configured by bootloader
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>
2017-07-20 02:08:56 -07:00
Neil Armstrong
1e10e99d7c drm/meson: Fix CVBS VDAC disable
PD#147238: enable DRM driver on kernel 4.9
This commit fixes the VDAC disabling register write values.

Change-Id: I5534a15e52730ee2a5b54d1aa82bbe59c2e01b50
Fixes: bbbe775ec5 ("drm: Add support for Amlogic Meson Graphic Controller")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-07-20 00:03:50 -07:00
Neil Armstrong
f3f89bcca8 drm: Add support for Amlogic Meson Graphic Controller
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>
2017-07-19 23:54:27 -07:00
Jiamin Ma
485b80c106 configs: disable hardlockup
PD#138714: disable hardlockup

Change-Id: I0b10bfdc65b0a99b8a9fe213b274cacfd16110f7
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
2017-07-19 23:28:23 -07:00
Neil Armstrong
a1c56e75b3 dt-bindings: display: add Amlogic Meson DRM Bindings
PD#147238: enable DRM driver on Kernel4.9

Change-Id: I5a7e60857384de6690a08cc496163377c0b26b7a
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-07-19 23:18:48 -07:00
Victor Wan
c97a98830a Merge branch 'android-4.9' into amlogic-4.9-dev 2017-07-19 23:20:20 +08:00
Qiufang Dai
743c337830 clk: axg: fine-tune pll set_rate op [1/1]
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>
2017-07-19 17:17:05 +08:00
Lianghu Su
229c49d71f PD#147376: fix hdmitx extcon NULL pointer error.
Change-Id: Idabf1f61f4b264115ecdbf147715cbed3c938df1
Signed-off-by: Lianghu Su <lianghu.su@amlogic.com>
2017-07-18 03:04:09 -07:00
Xing Wang
7f841659f4 audio: add loopback
PD#147538: audio: loopback for pdm/spdif/tdm

1. pdm/spdif/tdm as loopback datain soruce, tdmin_lb as datalb source
2. add mixer kcontrols for loopback

Change-Id: I579db913080b3bb02bc99885eb330e24af8a0edb
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
2017-07-16 21:24:33 -07:00
Xing Wang
826fba96f2 audio: pdm dclk support 3.072m/1.024m/768k
PD#147320: audio: pdm dclk support 3.072m/1.024m/768k

Change-Id: I3904fa73fed7c91bf7f709317e211053cf4bb9b2
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
2017-07-16 20:53:28 -07:00
xingyu.chen
e249bb4c59 adc_keypad: optimize the driver
PD#146614: adc_keypad: optimize the driver

1. replace the input device with the input poll-device
2. move "adc_keypad.h" to driver directory "amlogic/input/keyboard/"

Change-Id: I532c920e41bc3ee9048768b0db9d90eb55d962ce
Signed-off-by: xingyu.chen <xingyu.chen@amlogic.com>
2017-07-13 04:01:21 -07:00
Qiufang Dai
0ec1fea28c clk: axg: add pll enable op [1/1]
PD#146411: add enable op for pcie_gp0/hifi/mpll pll

Change-Id: I15eb279a0bf00035d2053322179dddc5d8d9d213
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
2017-07-13 00:59:09 -07:00
Peipeng Zhao
1ed4152d43 audio: A113 revA and revB compatible function
PD#147527: A113 chip revA and revB is compatible for audio

Change-Id: I4a10551900f291d4fa92aeff05d7985e876192ab
Signed-off-by: Peipeng Zhao <peipeng.zhao@amlogic.com>
2017-07-13 15:02:53 +08:00
Lianghu Su
e21d55170d dts: gxl: add p231 dts.
PD#146897: add p231 dts.

Compared with p212, p231 has no mtd_nand device.

Change-Id: Ia398d4e9e630998ccfae4ca1aa12a24538bf73c6
Signed-off-by: Lianghu Su <lianghu.su@amlogic.com>
2017-07-12 23:24:59 -07:00
Yue Wang
e9ddb10958 pcie: fix pcie reset pin request.
PD#147492: pcie: fix pcie reset pin request.

Change-Id: I12206e25d61a728f8a10da2315faf271b9d4d09e
Signed-off-by: Yue Wang <yue.wang@amlogic.com>
2017-07-12 23:01:29 -07:00
jianxin.pan
c91a6b3a68 defconfig: meson64: sync savedefconfig
PD#146811: generate meson64_defconfig with:
make ARCH=arm64 meson64_defconfig
make ARCH=arm64 savedefconfig
cp defconfig ./arch/arm64/configs/meson64_defconfig

Change-Id: I936db023d4812ae6d9b563e56d19e2c3023c8989
Signed-off-by: jianxin.pan <jianxin.pan@amlogic.com>
2017-07-12 21:23:51 -07:00
Qi Duan
f0e5c83324 USB: dwc3 controller not support lpm for some usb disk has lpm feature
PD#147335: USB: dwc3 controller not support lpm for some usb disk whitch has lpm feature [1/1]

Change-Id: I1cdd12d39fcc59ca50275f4c4e1f1cd674d47051
Signed-off-by: Qi Duan <qi.duan@amlogic.com>
2017-07-12 21:13:29 -07:00
jianxin.pan
4c8e5c3b48 script: update merge_pre_check.sh
PD#138174: update merge_pre_check script

Change-Id: I3340906ff4fc3a61ba720fb4dabecd3f623dfcae
Signed-off-by: jianxin.pan <jianxin.pan@amlogic.com>
2017-07-12 16:46:29 +08:00
jianxin.pan
5df5178ae7 extcon: wrap modifies with amlogic marco
PD#138714: wrap changs with CONFIG_AMLOGIC_MODIFY

Change-Id: I7ffff7940f13012a1d898635eefe75feb8c17268
Signed-off-by: jianxin.pan <jianxin.pan@amlogic.com>
2017-07-11 19:19:03 +08:00
Pan Jianxin
5c9ce44596 extcon: enable name set for extcon
PD#138714: enable name set for extcon
Without this change, name for extcon is always extcon0, extcon1, and
it can't be set by driver.

set extcon name before extcon_dev_register:
edev->name = "xxx";
dev_set_name(&edev->dev, "xxxxxx");

Change-Id: I22efce87f8fb50f1faf71d254cd03fe292ddb035
Signed-off-by: Pan Jianxin <jianxin.pan@amlogic.com>
2017-07-11 02:32:56 -07:00
Xing Wang
d80bb9f7fa audio: audio info for audio license query
PD#147297: audio: audio license query driver

Change-Id: I9a9db1c33c372bc58130a1c41addfd80303a5625
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
Signed-off-by: Matthew Shyu <matthew.shyu@amlogic.com>
2017-07-11 01:34:35 -07:00
Pengcheng Chen
af82c9e477 osd: fix osd flicker issue on AXG
PD#146558: osd: fix osd flicker issue on AXG

1. osd: move reg update to vsync interrupt
2. osd: add osd hold line size to 24
3. osd: add read/wirte reg function
4. osd: add osd fps stat function

Change-Id: Iaa382bb8deba49ecb94732691a3608cec9fb9679
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
2017-07-11 00:34:09 -07:00
Jiamin Ma
82062d5a49 script: update merge_pre_check.pl
PD#138714: update merge_pre_check.pl to compatible with checkpatch.pl

Change-Id: Ic3aa45a95d9b1c6c2a923a93b87d4a1590a9c066
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
2017-07-11 12:26:57 +08:00
Yueguie He
759ef2088d nand: add mxic 128M(MX30LF1G18AC)
PD#147222: mtd:nand : add mxic 128M(MX30LF1G18AC)

Change-Id: I7a3f72245e3f1d80e902e22fb841053fc59332a3
Signed-off-by: Yueguie He <yuegui.he@amlogic.com>
2017-07-10 19:41:34 -07:00
Zongdong Jiao
cb2e4c9171 hdmitx: update Kconfig of esm
PD#146107: using depends on at Kconfig file

Change-Id: I0ed025b43c16e02323cea980744d42feb7cc820a
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
2017-07-10 18:38:10 +08:00
Zongdong Jiao
4d30950e5e hdmitx: sync with 3.14 driver
PD#146107: sync with the lastest 3.14 kernel driver

Change-Id: Ia87fdd4fb153e76fa9a2637a424527d03a736a9f
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
Signed-off-by: Kaifu Hu <kaifu.hu@amlogic.com>
2017-07-10 18:00:04 +08:00
xingyu.chen
51f4c3671f pinctrl: update the number of pins in EE domain
PD#147162: pinctrl: update the number of pins in EE domain

Change-Id: I1140bfea4f812fd66d42efcd59ce884022e932f9
Signed-off-by: xingyu.chen <xingyu.chen@amlogic.com>
2017-07-10 17:35:01 +08:00
jianxin.pan
753d672212 chipid: add chipid to cpuinfo
PD#138714: add chipid for cpuinfo

Change-Id: I95da78a07d0806638768984542b3f9886571efd7
Signed-off-by: jianxin.pan <jianxin.pan@amlogic.com>
2017-07-09 21:14:10 +08:00
Bo Yang
1674fa1ab5 watchdog: meson_wdt: fix register and callback of reboot notfiy
PD#147089: watchdog: meson_wdt: fix register and callback of reboot notify

The function register_reboot_notifier() use the wrong notifier_block
variable. So the container_of in the callback can't get the right pointer
of the struct.

The watchdog is disable in case of system down. If the kernel panic, the
reboot notify should ignore that.

Change-Id: I3fd21590808f4b380ddd54883db576e5c13c04a1
Signed-off-by: Bo Yang <bo.yang@amlogic.com>
2017-07-07 20:13:59 -07:00
Bo Yang
4cc49ffb39 dts: axg: add label for the ee watchdog
PD#147071: dtsi: add label for the ee watchdog

So the node can be referrenced for changing.

Change-Id: I5198949ce550b7e8260cdfca3ae6164dcf5ad9c4
Signed-off-by: Bo Yang <bo.yang@amlogic.com>
2017-07-07 06:47:20 -07:00