Commit Graph

600793 Commits

Author SHA1 Message Date
Sugar Zhang
4f1088f1f6 ASoC: codecs: cleanup codes
Change-Id: I42d9d6c24fc879b422fd9f18fe3af7d6f3b26d90
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-19 14:35:47 +08:00
Sugar Zhang
90da176da8 ASoC: rockchip: cleanup codes
Change-Id: Ieacbcc8311fa683394c57a21c69099620b294ffc
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-19 14:35:34 +08:00
xcq
805a10e48f ARM: dts: rockchip: enable isp for rk3288 evb
Change-Id: I2291f43ec9e3b7e3cf5a306f9bfcfd60083be3c3
Signed-off-by: xcq <shawn.xu@rock-chips.com>
2017-04-19 14:34:43 +08:00
xcq
ddfc94d0b2 camera: rockchip: camsys v0.0x21.0xc
camsys driver support rk3288

Change-Id: Iddcca33b40df58c75164bdc8828ac0b82c2c6ff6
Signed-off-by: xcq <shawn.xu@rock-chips.com>
2017-04-19 14:34:32 +08:00
xcq
57f0b072c2 arm: dts: rk3288: add isp config
Change-Id: I00883343c8addff1adc71bef5001d3064b829d97
Signed-off-by: xcq <shawn.xu@rock-chips.com>
2017-04-19 08:45:45 +08:00
Jacob Chen
1343ca9e43 drm/rockchip: rga: fix smatch check
Change-Id: I884ca0d65f1092720262ee96c85803071cbc6284
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-04-19 08:42:36 +08:00
Jacob Chen
e820635300 drm/rockchip: rga: add buf flush flag
The buffer have been accessed by CPU needs to be synced
for the device to see the most up-to-date.

So introduce a flag here to see if a buffer need flush cache.

Change-Id: I68457aa528d04acc6f92dfa2171d8c807ab657a6
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-04-19 08:42:21 +08:00
William Wu
65bfd30a16 arm64: dts: rockchip: add linestate check dis quirk for rk3328 dwc3
rk3328 dwc3 has a problem that USB 2.0 MAC lineState not
reflect the expected line state (J) during transmission.
Add this quirk to add the ipgap between (tkn to tkn/data)
with 40 bit times of TXENDDELAY, and linestate is ignored
during this 40 bit times delay.

Change-Id: I76895476bff94c2198a5d8df7e73b9d54fbb96ed
Signed-off-by: William Wu <william.wu@rock-chips.com>
2017-04-18 19:26:31 +08:00
William Wu
9be0be74f5 arm64: dts: rockchip: add linestate check dis quirk for rk3399 dwc3
rk3399 dwc3 has a problem that USB 2.0 MAC lineState not
reflect the expected line state (J) during transmission.
Add this quirk to add the ipgap between (tkn to tkn/data)
with 40 bit times of TXENDDELAY, and linestate is ignored
during this 40 bit times delay.

Change-Id: Ife9d46dbf2a8d4a8faa2fc20bfad442d6bb88a05
Signed-off-by: William Wu <william.wu@rock-chips.com>
2017-04-18 17:55:35 +08:00
William Wu
6aff8113be FROMLIST: usb: dwc3: add disable u2mac linestate check quirk
This patch adds a quirk to disable USB 2.0 MAC linestate check
during HS transmit. Refer the dwc3 databook, we can use it for
some special platforms if the linestate not reflect the expected
line state(J) during transmission.

When use this quirk, the controller implements a fixed 40-bit
TxEndDelay after the packet is given on UTMI and ignores the
linestate during the transmit of a token (during token-to-token
and token-to-data IPGAP).

On some rockchip platforms (e.g. rk3399), it requires to disable
the u2mac linestate check to decrease the SSPLIT token to SETUP
token inter-packet delay from 566ns to 466ns, and fix the issue
that FS/LS devices not recognized if inserted through USB 3.0 HUB.

