Commit Graph

608746 Commits

Author SHA1 Message Date
Finley Xiao
b63f27bbc9 PM / devfreq: rockchip_dmc: Add support for rk3308
Change-Id: Iff7deff76a02360021aacaeaa0d509593f88fb2d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2018-04-18 17:22:03 +08:00
Finley Xiao
7eedb273de PM / devfreq: rockchip_dmc: Adjust voltage according to opp table when probe
If dmc node doesn't contain 'system-status-freq' and auto-freq is disabled,
devfreq feature won't be added and only to adjust voltage according to opp
table.

Change-Id: Iaf9d9f61938babff2e08719e2285a8554cfa9389
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2018-04-18 17:22:03 +08:00
Finley Xiao
4f67042620 clk: rockchip: rk3308: Add sclk_ddrc
Change-Id: I5cbec62ab78623c1adcb79ac8990e3620223de23
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2018-04-18 17:22:03 +08:00
Finley Xiao
6882654464 regulator: core: Add support to limit min_uV during system startup
Now a regulator device can supply multiple consumers at the same time,
if a consumer starts and set a low voltage, another consumer doesn't
start in kernel but has been set a high frequency in bootloader will
abort.

This patch Adds support to limit min_uV during kernel startup to make
sure the voltage can suit the needs of all consumers.

Change-Id: Ibd16a8e44916798021e2470c90a8e3488df206f4
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2018-04-18 17:22:03 +08:00
Xuhanrui
859175c093 ARM: dts: add secure drm buffer for rk3229
default disabled

Change-Id: Iea0bfa746de22ba59e356e9eb1f2f957fabcda50
Signed-off-by: Hery Xu <xhr@rock-chips.com>
2018-04-18 16:59:48 +08:00
Zhangbin Tong
440b073db3 ARM: dts: add dts files for rk3128h
Add initial device tree nodes for rk3128h SoC

Change-Id: If2e5e53e3b78ee6272b94be273b90f0b4861341a
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
2018-04-18 14:08:50 +08:00
Leo Wen
9770324ee5 arm64: dts: rockchip: support for rk3326 linux
Change-Id: Idb2133eb6f2d99eaa69def1909968cded6a9c215
Signed-off-by: Leo Wen <leo.wen@rock-chips.com>
2018-04-18 11:42:23 +08:00
Leo Wen
8363eaa39f arm64: rockchip_linux_defconfig: add some configs for rk3326 linux
Change-Id: I52bfb345e64cf8ae0bbd24ff737e50cbfbfb5861
Signed-off-by: Leo Wen <leo.wen@rock-chips.com>
2018-04-18 11:42:23 +08:00
Xing Zheng
ebe6ab37d9 ASoC: rk3308_codec: add hp-ctl and rename to spk-ctl gpio
Change-Id: I67a3c770b06c8f53afdac89bd3423ad776d6ec01
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2018-04-17 20:54:17 +08:00
Xing Zheng
63ce58c3fa arm64: dts: rockchip: clean up output ctl gpios for rk3308
Add support hp-ctl gpio for amic board, and rename
to spk-ctl from dtsi file. Usually, we should assign
these output ctl gpios according to the specific
product type.

Change-Id: Icf0c29f61bed3c0f48069b9e38ddf47d921fed26
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2018-04-17 20:54:17 +08:00
Xing Zheng
68e8641c53 ASoC: rk3308_codec: update and apply many advices from vendor
We need to configure each ADC in parallel as much as
possible. The infos from vendor, we add some new
registers to make effect better:

1/ optimize the flows for enable/disable ADC/DAC flows
2/ add support fade-out digital gains for de-pop
3/ many updates

