Commit Graph

608976 Commits

Author SHA1 Message Date
Putin Lee
cc06fabbcd video/rockchip: rga2: remove flush cache
Change-Id: If00a369f8e945a2f3b73920e6f1ba3cf455b8dfd
Signed-off-by: Putin Lee <putin.li@rock-chips.com>
2018-05-16 17:21:37 +08:00
Sugar Zhang
9063d6fd10 ALSA: pcm_dmaengine: always get stream position from DMA driver
This patch fixup that the wrong position when dma desc status
is DONE. even if the desc status is DONE, it is still able to
get the position from the dma driver. so, just remove the judgement.

Change-Id: I40e92bae09a002f4f5f0b2fab8b0e99fd3ee269d
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-16 17:15:38 +08:00
Nickey Yang
04b4744396 ARM: dts: rk3288: enable ddr frequency scaling for linux evb
Enable dmc and dfi nodes to support ddr frequency
scaling on rk3288-evb-linux board.

Change-Id: I578b7dcace09a337abf9c7f640786db588ff9406
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
2018-05-16 15:39:53 +08:00
Nickey Yang
f6d3e97ab5 ARM: configs: rockchip_linux: enable rockchip dmc
Change-Id: I7f078a8753b777c6e4a31dff426e97caf8319a5e
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
2018-05-16 15:39:47 +08:00
Nickey Yang
7327c3fd72 arm: dts: rk3288: add dfi and dmc device nodes in linux
Add dfi and dmc nodes in the device tree for the ARM rk3288 SoC.
To support ddr frequency scaling function, we need enable dmc and
dfi nodes.

Change-Id: I2ec7c216647443ec4354d282fd8f321f9d399929
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
2018-05-16 15:39:41 +08:00
Nickey Yang
b24a90bb35 arm: dts: rk3288: add needed nodes for trust in linux
This patch adds needed nodes for trust in rk3288-linux:

1.Add psci v1.0 support to call into secure world
  through psci APIs.

2.Use non-secure dmac instead of secure one.

3.Use new efuse compatible to match secure interface
  when kernel is in no-secure mode.

Change-Id: Id7fda3144388661979149cfa00822106b2872712
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
2018-05-16 15:39:36 +08:00
Yu YongZhen
8f80fed8ed arm64: dts: rockchip: rk3308: fix mute key to micmute for evb
Change-Id: Ic539d0816b2ffb5767a598e14d34d92b85beaaa1
Signed-off-by: Yu YongZhen <yuyz@rock-chips.com>
2018-05-16 15:31:13 +08:00
Heiko Stuebner
9476cd4af4 UPSTREAM: pinctrl: rockchip: Add iomux-route switching support for rk3288
The rk3288 also has one function that can be routed to one of two pins,
the hdmi cec functionality can use either gpio7c0 or gpio7c7.
So add the route switching support for it.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 4e96fd3042)

Change-Id: Id9fa17392a299a5a4035db5157946c150a5ab55e
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 15:22:24 +08:00
David Wu
fc2d8382ea pinctrl: rockchip: Add rv1108 recalculated iomux support
The pins from GPIO1A0 to GPIO1B1 are special, need to recalculate
iomux. And the register offset is larger than the u8 range, so changed
to u32.

Change-Id: I4b759f1ae7bf959bfb1a3a7a0374ea3492b9af4c
Signed-off-by: David Wu <david.wu@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-05-16 15:22:02 +08:00
Andy Yan
2747bd6813 pinctrl: rockchip: add input schmitt support for rv1108
Some pins like i2c SCL/SDA need the schmitt input function
to avoid crosstalk problems.

