This patch adds driver for Omnivision's ov2685 sensor.
Though the ov2685 can output yuv data, this driver only
supports the raw bayer format, including the following features:
- output 1600x1200 at 30fps
- test patterns
- manual exposure/gain control
- vblank and hblank
- media controller
- runtime pm
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
BUG=b:36227021
TEST=Camera works on Scarlet with the whole series
(am from https://patchwork.linuxtv.org/patch/46251/)
Conflicts:
drivers/media/i2c/Kconfig
drivers/media/i2c/Makefile
Change-Id: Ia73ea2ff1d01226824f98bf4a45b98303223eed8
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
This patch adds driver for Omnivision's ov5695 sensor,
the driver supports following features:
- supported resolutions
+ 2592x1944 at 30fps
+ 1920x1080 at 30fps
+ 1296x972 at 60fps
+ 1280x720 at 30fps
+ 640x480 at 120fps
- test patterns
- manual exposure/gain(analog and digital) control
- vblank and hblank
- media controller
- runtime pm
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
BUG=b:36227021
TEST=Camera works on Scarlet with the whole series
(am from https://patchwork.linuxtv.org/patch/46248/)
Conflicts:
drivers/media/i2c/Makefile
Change-Id: Iaeb971c609d4a6d62fb23ae3b5c7881d4d3481f7
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
This adds support for the BOE Corporation MV270QUM-N10 27"
eDP(HBR2, 5.4Gbps) UHD TFT LCD panel, which can be supported
by the simple panel driver.
Change-Id: Ib7df60a7c9a5cd4755a67bedef35a95bcc16a498
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
if the combo is avsd and vdpu,clk_core is not necessary;
others case,the DTS will set the clk_core and here will
get the clk as well.
Change-Id: I5e33375e4655763791b9c4418bce7cbe0f5ac530
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
add power model for dmc and add dmc as a cooling device in thermal
control
Change-Id: I175e503b671be27e777693745a127a7830c6e829
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
add power model for rkvdec and add rkvdec as a cooling device in thermal
control
Change-Id: I4560f9b2a6b395d565652549a8f0dbcc1903da6f
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
add vpu module as a cooling device in thermal control
Change-Id: Ib71d925b32dbf861f62abf38b84b92c9f5bf9e3e
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
The ap6212a/ap6212 firmware can not support MFP protocol
Change-Id: I9835e7da0e7dbac6554f75ff28c3c3e9e785f39d
Signed-off-by: Xu Xuehui <xxh@rock-chips.com>
According to the actual schematic designed by kylin board, update and
rename the regulators for rk808 node information.
Especially gpu regulator voltage, the schematic didn't have this
regulator, this regulaor should be applied by cpu regulator since the
cpu/gpu/ddr are belong to the same logic power supply.
Change-Id: I39e4cf18969391da396cc775f8660701e42977bd
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
due to optee os bugfix patch for FIQ:
cf6a4d8 arm: sm: [bugfix] save/restore fiq core registers
we have to update sm_nsec_ctx to keep same with optee os, otherwise
FIQ debugger "bt" command is abnormal.
Change-Id: I950cfacd1c34abd88fbee2862c593b5fa59387bd
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Register rockchip fiq debugger as platform device, also do some
codingstyle for the driver.
Change-Id: I78e6c3365275e3d45e37eee86378c350a18f259d
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
When iommu fall into interrupt, status register indicate more information
than read or write flag, so use status register as parameter when callback
report_iommu_fault
Change-Id: I07c6b9996f305eb970bd1d1d2b0f2a7db53cc6ba
Signed-off-by: Simon Xue <xxm@rock-chips.com>
When the devfreq cooling device was designed, it was an oversight not to
pass a pointer to the struct devfreq as the first parameters of the
callbacks. The design patterns of the kernel suggest it for a good
reason.
By passing a pointer to struct devfreq, the driver can register one
function that works with multiple devices. With the current
implementation, a driver that can work with multiple devices has to
create multiple copies of the same function with different parameters so
that each devfreq_cooling_device can use the appropriate one. By
passing a pointer to struct devfreq, the driver can identify which
device it's referring to.
Change-Id: I384bf9aafd2391eccab2ca6a76e4e57f2740aa6b
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Reviewed-by: Punit Agrawal <punit.agrawal@arm.com>
Reviewed-by: Ørjan Eide <orjan.eide@arm.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 3aa5374376)
Having IPI_CPU_BACKTRACE as SGI15 may not work if the kernel is
running in non-secure mode and that the secure firmware has
decided to follow ARM's recommendations that SGI8-15 should
be reserved for secure purpose.
Now that we are "only" using SGI0-6, change IPI_CPU_BACKTRACE
to use SGI7, which makes it more likely to work.
Change-Id: I11e99a59024f1d256b45ede9cc2a89bb4d3dc1ae
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit e7273ff49a)
Since 9a46ad6d6d ("smp: make smp_call_function_many() use logic
similar to smp_call_function_single()"), the core IPI handling
has been simplified, and generic_smp_call_function_interrupt is
now the same as generic_smp_call_function_single_interrupt.
This means that one of IPI_CALL_FUNC and IPI_CALL_FUNC_SINGLE has
become redundant. We can then safely drop IPI_CALL_FUNC_SINGLE,
and use only IPI_CALL_FUNC.
This has the advantage of reducing the number of SGI IDs we're using
(a fairly scarse resource).
Tested on a dual A7 board.
Change-Id: I279a90b950c713e822bc4db9844788d7c05e7d77
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 89d798b73d)
It turns out that 5us of caldone isn't enough for all cases, so
let's retry some more times to wait for caldone. And use the API
instead of open-coding for polling dllrdy, but no functional change
intended.
Change-Id: I91e776871a223fc76f76c71ffa0d32c689fcca4e
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
cpu0-supply is for older DTs, we had better use new name from now on.
Change-Id: Icb80f5ad4718aeb1e112f317883a0cc756a5eaef
Signed-off-by: Liang Chen <cl@rock-chips.com>
The old mode uses soft timer to update received data,
which costs much cpu resource, even though there is no
data. The new mode is based on uart time out, it updates
data only when transfer completes.
Change-Id: Id12e351ff00015e4bfb36f416731ce4af5330001
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
The UART CPR may be 0 of some rockchip soc,
but it supports fifo and AFC, fifo entry is 32 default.
Change-Id: I44f420c556f703c2848c38dc8449546274ef887d
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Px30 afbdc made some improvements base on rk3399:
1. support virth width;
2. support buffer xoffset and yoffset;
Change-Id: I6d5b8bc0a66e468882998c9940da21812896b5c4
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
PX30 have two vop(vopb and vopl), the vopb have win0, win1 and win2,
the vopl have win1.
win0: support yuv and scale;
win1: support rgbx and afbdc format(vopb only);
win2: support rgbx and four region;
Change-Id: Ibb0ec88bb6c0a5e031d21432a86734fc9267fd1d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Add an intermediate opp so that rkvdec clock rate can be set to
an intermediate rate when temperature is above the trip point.
Change-Id: Ia94910185c708a501072c5da8aaebfcb206ad76b
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>