(am from https://patchwork.kernel.org/patch/9684951/)
Change-Id: I6298f59a5b89a76a90c628a58c932942ede2c3ef
Signed-off-by: William Wu <william.wu@rock-chips.com>
2017-04-18 17:55:20 +08:00
John Youn
d444c33b8b UPSTREAM: usb: dwc3: Add support for device L1 exit
For the usb31 IP and from version 2.90a of the usb3 IP, the core
supports HW exit from L1 in HS. Enable it, otherwise the controller may
never exit from LPM to do a transfer.

Conflicts:
	drivers/usb/dwc3/core.c
	drivers/usb/dwc3/core.h

Change-Id: I074d3ab2e386b872800e2c9898398d3696228527
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: William Wu <wulf@rock-chips.com>
(cherry picked from commit 0bb39ca1ad)
2017-04-18 17:55:12 +08:00
Finley Xiao
3f48f9795c cpufreq: dt: support checking initial rate
Bootloader or kernel sets CPU frequency to an initial value before cpufreq
starts on rockchip platform, if cpu's opp table is modified to a specified
value, it will cause an issue.

For example, the initial frequency is 816MHz and voltage set by hardware
is 900mV:
1. there is only one opp whose frequency is 816MHz and voltage is 850mV
in opp table list, as they frequency is equal, the voltage will not be
changed, it is still 900mV and a little too large relative to 850mV.
2. there is only one opp whose frequency is 1200MHz and voltage is 1100mV
in opp table list, as it doesn't set voltage to 1100mV before set frequency
to 1200MHz in the dev_pm_opp_set_rate function, the initial voltage 900mV
cann't supply for 1200MHz, the system crash.

Change-Id: Iba41536367ba5802dd8f7f37e245f0e5781eb643
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:13:44 +08:00
Finley Xiao
b0005b79e4 arm64: dts: rockchip: delete cpu-avs device node
Change-Id: I86dd02761a4156768af018c0c90a61afb0ff74a6
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:12:22 +08:00
Finley Xiao
6f34aaad21 PM / AVS: rockchip-cpu-avs: remove driver
The CPUFREQ_CREATE_POLICY and CPUFREQ_START had removed on 'master'
of git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git.
So the driver will be unused in the future.

Change-Id: I7e26a8050c4745d3390302babeafbbc40ff5e707
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:10:31 +08:00
Finley Xiao
346cde4e35 PM / OPP: remove check of supported_hw and prop_name when remove opp table
It's also removed in
commit fa30184d19 ("PM / OPP: Return opp_table from dev_pm_opp_set_*()
routines").

This path fixes the below errors:
rk3368:/ # echo 0 > /sys/devices/system/cpu/cpu7/online
[   39.475170] CPU7: shutdown
[   39.478565] psci: CPU7 killed.
rk3368:/ # echo 0 > /sys/devices/system/cpu/cpu6/online
[   39.541350] CPU6: shutdown
[   39.544308] psci: CPU6 killed.
rk3368:/ # echo 0 > /sys/devices/system/cpu/cpu5/online
[   39.601355] CPU5: shutdown
[   39.604446] psci: CPU5 killed.
rk3368:/ # echo 0 > /sys/devices/system/cpu/cpu4/online
[   40.148213] CPU4: shutdown
[   40.151526] psci: CPU4 killed.
rk3368:/ # echo 1 > /sys/devices/system/cpu/cpu4/online
[   44.915743] Detected VIPT I-cache on CPU4
[   44.915997] CPU4: update cpu_capacity 1024
[   44.916031] CPU4: Booted secondary processor [410fd033]
[   44.921409] cpu cpu4: dev_pm_opp_set_prop_name: Already have prop-name L1
[   44.921554] cpu cpu4: Failed to set prop name
[   44.921597] cpu cpu4: Failed to set_opp_info
[   44.923002] cpu cpu4: opp_list_debug_create_link: Failed to create link
[   44.923061] cpu cpu4: _add_opp_dev: Failed to register opp debugfs (-12)

Change-Id: I4143a8f0327964244dc63864ba159f306890fb16
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:09:07 +08:00
Finley Xiao
103903ff37 arm64: dts: rk3368: add opp-microvolt-L0/1 property for cpu opp table
Change-Id: Ib21738447057648a24f2e66b637de280bb2b82eb
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:04:53 +08:00
Finley Xiao
236c3e6f48 arm64: dts: rk3368: add leakage-voltage-sel property for cpu opp table
Change-Id: I5f72c3cd59216723018a021b77081f9fbd630b0e
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:04:28 +08:00
Finley Xiao
92e3b22798 cpufreq: rockchip: Provide runtime initialised driver
This path introduces a rockchip-cpufreq driver, which can determine
available OPPs and select a suitable voltage for available OPPs
according to SoC version and leakage valuses in eFuse at runtime.

If all cpus of a cluster are downed, opp table will be removed,
prop-name and supported_hw are noneffective. So add a hotcpu notifier
to set them again when a cpu of the closed cluster is upped.

Change-Id: I43ab3e2cad4a9fefd5be5b0596cd841c392d7a8b
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:04:06 +08:00
Finley Xiao
2b2efa8820 Documentation: dt: add bindings for rockchip-cpufreq
Add the device tree bindings document for ROCKCHIP CPUFreq driver.
The operating-points-v2 binding allows us to provide an opp-supported-hw
property for each OPP to define when it is available and an
opp-microvolt-<name> property to choose a suitable voltage for OPP.

This driver reads SoC version and leakage values from eFuse and
provides them as matching data to the opp framework.

Change-Id: I10f959edd46668bedf3be4835bb5ec63e089808d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-18 16:03:53 +08:00
wlq
509c21088b ARM64: dts: rk3368-android: enabled mailbox/mailbox_scpi
Change-Id: I664f6d928ec86990222de64baf0f50ab2f8584da
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2017-04-18 16:02:28 +08:00
wlq
55851670bc ARM64: dts: rk3368-p9: set vccio_wl to 1.8v
Change-Id: I8683049b689f97af8ff36948db6ce7887b308a85
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2017-04-18 16:00:53 +08:00
Meng Dongyang
d64f8eb01b phy: rockchip-inno-usb2: tuning USB 2.0 PHY when resume
The USB 2.0 PHY may lose tuning config after resume if the
PD turn off its power when suspend. So we need to tune USB
2.0 PHY again when resume.

Change-Id: Ib34de165ccd7d22598e77e5ac0fed1233e7adba0
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
2017-04-18 15:54:42 +08:00
Mark Yao
52849e6d66 drm/rockchip: logo: fix logo memory end on free
It's mistake using logo size as logo memory end, and that would cause:

[    8.443899] BUG: Bad page state in process recovery  pfn:7dcc3
[    8.443903] page:effb3860 count:0 mapcount:3 mapping:eebdf784 index:0x15
[    8.443907] flags: 0x4004007c(referenced|uptodate|dirty|lru|active|swapbacked)
[    8.443918] page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set
[    8.443922] bad because of flags:
[    8.443924] flags: 0x60(lru|active)
[    8.443930] Modules linked in:
[    8.443935] CPU: 0 PID: 170 Comm: recovery Tainted: G    B           4.4.55 #70
[    8.443939] Hardware name: Rockchip (Device Tree)
[    8.443947] [<c010f55c>] (unwind_backtrace) from [<c010b7ec>] (show_stack+0x10/0x14)
[    8.443955] [<c010b7ec>] (show_stack) from [<c03bc3a8>] (dump_stack+0x7c/0x9c)
[    8.443963] [<c03bc3a8>] (dump_stack) from [<c01eb430>] (bad_page+0xe4/0x114)
[    8.443971] [<c01eb430>] (bad_page) from [<c01eb550>] (free_pages_prepare+0xf0/0x294)
[    8.443978] [<c01eb550>] (free_pages_prepare) from [<c01ed654>] (free_hot_cold_page+0x28/0x14c)
[    8.443987] [<c01ed654>] (free_hot_cold_page) from [<c01ed954>] (free_reserved_area+0x90/0xdc)
[    8.443996] [<c01ed954>] (free_reserved_area) from [<c04749f4>] (rockchip_free_loader_memory+0xf0/0x118)
[    8.444006] [<c04749f4>] (rockchip_free_loader_memory) from [<c0475b14>] (rockchip_drm_fb_destroy+0xbc/0xd0)
[    8.444015] [<c0475b14>] (rockchip_drm_fb_destroy) from [<c04581e0>] (drm_mode_set_config_internal+0xa8/0xc4)
[    8.444024] [<c04581e0>] (drm_mode_set_config_internal) from [<c045ce24>] (drm_mode_setcrtc+0x3a8/0x464)
[    8.444032] [<c045ce24>] (drm_mode_setcrtc) from [<c044f634>] (drm_ioctl+0x278/0x43c)
[    8.444039] [<c044f634>] (drm_ioctl) from [<c023ea58>] (do_vfs_ioctl+0x564/0x6a0)
[    8.444047] [<c023ea58>] (do_vfs_ioctl) from [<c023ebe0>] (SyS_ioctl+0x4c/0x74)
[    8.444055] [<c023ebe0>] (SyS_ioctl) from [<c0107180>] (ret_fast_syscall+0x0/0x3c

Change-Id: I833a27464d9d33f6864039faa61e7500a3b936b3
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-18 15:43:03 +08:00
Elaine Zhang
1b0d1af073 clk: rockchip: rk3288: fix up the hclk_vio register
fix up the hclk_vio register order,
before setting clk critical.

Change-Id: Ia3a4d2fcb8ee8164dfe621d2d081076000a30937
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2017-04-18 14:59:33 +08:00
Jianqun Xu
c4a0af4e08 arm: dts: rk3288-evb: remove limit usage for vopb
There are many notes - Don't use vopb for HDMI, save it for eDP,
let's remove them for kinds of products.

Change-Id: Id8ef9ec8ac853e7b68527f59a9a8870b5a45d8f2
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-18 14:14:55 +08:00
Meng Dongyang
fc6a791259 phy: rockchip-inno-usb2: tuning USB 2.0 squelch detection threshold
According to USB 2.0 Spec Table 7-7, the High-speed squelch
detection threshold Min 100mV and Max 150mV, and we set USB
2.0 PHY0 and PHY1 squelch detection threshold to 150mV by
default, so if the amplitude of differential voltage envelope
is < 150 mV, the USB 2.0 PHYs envelope detector will indicate
it as squelch.

On RK3399 box, if we connect usb device with a 4 meter cable,
we can see that the impedance of U2 cable is too big according
to the eye-diagram test report, and this cause serious signal
attenuation at the end of receiver, the amplitude of differential
voltage falls below 150mV.

This patch aims to reduce the PHY0 and PHY1 otg-ports squelch
detection threshold to 125mV (host-ports still use 150mV by
default), this is helpful to increase USB 2.0 PHY compatibility.

Change-Id: Iec8b4043a3440d6f2a5fb18ff59ac0f4988019e9
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
2017-04-17 18:06:18 +08:00
Jianqun Xu
dd9460f593 video: rockchip: rk322x_lcdc: fix error condition
Change-Id: I1c28a815beb74a7566886aef666454ec1513970b
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-17 17:04:13 +08:00
xuhuicong
1319af9010 drm/rockchip: fix hdmi no display when resume or switch resolution
spelling mistake cause hdmi phy configure error, now correct it

Change-Id: I548d76dd44e8d39e35b95138ec3d25b358cf3376
Signed-off-by: xuhuicong <xhc@rock-chips.com>
2017-04-17 15:49:42 +08:00
Sugar Zhang
49c16833b7 ARM64: configs: rockchip_linux: enable rk3328 internal codec
Change-Id: I03ad95e771a4b506d6462be5dade0553eb121fcc
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-17 15:10:40 +08:00
Sugar Zhang
fd873ff52c ARM64: dts: rk3328-evb: add spdif sound
Change-Id: I76adc6286d831f513da3f5547975d7fcd3c392e9
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-17 15:10:15 +08:00
Sugar Zhang
03880d566f ARM64: configs: rockchip: enable rk3328 internal codec
Change-Id: I7c71d81e768fcd58b935f9f40d71c5834d04573d
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-17 15:09:53 +08:00
Sugar Zhang
398dc60dc5 ARM64: dts: rk3328-evb: add support for internal codec sound
Change-Id: I8b1705f592d42e2f1d351ce5a7880993f7757b94
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-17 15:09:34 +08:00
Sugar Zhang
02b29fc8d1 ARM64: dts: rk3328: add acodec node
Change-Id: I5d564066fa1d399c2c4fabf753eb6f698136a52c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-17 15:08:56 +08:00
Sugar Zhang
cdcc1fe8ec ASoC: codecs: add support for rk3328
Change-Id: I66ff61c18fe70135fd7ac0569954263743263a3a
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-17 15:08:47 +08:00
WeiYong Bi
f99b018e7b drm/panel: Change dlen from u16 to u8
U8_MAX payload length can meet most requirements

Change-Id: I77e5780bde72b4229ab36d961dc7498f7c78a468
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-17 15:06:02 +08:00
Mark Yao
14c0ac3240 drm/bridge: analogix: fix edid not works
Change-Id: I1a964b51d0d137e66ad5d073a2eef2fb22770bba
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-17 15:04:44 +08:00
Finley Xiao
8f68cd86d5 ARM: rockchip_defconfig: enable DEVFREQ_GOV_SIMPLE_ONDEMAND
Change-Id: I3cdcceca0f5c743b84ab1ec159bb576a7a5ab5a5
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-17 11:16:45 +08:00
Huang, Tao
8fe5cad774 ARM: rockchip_defconfig: update by savedefconfig
Change-Id: I4b5ec60a8beeb014754855a4865bc7fc26f2fddd
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2017-04-17 11:14:57 +08:00
WeiYong Bi
1616bc22bd drm/panel: support transmit DSI packet
Change-Id: I6115479eebc05b44a8c01cd72919db0e5a6cb1f9
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-17 11:08:04 +08:00
WeiYong Bi
8e8535815e phy: rockchip-inno-mipi-dphy: Add fixed timing param table
Change-Id: Ia6a92833f4b597ac5f9af694644714a7b71b3375
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-17 11:07:11 +08:00
LuoXiaoTan
758b9ce53b ASoC: rockchip: add rt5651_tc358749x driver
add rockchip_rt5651_tc358749x machine driver to
support HDMIIn function

Change-Id: Ieb0e046bec60ea0a27ee49ce1204b032ad646724
Signed-off-by: LuoXiaoTan <lxt@rock-chips.com>
2017-04-17 11:04:36 +08:00
LuoXiaoTan
80eba80559 ASoC: codecs: add tc358749x codec driver
add tc358749x codec driver for hdmiin function

Change-Id: I819ac80ced59b5d81d547f7ba2c7ebc7bee7f845
Signed-off-by: LuoXiaoTan <lxt@rock-chips.com>
2017-04-17 11:04:26 +08:00
Jianqun Xu
cd13e47893 arm: dts: rk3288-evb-rk818: set tsadc default pinctrl to gpio
When rockchip,hw-tshut-mode is 0, means that tshut mode is CRU,
then the pinctrl should default to be GPIO.

If the tshut mode is GPIO, then the pinctrl should default to be
OTP_OUT.

Change-Id: Ic6e53a96823baf4671f9bad261ed34586512634f
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-17 10:57:42 +08:00
Jianqun Xu
cdf6fc302e arm: dts: rk3288-android: set PWM_POLARITY_INVERTED to 0
Change-Id: I47623781f93f2f325f76e1fa4a7ffe515623064e
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-17 10:57:25 +08:00
William Wu
9a47b6de54 usb: dwc_otg_310: support vbus controlled by both gpio and pmic
On some rockchip platforms (e.g. rk3368), usb vbus 5v is controlled
by both gpio and pmic at the same time. So we need to set gpio and
pmic when enable/disable usb vbus power.

Change-Id: I327a87f16662026eaab1b6577d0b0116c4b2671f
Signed-off-by: William Wu <wulf@rock-chips.com>
2017-04-17 08:54:22 +08:00
xiaoyao
b4e7e31d6a arm64: dts: rk3368: fix string error for sdio
Change-Id: Ia7a122bd52d71442c31f71677ae24c52c83631cd
Signed-off-by: xiaoyao <xiaoyao@rock-chips.com>
2017-04-17 08:42:15 +08:00
Sugar Zhang
9fbf7a2507 ARM64: configs: update rockchip_linux_defconfig by savedefconfig
Change-Id: I82e2827c8356e0577bd6426d7275339ef6a83152
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-14 18:00:32 +08:00
LuoXiaoTan
5318fc6afb arm64: rockchip_defconfig: enable RT5651_TC358749
enable CONFIG_SND_SOC_ROCKCHIP_RT5651_TC358749
for HDMIIn function

Change-Id: I5c77b3f03d75ea1c51a89a2396ff6472554025a5
Signed-off-by: LuoXiaoTan <lxt@rock-chips.com>
2017-04-14 17:10:18 +08:00
LuoXiaoTan
802ee8a489 ASoC: rt5651: add alc5651 ASRC switch for HDMIIn
Change-Id: I447228656d5ee56b2c4b04c515ad71f34e107ba0
Signed-off-by: LuoXiaoTan <lxt@rock-chips.com>
2017-04-14 17:09:46 +08:00
LuoXiaoTan
0d8e573c30 arm64: dts: rk3399-sapphire: enable isp0 isp1
Enable isp0 & isp1 for HDMIIn video function

Change-Id: I1f46c413f198acdce7a08702c42f0142d6eabfd6
Signed-off-by: LuoXiaoTan <lxt@rock-chips.com>
2017-04-14 17:05:42 +08:00