if power-invert exist the panel power need to disable ldo when
power on and enable ldo when power off otherwise it's opposite.
example:
panel {
...
power-invert;
...
};
Change-Id: Ida5718d01044873cdd7c753c4e8b872dc1e52099
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
because currently mclk is handled by codec side, so the
associated pinctrl should be handled by codec too.
Change-Id: I0611b7a291351a20f72b5124c501dc79d92787d6
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
because currently mclk is handled by codec side, so the
associated pinctrl should be handled by codec too.
Change-Id: I55db6e9a0181cae0cb414b9dcacae7ff0214b50c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Initialize default format for current stream and set stream state
to 'READY' in case of streaming on by user without passing format
to driver. Default format will be overridden by VIDIOC_S_FMT.
Implement VIDIOC_G_FMT and application can get the format info
of current stream now. This will become necessary when enable
'--set-fmt-video' option of v4l2-ctl test suite,
Set bytesused of each plane to its real size to prevent confusing.
The IO mode of vb2 queue 'VB2_DMABUF' is now supported.
Change-Id: Id52da502df8aea796b3405ebf472541a394afd80
Signed-off-by: Jacob Chen <cc@rock-chips.com>
When import dma_buf to rga driver, dma_map_sg will always do
cpu cache sync, it cause low performance.
Actually we don't want to do cpu cache sync on this context,
So set rga device with dma-coherent to skip cpu cache sync.
Change-Id: Ie256db6a072481953befafb5b8003b9c1e713436
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
When import dma_buf to rga driver, dma_map_sg will always do
cpu cache sync, it cause low performance.
Actually we don't want to do cpu cache sync on this context,
So set rga device with dma-coherent to skip cpu cache sync.
Change-Id: Idfeb0de2e1d92873dcbd560cec40a4f9f8807013
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
If the gpio base is started from 1000, the "gpio = 0" will
be invalid, that can avoid something unforeseen. The real
pin number is "gpio number - 1000".
If you cat the gpio log, you will see the log like this:
rk3399:/ # cat d/gpio
GPIOs 1000-1031, platform/pinctrl, gpio0:
gpio-1004 ( |bt_default_wake_host) in lo
gpio-1005 ( |power ) in hi
gpio-1009 ( |bt_default_reset ) out lo
gpio-1010 ( |reset ) out lo
gpio-1011 ( |? ) out hi
GPIOs 1032-1063, platform/pinctrl, gpio1:
gpio-1034 ( |int-n ) in hi
gpio-1035 ( |vbus-5v ) out lo
gpio-1036 ( |vbus-5v ) out lo
gpio-1045 ( |enable ) out hi
gpio-1046 ( |vsel ) out lo
gpio-1049 ( |vsel ) out lo
gpio-1056 ( |int-n ) in hi
GPIOs 1064-1095, platform/pinctrl, gpio2:
gpio-1083 ( |bt_default_rts ) in hi
gpio-1090 ( |bt_default_wake ) in hi
GPIOs 1096-1127, platform/pinctrl, gpio3:
gpio-1111 ( |mdio-reset ) out hi
GPIOs 1128-1159, platform/pinctrl, gpio4:
gpio-1150 ( |? ) out hi
gpio-1153 ( |vcc5v0_host ) out hi
gpio-1156 ( |hp det ) in hi
Change-Id: I744ddc1df6075b0a044d65c65622e2a59f3a332e
Signed-off-by: David Wu <david.wu@rock-chips.com>
This flag was in place to prevent important clocks from getting gated
while they had no users. Now that the driver supports clocks
properly, we can drop this.
Change-Id: I91d0a5c000ed7215bf55dbc871e175ac79a1cd2a
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
When DRAM frequency greater than or equal to this setting value,
the function of auto power-down will disable.
Change-Id: I0c7faee045ff00de0dc36adc45e21389c41aa81f
Signed-off-by: YouMin Chen <cym@rock-chips.com>
If frac clk parent rate is PLL rate, but still lower
than frac rate*20, not allowed fractional div.
Change-Id: I09c93e1d8f32c0a4e345057964d58505b1477204
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
clk_uart4_src default parent is 24M,does not satisfy the
fractional divider must set that denominator is 20 times
larger than numerator.
Change-Id: I21fd9866794e052414a6fdf1d64840ac2a0bb8f2
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
The dmc driver supports changing min_freq and max_freq according to
system status and vop bandwidth at present. But even if user changes
governor to userspace, the ddr frequency may also change constantly.
This patch adds a new dmc_ondemand governor which doesn't chang min_freq
and max_freq, it can also support changing ddr frequecy based on usage,
system status and vop bandwidth. So users can set their own frequency by
the userspace governor.
Change-Id: Ib731f29a6ded3b7f05e60cbae4f858e6beeac9da
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
There is a frequency map table between vop bandwidth and dmc, when vop
bandwidth is changed, the dmc frequency will also be changed to specified
frequency.
If new request frequency is greater than old request frequency, update dmc
target frequency immediately. If new request frequency is less than old
request frequency, only update min_freq and max_freq.
Change-Id: Ib5bf098faf5ffa72e60c34aa686431352420e69b
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
When not using the "_optional" function, a dummy regulator may be returned
and the driver fails to set voltage.
Change-Id: Ib636572362ece234d6b5694c8832ec01daa274e1
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
This flag was in place to prevent important clocks from getting gated
while they had no users. Now that the DSI driver supports clocks
properly, we can drop this.
Change-Id: Ibdc1210d5ec97ec53dfff9bd989b2297b070ff28
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
rk-isp10: version 0.1.a
1. To optimize the readability of the code, based on v0.1.9
2. Optimize CIF_MI_CTRL_BURST_LEN param.
3. Add check for cam_itf.type(PLTFRM_CAM_ITF_BT656_8I) on
cif_isp10_s_fmt_mp.
4. get field_flag value from cif_isp10_isp_isr.
Change-Id: I334595c01e8b418b47e0a54e6fdfcf624445ff9f
Signed-off-by: zhoupeng <benjo.zhou@rock-chips.com>
This patch add support of EHCI and OHCI controller for rk312x.
Change-Id: I2bd7056240438f8a2af6baa9f0e7b24ce85343d3
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
The userspace may do an invalid mtp_open operation, e.g. the
usb function is configured to ADB only mode, but the userspace
may still call mtp_open operation because of error state machine
in the userspace. In this case, if the userspace try to set usb
function as ADB + MTP next time, it will call mtp_open again
and finally fail because that mtp_lock is busy, so the fp->
private_data is uninitiated. And this will cause cdev to be
NULL pointer in mtp_read and mtp_write.
Change-Id: Id82d0914ece850cfb2b3a8cacc2930cdccb5df46
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
This patch amends usb related config for Rockchip ARM32 platforms.
Change-Id: Iea159e8ae96739b7c8f2e2745a74a8d5db2360da
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Rockchip Inno usb2-phy uses extcon_* methods and because of
that, it must select EXTCON as a dependency. This patch fixes it.
Change-Id: Ia2b712154e4fee567b843f38f50fbcc00c49bf1e
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
This patch enable dwc2 controller and u2phy for rk3128.
Change-Id: I34fa8eaaf722266a1ffec124ae7aa46b4e0798d5
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
This patch add the node of dwc2 controller and u2phy for rk3128.
Change-Id: Iafc6b71d0dda9c9e46fa925a2d21e4bf59a1adee
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
The rk312x use different config data which incluce control
register address and value. The patch add config data of
rk312x and match table to support rk3128.
Change-Id: Idd9a5c885cf5e291517e56232e77066eb5d97138
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
According DWC-OTG databook, after the CSftRst bit is cleared,
the application must wait at least 3 PHY clocks before doing
any access to the PHY domain. And longer delay is required for
some rockchip soc based platforms. But current delay time is
not long enough for rk312x and it will result in repeately
trigger of ID change interrupt of dwc2 controller. This patch
increase delay time from 50 millisecond to 80 millisecond to
make sure that dwc2 controller and PHY is synchronized.
Change-Id: I4aa5cc3a4ceb8f3e3907c0563ed56ec4a3853a2d
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
In both legacy and mq path, req count of plug list is computed
before allocating request, so the number can be stale when falling
back to slept allocation, also the new introduced wbt can sleep
too.
This patch deals with the case by checking if plug list becomes
empty, and fixes the KASAN report of 'BUG: KASAN: stack-out-of-bounds'
which is introduced by Shaohua's patches of dispatching big request.
Change-Id: I00cdd180e44574aeb7167266b3aa04a28cf4cdc6
Fixes: 600271d900002(blk-mq: immediately dispatch big size request)
Fixes: 50d24c34403c6(block: immediately dispatch big size request)
Cc: Shaohua Li <shli@fb.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
(cherry pick from 0a6219a95f)
This is corresponding part for blk-mq. Disk with multiple hardware
queues doesn't need this as we only hold 1 request at most.
Change-Id: I2bf7fe5749d66e0192c08d16c4bb8d057ad8833f
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
(cherry pick from 600271d900)