Change-Id: I015220c75f8fa6ce684cb47153f16a4bf9ecf3f0
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 15:21:42 +08:00
Andy Yan
0c9e8ab1db pinctrl: rockchip: rename RK1108 to RV1108
Rockchip finally named the SOC as RV1108, so change it.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
[adapted rk1108 dtsi to keep bisectability]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Change-Id: Id2c7584106424724a29f8de220f0961d86473fcb
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 15:21:21 +08:00
Andy Yan
5923d0f068 pinctrl: rockchip: add support for rk1108
This add pinctrl support for Rockchip RK1108 Soc.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>

Series-changes: 2
- add pull and drive-strength functionality

Series-changes: 3
- two minor CodingStyle fixes adviced by Heiko
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Change-Id: If1e886606b561bef251d5e75b0e8c289cf7c9db0
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 15:20:51 +08:00
Paul Gortmaker
aa4192c748 UPSTREAM: pinctrl: rockchip: make it explicitly non-modular
The Kconfig currently controlling compilation of this code is:

drivers/pinctrl/Kconfig:config PINCTRL_ROCKCHIP
drivers/pinctrl/Kconfig:        bool

...meaning that it currently is not being built as a module by anyone.

Lets remove the couple traces of modular infrastructure use, so that
when reading the driver there is no doubt it is builtin-only.

Note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

We also delete the MODULE_LICENSE tag etc. since all that information
is already contained at the top of the file in the comments.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-gpio@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 2f4362040b)

Change-Id: Ib164be5843323add47f8b103b16dbf8275ed21cd
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 15:19:54 +08:00
Arnd Bergmann
c79693f380 UPSTREAM: pinctrl: fix incorrect inline keyword in multiple drivers
When building with 'make W=1', we get harmless warnings about
five drivers in drivers/pinctrl, which all contain a copy of
the same line:

drivers/pinctrl/freescale/pinctrl-imx1-core.c:160:1: error: 'inline' is not at beginning of declaration [-Werror=old-style-declaration]

This replaces the somewhat nonstandard 'static const inline'
with 'static inline const', which has the same meaning but
does not cause this warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 56411f3c05)

Change-Id: I3f17511a23e5912af9a68c5a090a6f1e0b04d183
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 15:19:38 +08:00
David Wu
d2dbd60894 PM / AVS: rockchip-io: Define the px30-specific supply names
Also define the px30-specific supply names as can be seen in that
file for the other socs.

vccio-oscgpi ... aka with a "-" instead of "_".

Change-Id: I465e18123211b567f14d10e9705d9194fdfbd33b
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 15:18:25 +08:00
David Wu
5b78623c02 PM / AVS: rockchip-io: add io selectors and supplies for RV1108
This adds the necessary data for handling io voltage domains on the RV1108.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit 9d913e4343)

Change-Id: I068e5b0b9515775726c0429f0be97413d573e7c7
Signed-off-by: David Wu <david.wu@rock-chips.com>
2018-05-16 12:02:14 +08:00
Tao Huang
3bf64cbe1e PM / devfreq: rockchip_dmc: build depends on CPU config
Also fixed minor CodingStyle errors.

Change-Id: I46b9638d095aca8df73a8390638b5ce6d801b5fa
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2018-05-15 18:19:31 +08:00
Sandy Huang
50613be3c7 drm/rockchip: vop: set frame start to field start for interlace mode
In interlace mode(480i60hz) the frame rate is 30hz, this is too low and
lead to CTS test failed, so we use field start interrupt instead of
frame start, and the vsync will update to 60hz.

Change-Id: If73fb2b04dbd6749cc7cf899234a9f1e2283519e
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-05-15 17:10:17 +08:00
Ziyuan Xu
ce310133c0 arm64: dts: rockchip: support rk3308 AI-VA demo board
Change-Id: Ieca68048c5b8bb41e3e9a8524a46e59f4e88bc40
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2018-05-15 14:32:27 +08:00
Ziyuan Xu
c53382d33d arm64: dts: rockchip: support rk3308-evb-v11 boards
Change-Id: I9784a44bd0ab33f4ab8fade9b769049bb3d17c6c
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2018-05-15 11:24:12 +08:00
Ziyuan Xu
aed95973ab leds: leds-is31fl32xx: add suspend & resume support
This patch could reduce the power consumption almost 2ma@5v on
rk3308-evb-v10 boards.