Change-Id: I2e72451201010de96e7dc5c22ff3384ce71767ea
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2018-04-17 20:54:17 +08:00
Qiang Wu
623da8f83a wifi: add marvell 88W8977 wifi module driver
Change-Id: Ia1e254e2c084621141d837be385d9198962be1cd
Signed-off-by: Qiang Wu <xianlee.wu@rock-chips.com>
2018-04-17 18:54:27 +08:00
ZhouJing
120d153592 video: rockchip: vpu: Support default freq for rk3288w
Change-Id: Ic9e5adfbb129a5af731ce6bf49d4d197e80e9c6d
Signed-off-by: Zhou Jing <tracy.zhou@rock-chips.com>
2018-04-17 16:33:58 +08:00
Liang Chen
aee8a961fc arm: dts: fix typo on nvmem-cell-names of gpu for rk3228
Change-Id: I4e54f11981c7ab7a8a96d28934f757136c986065
Signed-off-by: Liang Chen <cl@rock-chips.com>
2018-04-17 14:09:06 +08:00
Joseph Chen
f36de44fad mfd: rk808: set fall event higher priority than rise event
When PMIC irq occurs, regmap-irq.c will traverse all PMIC child
interrupts from low index 0 to high index, we give fall interrupt
high priority to be called earlier than rise, so that it can be
override by late rise event. This can helps to solve key release
glitch which make a wrongly fall event immediately after rise.

Change-Id: Ieda1d6fd3c50cc36742a4740504ec7ce12ea509b
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2018-04-17 11:36:29 +08:00
Algea Cao
efae8c5e28 drm/rockchip: inno-hdmi-phy: Get inno hdmi phy config from dts
Setting inno phy config table in dts. According to tmds clock range, phy
config data can be chosen. We can also filter some video modes which
tmds clock out of range we set.

Change-Id: I666c825921877fe2cdf45c2ccd1415815a4b7715
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2018-04-17 11:35:49 +08:00
Algea Cao
cbbbff8d5c ARM64: dts: rk3328-evb-android: Add inno hdmi phy config
Change-Id: I9b1c4be3bbc69faafd1c8e605db03e4ff520b2ee
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2018-04-17 11:35:49 +08:00
Algea Cao
718c3dde0c arm: rockchip_linux_config: enable drm tve
Change-Id: I6c1b81809b31873e751207c29feb045fdcfc1a63
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2018-04-17 11:15:39 +08:00
Sandy Huang
215c0afafa drm/rockchip: update crtc->primary->fb only for hotplug device.
For hotplug device the crtc->primary->fb should be equal to
fb_helper->fb, otherwise the following path will return false
and lead to connect state error:
->hotplug
	->output_poll_changed()
		->drm_fb_helper_hotplug_event()
			->drm_fb_helper_is_bound()
after user space beging, the above path can return false, because
sometimes user space wants everything disabled, don't steal the display
if there's a master, so we set crtc->primary->fb point to the original
fb when drm_open.

Change-Id: I5343978ce602324dbdc3125b6b98a7b4233149ab
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-04-17 09:35:33 +08:00
Sandy Huang
afcdeee1b5 drm/rockchip: update rockchip_drm_platform_shutdown
The reason to implement shutdown is for the fake shutdown on the box
product. but after implement this function, panel will still display
overlay plane for about two second when power off. so we directly
close crtc instead of rockchip_drm_sys_suspend() when shutdown.

Change-Id: I60ed3e541e022ad828fd535828fe264aabd40ecb
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-04-17 09:31:57 +08:00
Meng Dongyang
5ab47a4a46 FROMLIST: usb: dwc2: Fix NULL qh in dwc2_queue_transaction
When a usb device disconnects in a certain way, dwc2_queue_transaction
still gets called after dwc2_hcd_cleanup_channels.

dwc2_hcd_cleanup_channels does "channel->qh = NULL;" but
dwc2_queue_transaction still wants to dereference qh.
This adds a check for a null qh.