Change-Id: I4ee94524427eda72b0f5b61be46cd7a6d3f6a17d
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2018-05-15 10:57:46 +08:00
Xing Zheng
e7c2b203f6 ASoC: rockchip: i2s-tdm: remove symmetric_rates by default
There are independent LRCK_RX and LRCK_TX in rockchip i2s-tdm,
so that it supports the asymmetric LRCKs when the CKR[29:28]
is 2'b00.

Change-Id: Ib06d1b833e23d4266f8606d5f1f261cf1357238d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2018-05-14 19:39:58 +08:00
William Wu
8c6207b121 FROMLIST: usb: dwc2: fix isoc split in transfer with no data
If isoc split in transfer with no data (the length of DATA0
packet is zero), we can't simply return immediately. Because
the DATA0 can be the first transaction or the second transaction
for the isoc split in transaction. If the DATA0 packet with no
data is in the first transaction, we can return immediately.
But if the DATA0 packet with no data is in the second transaction
of isoc split in transaction sequence, we need to increase the
qtd->isoc_frame_index and giveback urb to device driver if needed,
otherwise, the MDATA packet will be lost.

A typical test case is that connect the dwc2 controller with an
usb hs Hub (GL852G-12), and plug an usb fs audio device (Plantronics
headset) into the downstream port of Hub. Then use the usb mic
to record, we can find noise when playback.

In the case, the isoc split in transaction sequence like this:

- SSPLIT IN transaction
- CSPLIT IN transaction
  - MDATA packet (176 bytes)
- CSPLIT IN transaction
  - DATA0 packet (0 byte)

This patch use both the length of DATA0 and qtd->isoc_split_offset
to check if the DATA0 is in the second transaction.

Change-Id: Ie36cf25c4026f45db719c6eed036028159748b9f
Signed-off-by: William Wu <william.wu@rock-chips.com>
(am from https://patchwork.kernel.org/patch/10393777/)
2018-05-14 19:38:11 +08:00
William Wu
4a52e0955b FROMLIST: usb: dwc2: alloc dma aligned buffer for isoc split in
The commit 3bc04e28a0 ("usb: dwc2: host: Get aligned DMA in
a more supported way") rips out a lot of code to simply the
allocation of aligned DMA. However, it also introduces a new
issue when use isoc split in transfer.

In my test case, I connect the dwc2 controller with an usb hs
Hub (GL852G-12), and plug an usb fs audio device (Plantronics
headset) into the downstream port of Hub. Then use the usb mic
to record, we can find noise when playback.

It's because that the usb Hub uses an MDATA for the first
transaction and a DATA0 for the second transaction for the isoc
split in transaction. An typical isoc split in transaction sequence
like this:

- SSPLIT IN transaction
- CSPLIT IN transaction
  - MDATA packet
- CSPLIT IN transaction
  - DATA0 packet

The DMA address of MDATA (urb->dma) is always DWORD-aligned, but
the DMA address of DATA0 (urb->dma + qtd->isoc_split_offset) may
not be DWORD-aligned, it depends on the qtd->isoc_split_offset (the
length of MDATA). In my test case, the length of MDATA is usually
unaligned, this cause DATA0 packet transmission error.

This patch use kmem_cache to allocate aligned DMA buf for isoc
split in transaction. Note that according to usb 2.0 spec, the
maximum data payload size is 1023 bytes for each fs isoc ep,
and the maximum allowable interrupt data payload size is 64 bytes
or less for fs interrupt ep. So we set the size of object to be
1024 bytes in the kmem cache.

Change-Id: If842ad1b6ff2d59e4b8e5bb444246a1e6a8a3a85
Signed-off-by: William Wu <william.wu@rock-chips.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
(am from https://patchwork.kernel.org/patch/10393775/)
2018-05-14 19:38:11 +08:00
Elaine Zhang
32c3a8cf9c clk: rockchip: rk3288: export PCLK_PD_PMU and PCLK_PD_ALIVE clock id
Change-Id: Ie0550d9528367fa070328562fad2e597a5d6d7f7
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2018-05-14 16:21:11 +08:00
Elaine Zhang
6e06c1b833 clk: rockchip: rk3399: export CIF_OUT_SRC clock id for cif
Change-Id: I77423891821dae0412dda4414222ba64bd0a4a4a
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2018-05-14 16:21:11 +08:00
Nickey Yang
5cf80a855a media: i2c: imx219: fix settings for support 3A
This patch fix imx219 sensor settings:
1.Fix GAIN wrong settings before.
2.update 1080p_30fps initialize register list from Asus(sony).

Change-Id: I6fb5e16b3a9cf01bf87382de8130592c6dfbbb97
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
2018-05-14 16:20:24 +08:00
Alex Zhao
243f6ead0f net: wireless: rockchip_wlan: fix ap6354 sleep issue
do not let the kernel go to sleep while TCP packets are being sent.

Change-Id: I31b86af06f97816d28e4ad691ac6d37973724329
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
2018-05-14 16:03:22 +08:00
xiaoyao
4ecfee5112 net: wifi: add get_oob_irq_flags interface for request_irq(flags)
Change-Id: I251d3dbad7dbf97c503b3f1ddf46199d8e669cae
Signed-off-by: xiaoyao <xiaoyao@rock-chips.com>
2018-05-14 14:22:24 +08:00
Sugar Zhang
ab01fa5a2f arm64: rockchip_defconfig: enable CONFIG_SND_SOC_ROCKCHIP_FORCE_SRAM
This patch depends on iram node and 'rockchip,force-iram' property.

the example on rk3399 to active this feature is as follows:

iram: sram@ff8d0000 {
	compatible = "mmio-sram";
	reg = <0x0 0xff8d0000 0x0 0x20000>; /* 128k */
};

&dmac_bus {
	iram = <&iram>;
	rockchip,force-iram;
};

if the 'rockchip,force-iram' not defined, fallthrough to normal usage.

Change-Id: I625a50835a6ea91dd2a66698bec087551be8a12c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-14 14:14:16 +08:00
Zorro Liu
0e5da6d8cf arm: config: rockchip_defconfig: add touchdriver gsla680 default
Change-Id: I7c8226431807c4381cffe166127397bbd8bc93f7
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2018-05-14 14:11:42 +08:00
Zorro Liu
88137a9035 driver: input: touch: add gslx680a touch driver
Change-Id: I23e8cca1551308cd0a646aacde2149880e5766c7
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2018-05-14 14:10:52 +08:00
Zorro Liu
ede1c93105 arm: dts: rockchip: add rk3288 th804 dts file
Change-Id: Ie3045ec39b3d12738089b639bef3183a54b61955
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2018-05-14 14:07:59 +08:00
Zorro Liu
d93c0511b4 arm: dts: rockchip: move edp_panel defined from rk3288-android.dtsi to board dts files
Change-Id: Ib8b35ea07e6cb6ae89b69ae656f9e2cff7f33a91
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2018-05-14 14:05:39 +08:00
Xinhuang Li
255f99c699 ASoC: rockchip: hdmi_analog: set sysclk for multiple codec dai
if there has multiple codec,we need set the sysclk for each codec

Change-Id: Ieb56710aeff070a58c7d566d428507ecf852a3e2
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
2018-05-14 11:15:51 +08:00
Binyuan Lan
714f5c10b5 arm64: dts: rockchip: add rk809 pinctrl info for rk3326-evb-ai-va
Change-Id: I3f6e0c2b5ab996fae0496a71429c4ccd0322ac3f
Signed-off-by: Binyuan Lan <lby@rock-chips.com>
2018-05-14 10:56:54 +08:00
Finley Xiao
f422b3370a clk: rockchip: px30: Set max parent rate for pdm fractional divider
Change-Id: I4a2fc90070d380fed280494784f46005f2b5b18d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2018-05-14 10:28:58 +08:00
Sugar Zhang
9019a912de arm64: dts: rockchip: px30: add reset control for i2s0_8ch
Change-Id: I6fb0224f36ade0701c3c0561b996cfdf99379030
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-14 10:27:59 +08:00
CanYang He
18bd7e66b7 arm64: dts: rockchip: rk3399 lpddr4 dts add center-supply
rk3399-evb-rev3-android-lp4.dts add center-supply, otherwise customer
follow this dts file may leave out it. and cause
rockchip_dmcfreq_probe() fail, then lpddr4 lose scale frequency function
and cannot find /sys/class/devfreq/dmc

Change-Id: I05f36a80fd5f95e29f1083f956a799149e88b1f3
Signed-off-by: CanYang He <hcy@rock-chips.com>
2018-05-14 10:26:33 +08:00
Wyon Bi
537d489142 arm: dts: rockchip: specify a 'bpc' property for the 6bit edp panel
Change-Id: I0a266015a1e62f10a181c9a66088335cae44ee05
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-05-11 14:48:41 +08:00
Wyon Bi
c04b581894 arm64: dts: rockchip: specify a 'bpc' property for the 6bit edp panel
Change-Id: Ifdd366eb9c2566f5b9b402a7041af539a5460944
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-05-11 14:48:41 +08:00
Zhen Chen
98d4505e1b arm64: dts: rockchip: modify 'gpu_power_model' for Midgard DDK r18 on rk3399
The values of the coefficients are the ones in px30.dtsi,
according to Rocky Hao.

Change-Id: I1843b999a3b93fd5791e556db8733596c75ef8ac
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2018-05-11 14:45:47 +08:00
Joseph Chen
b053b22930 arm64: dts: rockchip: rk3308: add rockchip_suspend node
Change-Id: Ib3a2d78da9a1c6a093b1c49c6393f098b2e03a8a
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2018-05-11 14:44:53 +08:00
Joseph Chen
418ecc848d soc: rockchip: support rk3308 pm config
Change-Id: Icf51062e9c1ce27244c8a3744b61a5baab7e7024
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2018-05-11 14:44:53 +08:00
Sugar Zhang
1363f914b1 arm64: dts: rockchip: px30: add reset control for pdm
Change-Id: I7381a0436f0946efd8662218b1ef795bac3b048c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-11 14:42:43 +08:00
Sugar Zhang
aca2ab632c arm64: dts: rockchip: rk3308: add reset control for pdm
Change-Id: I9c35dff559f15486c9d41a978b78b53473c028a9
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-11 14:41:39 +08:00
Sugar Zhang
98de205efe ASoC: rockchip: pdm: fixup pdm fractional div
Change-Id: I4fa9172e5738f03ad5050965db23f9a72abf7bae
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-11 14:41:25 +08:00
Sugar Zhang
dfb335eac4 arm64: dts: rockchip: rk3399-evb-rev3-android-lp4: enable rockchip,force-iram
Change-Id: I41a4eff53fd2ad8ec4f4e62b6c877e088e68a6da
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-11 14:28:55 +08:00
Sugar Zhang
57fae85633 ASoC: rockchip: add support for "rockchip,force-iram"
This patch handle the force-iram function by devicetree.

Change-Id: I95fe96091c560507a37cd0833cf2507e4d2bc636
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2018-05-11 14:28:55 +08:00
Xing Zheng
8ed5fc3749 ASoC: rk3308_codec: fix both of LINEOUT and HPOUT output
Change-Id: I6967ccd8bbf4117e8e6ac83ecfd145b4eae1b117
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2018-05-11 14:13:22 +08:00