(am from https://patchwork.kernel.org/patch/7245251/)
Change-Id: Ia9c7f5febe0bb6f0123cfc85c90beb9fc1d80bdd
Signed-off-by: Alexandru M Stan <amstan@chromium.org>
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
2018-04-17 09:31:07 +08:00
Wyon Bi
d26d7a61c4 arm64: dts: rockchip: rk3399-evb3-edp: add force-hpd property for edp
Change-Id: I82984011ca0b34ff2b23d24235f3bf00739d0abc
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-04-16 20:25:52 +08:00
Tao Huang
17aa49c0ef arm64: rk3308_linux_defconfig: disable RK_PARTITION
Change-Id: I9ed1abcd7d4d3bd92736f0c5c5460f4952d55144
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2018-04-16 20:13:52 +08:00
Tao Huang
5cc52c13d9 arm64: rk3308_linux_defconfig: disable BOUNCE
Save about 4101 Bytes.

Change-Id: I7675e73a078b802db652a541885c1de908f3cd2f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2018-04-16 20:05:59 +08:00
Tao Huang
5f0f7744d2 arm64: rk3308_linux_defconfig: disable SPARSEMEM_VMEMMAP
Save about 15MB memory for 64MB device, 8MB for 512MB.

For 64MB device,
before:
Memory: 37984K/63488K available (5182K kernel code, 366K rwdata,
 1740K rodata, 256K init, 521K bss, 25504K reserved, 0K cma-reserved)

after:
Memory: 53348K/63488K available (5182K kernel code, 366K rwdata,
 1740K rodata, 256K init, 521K bss, 10140K reserved, 0K cma-reserved)

For 512MB device,
before:
Memory: 495992K/522240K available (5182K kernel code, 366K rwdata,
 1740K rodata, 256K init, 521K bss, 26248K reserved, 0K cma-reserved)

after:
Memory: 504188K/522240K available (5182K kernel code, 366K rwdata,
 1740K rodata, 256K init, 521K bss, 18052K reserved, 0K cma-reserved)

Change-Id: Ica3431aff50a52e3d66d9e203f2313fcfdca068b
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2018-04-16 20:05:40 +08:00
Tao Huang
588c1da038 arm64: rk3308_linux_defconfig: enable PROC_PAGE_MONITOR
Use 8356 bytes. Make memory size debug easy.

Change-Id: I308221dde7bb3521748bfdbe5931b37a4848dc51
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2018-04-16 19:13:58 +08:00
Sandy Huang
de1bd7d791 drm/rockchip: get kvaddr for some SPI panel
some low solutation SPI panel, the display content should be
send through the SPI interface, so add to get the kernel virtual
address, which can be accessed by cpu and SPI interface.

Change-Id: I9823162e682819309bf61d3b132eb452b73fdd3a
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-04-16 16:23:01 +08:00
Zheng Yang
3ffff820ed phy: rockchip: inno-hdmi: fix 3229 div zero error in recalc_rate
Pre PLL pclk_dividera value range is from 1 to 31, but the default
value of register 0xe0 on 3229 is zero. To avoid div zero error,
we take the divider value as one.

[<c0110070>] (unwind_backtrace) from [<c010bcbc>] (show_stack+0x20/0x24)
[<c010bcbc>] (show_stack) from [<c040f56c>] (dump_stack+0x80/0xa0)
[<c040f56c>] (dump_stack) from [<c010bbf4>] (__div0+0x20/0x28)
[<c010bbf4>] (__div0) from [<c040d62c>] (Ldiv0_64+0x8/0x18)
[<c040d62c>] (Ldiv0_64) from [<c043f310>] (inno_hdmi_rk3228_phy_pll_recalc_rate+0x104/0x114)
[<c043f310>] (inno_hdmi_rk3228_phy_pll_recalc_rate) from [<c043efac>] (inno_hdmi_phy_clk_recalc_rate+0x30/0x3c)
[<c043efac>] (inno_hdmi_phy_clk_recalc_rate) from [<c0980c00>] (clk_register+0x438/0x64c)
[<c0980c00>] (clk_register) from [<c0980e68>] (devm_clk_register+0x54/0x94)
[<c0980e68>] (devm_clk_register) from [<c0440028>] (inno_hdmi_phy_probe+0x24c/0x378)
[<c0440028>] (inno_hdmi_phy_probe) from [<c0566424>] (platform_drv_probe+0x60/0xac)
[<c0566424>] (platform_drv_probe) from [<c05645bc>] (driver_probe_device+0x120/0x2a8)
[<c05645bc>] (driver_probe_device) from [<c05647bc>] (__driver_attach+0x78/0x9c)
[<c05647bc>] (__driver_attach) from [<c0562a28>] (bus_for_each_dev+0x84/0x98)
[<c0562a28>] (bus_for_each_dev) from [<c05640d0>] (driver_attach+0x28/0x30)
[<c05640d0>] (driver_attach) from [<c0563c5c>] (bus_add_driver+0xdc/0x1f8)
[<c0563c5c>] (bus_add_driver) from [<c056533c>] (driver_register+0xac/0xf0)
[<c056533c>] (driver_register) from [<c0566364>] (__platform_driver_register+0x40/0x54)
[<c0566364>] (__platform_driver_register) from [<c122af4c>] (inno_hdmi_phy_driver_init+0x18/0x20)
[<c122af4c>] (inno_hdmi_phy_driver_init) from [<c0101ad4>] (do_one_initcall+0x114/0x1c8)
[<c0101ad4>] (do_one_initcall) from [<c1200ef0>] (kernel_init_freeable+0x1ac/0x280)
[<c1200ef0>] (kernel_init_freeable) from [<c0c5e4c8>] (kernel_init+0x18/0x11c)
[<c0c5e4c8>] (kernel_init) from [<c0107550>] (ret_from_fork+0x14/0x24)

Change-Id: Ib61fbd87547d3316e9ed5b564e291b6c15d93cdd
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2018-04-16 16:23:00 +08:00
Tony Xie
4f0b7f5826 PM / OPP: Add "rockchip,board-irdrop" and "rockchip,evb-irdrop" binding
Change-Id: Iae0e4aad260347eb03726d13ef91411cfdf6b556
Signed-off-by: Tony Xie <xxx@rock-chips.com>
2018-04-16 16:23:00 +08:00
Liang Chen
8748fb44c2 ARM: dts: rockchip: adjust opp-table by leakage for rk322x
Change-Id: I3758f2915a9eea0febf982c49c9452f17b6eba3c
Signed-off-by: Liang Chen <cl@rock-chips.com>
2018-04-16 16:22:55 +08:00
William Wu
0c5fe85302 phy: rockchip-inno-usb2: fix a clang warning
This patch fix the following clang warning:
[clang]drivers/phy/rockchip/phy-rockchip-inno-usb2.c:1255:3:
warning: Value stored to 'delay' is never read

Change-Id: I8c70975e1bc2b24a78d0934ccefc9d67fe3a5da9
Signed-off-by: William Wu <william.wu@rock-chips.com>
2018-04-16 11:49:41 +08:00
William Wu
b33c8e4b63 usb: dwc_otg_310: hcd: assign reg address to hc_regs
In dwc_otg_hcd_endpoint_disable(), the hc_regs is initialized
to NULL, but never assign a host channel reg address to it,
so the chdis operation can't be handled for ever.

This patch gets a host channenl reg address for hc_regs via
qh->channel->hc_num.

Change-Id: I5917df1975000876d28868ed51e218489ed3d209
Signed-off-by: William Wu <william.wu@rock-chips.com>
2018-04-16 11:49:41 +08:00
William Wu
fbd5567d33 phy: rockchip-inno-usb2: reduce the otg schedule delay time
Reduce the otg schedule delay time from 6s to 1s to do
the first time usb charger detection earlier when power
on system with usb cable connect to PC USB. Because the
usb connection willed be disconnectted during usb charger
detection.

And the patch also makes the phy detect the usb disconnetion
more quickly after usb cable plug out.

Change-Id: I9b55317ab3592f517fdf590fea85c4ed403bbd8d
Signed-off-by: William Wu <william.wu@rock-chips.com>
2018-04-16 11:49:41 +08:00
Liang Chen
381d236c72 clk: rockchip: mark rkvdec clk as critical clk on rk3228
Change-Id: I08d8eaa8002a955cf38a90b0a750731e7afae63e
Signed-off-by: Liang Chen <cl@rock-chips.com>
2018-04-16 10:45:56 +08:00
Hu Kejun
53219cd8f3 arm64: dts: rockchip: Add rkisp1 for rk3399
Change-Id: Ie0eb7088d08f9c0cbd0443b6f9c635ade9b4cc8f
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2018-04-13 18:46:31 +08:00
Finley Xiao
c05bc80b87 soc: rockchip: pvtm: Fix the number of channels for px30
Change-Id: Ieaa208baa2abbdc5cc8f341c183587354a202a13
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2018-04-13 17:06:39 +08:00
William Wu
d26a856c7e phy: rockchip-inno-usb2: open pre-emphasize for rk322x
Open pre-emphasize in non-chirp state for rk322x USB
PHY0 otg port to increase HS slew rate.

Change-Id: Ia565746286a750a251619a83cbbead99c0ddecbd
Signed-off-by: William Wu <william.wu@rock-chips.com>
2018-04-13 15:20:29 +08:00
Yifeng Zhao
bde144277c drivers: rk_nand: improve the processing mechanism of nand flash read and write exception
When NAND FLASH reads and writes with UECC, it may lose data.
Add a additional reading process to restore the data.

Change-Id: I08edc0f9f7867266e4e620c463b54f7813f66602
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-04-13 14:24:19 +08:00
YouMin Chen
0ddf8164ca arm64: dts: rockchip: rk3399: fix VDD_CENTER to 0.9V
Change-Id: I1226b92fd96be7a86208a9363cc38060115043be
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2018-04-13 14:11:28 +08:00
Rimon Xu
f33a586497 arm64: dts: rockchip: rk3328-evb-android: set cma memory to 32M
When playing secure video, you need to interact with secure OS.
The interaction to secureOS must be a physical continuous memory,
so CMA needs to be used, and now CMA is not enough and 32M is
enough.

Change-Id: Ie665152808a048045e702b3e0e9d9137f30975b5
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2018-04-12 20:42:47 +08:00
Sandy Huang
eae144a7cc drm/rockchip: vop: update lineflag1 number for ddr freq conver
except rk3368 and rk3328 lineflag1 number should be set before last
active line 1000us, other platform lineflag1 number should be
set at the last active line.

Change-Id: I4598ae79f437e180c4de261894f09b421b473572
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-04-12 09:33:32 +08:00
Zheng Yang
82961381f2 phy: rockchip: inno-hdmi: remove unreasonable code
Change-Id: Ia35359e590c01a696a90f8fdb471f568eb1fd464
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2018-04-11 18:49:12 +08:00
Hu Kejun
ea18c34e39 arm64: dts: rockchip: px30: and dts of rkisp1 and ov5695
Change-Id: I7dccf31cd6b781d53d25a5e53ea6642460cb14ac
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2018-04-11 18:30:37 +08:00
Hu Kejun
064b747bf0 arm64: dts: rockchip: add dts of rkisp1 for rk3326
Change-Id: I0e6fe49d8560aee7404e9685f9356978b7148c7a
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2018-04-11 18:30:37 +08:00
Hu Kejun
87dfc62bcb media: i2c: modify ov5695 driver for rkisp1
Change-Id: I31e73224120dcf67d65c833d767f55200a8ed6cb
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2018-04-11 18:30:37 +08:00
Hu Kejun
440f7f5fde media: rockchip: phy: Support for RK3326
Change-Id: I76d076a110a773a9c1c24742564699900476a8d9
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2018-04-11 18:30:37 +08:00
Hu Kejun
c16d640f8e media: rockchip: isp: Support for RK3326
Change-Id: Iceca3111e6fd03ea6cd64a3c1fcf9627acc4a8c6
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2018-04-11 18:30:37 +08:00
Ziyuan Xu
75e03927ee mmc: dw_mmc: add xfer timer for avoid DTO without actual data payload
It has proved the controller has a potention broken state with a DTO
interrupt comes while the data payload is missing, which was not covered
by current software state machine. Add a xfer timer to work around
this buggy behaviour introduced by broken design.

Change-Id: I5019c5ba0cdeb59adcdd3a5231a2000b448762bc
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2018-04-11 16:51:53 +08:00
Zheng Yang
0f160e2bd2 phy: rockchip: inno-hdmi: enable RK3328 phy irq
RK3328 hdmi phy introduces an irq to detect ESD status
of TMDS link. If irq is triggered, it is need to reset
pdata_en signal.

Change-Id: I6190d57d3b4f7c4f6791e1204cb9d8a99da988e2
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2018-04-11 16:51:39 +08:00
Hu Kejun
97ed8ef8c8 media: rockchip: isp1: enable CIF_ISP_CTRL_ISP_CFG_UPD_PERMANENT of isp ctrl register
For those sub modules that have shadow registers in core isp, if
CIF_ISP_CTRL_ISP_CFG_UPD_PERMANENT of isp ctrl is disabled, the
new parameters will not be updated to shadow registers automatically.

BUG=b:36227021
TEST=scarlet can preview, LSC data table can be switched.

Change-Id: I804ddfc45b3c2fca9a6f51627af4264a25075070
Signed-off-by: ZhongYiChong <zyc@rock-chips.com>

Change-Id: I801f49e5b9ff2ec30cfe2cf821904b61174226d5
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2018-04-11 16:31:00 +08:00