Add binding documentation for the power domains
found on Rockchip RV1126 SoCs.
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Icf38d7a8fa44abf119e57a66ceddc1a01872facf
The gpio v2 has some new features:
- Use mask bit for register write;
- Both edge intterupt supported;
- longer debounce time for input intterupt.
Change-Id: I61f3974d2e0cf0e93c686aa11cd35162e59f393b
Signed-off-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Add the clock tree definition for the new RV1126 SoC.
Change-Id: I4a329d27d3a84f43a0ae956bce16597706eeb1ae
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
There is a new clock branch have a form like
|--\
---[GPLL]---| \ |--\
---[CPLL]---|mux|-----[GATE]--[DVI]------| \
---[HPLL]---| / | |mux|--[GATE]--
|--/ |--[GATE]--[HALFDVI]--| /
|--/
This patch registers two composite clocks for this branch type,
and make them become brother clock for each oher.
Change-Id: I46aeab26e478f341600114014db1c7d58e234f11
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Some composite clocks may have the same parent clock, if one clock change
the parent clock rate, the other clock rate may too large, so add a
brother clock in composite that the other clock also can be changed when
parent rate is changed.
Change-Id: I2c6749e578b76d6780cecdcd9ff1b5fd4f25a0ba
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
This reverts commit d13501a2be.
This patch causes 32768Hz can't be divided from 24MHz.
Change-Id: I1e86c2b0c96be0d1a80de83d1ac5e5909becbde1
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
The edp_hpd pin had the conflict with the hdmi cec, enable the hdmi-cec
by default.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: Id129364c352377c59f2b2ff48dd97ffefaf6af11
Most users used 4K monitors with HDMI on RK3399/RK3399PRO platform, but no
more than 2K monitors on EDP/DSI panels.
So the reasonable that HDMI connected to VOPB control, and EDP/DSI shound
be connected to VOPL.
Change-Id: Id97efc5d6d534c302aa52ad00e705c093457f41e
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
There is a problem that incorrectly advances the TRB dequeue
pointer if more than one request in the started_list need to
be dequeue. If the request was already started, we issue the
END_TRANSFER command, then wait for END_TRANSFER completion
and only after that jump over the TRBs of the request by
clearing HWO and incrementing the TRB dequeue pointer. But we
don't skip over the TRBs of the rest started request, this
cause we to get incorrect TRB dequeue pointer on completion
next time.
We can easily reproduce this problem on RK3399 EVB Android Q
platform. Use MTP/PTP to transfer a big file, and then cancel
the transition, check if it can transfer again. If retransmission
fails, the problem happens. And if you enable the DWC3 trace
via tracing interface:
echo 1 > /sys/kernel/debug/tracing/events/dwc3/enable
You can get the error log:
irq/71-dwc3-1591 [000] d..1 389.337189: dwc3_complete_trb: ep1out: trb 00000000213b87d9 buf 00000000a84c0000 size 16384
irq/71-dwc3-1591 [000] d..1 389.337195: dwc3_gadget_giveback: ep1out: req 00000000d8c093a2 length 4294951424/512 zsI ==> 0
...
kworker/u12:2-111 [003] .... 389.337380: dwc3_free_request: ep1out: req 00000000d8c093a2 length 4294951424/512 zsI ==> 0
The req actual length is error. It's because that it get the
incorrect TRB dequeue pointer that belong to previous request.
Change-Id: I123ff779d5e2933449581f8b570e2e6ad6b75458
Signed-off-by: William Wu <william.wu@rock-chips.com>
Document the regulator and add a rockchip vendor-prefix.
Change-Id: I3084f2083644e30145ccda2e13e2e81c6470797a
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Rockchip RK860X regulators share the exact same functionality and
register layout as the Fairchild FAN53555 regulators.
Therefore extend the driver to add support for them.
Both types use the same vendor id in their ID1 register, so it's not
possible to distinguish them automatically.
Similarly, the types also do not match. Type 8 used by the RK8603
and RK8604 start at 500mV and increment in 6.25mv steps,
while the FAN53555 type 8 starts at 600mV and increments in 10mV steps.
And the en register is also differences.
Change-Id: Id93f85de91b79a1922b1efc27771f30dd7bc8bcb
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
when wait time out twice, it may wait recursion, and then
trigger pop twice.
Change-Id: I6c689f4267e0c03e8cf1e41d68796a6d042afce7
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
1. use task->state to mark the state of task in taskqueue.
2. add delay work in case of hardware dead, then abort current task.
3. if wait timeout, set task->abort_requet for work thread to abort it.
relative dump stack:
<4>[84461.189906] __list_del_entry_valid+0x30/0x9c
<4>[84461.190616] cc60 00000000 00000000 00000000 00000048 00014b0e
00000550 00000598 00000620
<4>[84461.191018] mpp_task_finish+0x108/0x15c
<4>[84461.191735]
<4>[84461.191735] X29: 0xffffff800e0cba50:
<4>[84461.192100] vdpu_isr+0x60/0xbc
<4>[84461.192536] ba50 00000000 ffffff80 f153c4c0 ffffffc0 08109fe0
ffffff80 0e0cba68 ffffff80
<4>[84461.192828] mpp_dev_isr_sched+0x4c/0x94
<4>[84461.193545] ba70 0e0cba68 ffffff80 b8a42e00 04d029b0 f0401000
ffffffc0 00000000 00000000
Change-Id: I2391a97fca4b6a7fddbf88a05cedf6f2fe564be0
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Make pd_hdcp keep on during startup, to handle the hdmi display
which used hdcp.
Change-Id: I3c12fd5b6aa242bb658c19f5571cd45d3c245b5f
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
In order to reduce the duplication of code, let's move the common things
to the rk3399-linux.dtsi.
Change-Id: I066d99642190cfcbe1c8d16d05849297176f9e6b
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
This patch enables the ramoops to fetch some logs for debugging and
testing, the log will save on /sys/fs/pstore/console-ramoops*.
Change-Id: I47c9efbd1a0e17228e07fd6ad87a446babb265ab
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
This patch enables the rkisp and mipi camera for rk3399 evb ind board,
enable the ov13850 board with mipi'rx0 by default.
Change-Id: I2e4949088073fc8032abefd852666f14860552c8
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Evb ind is part of a family of boards called rk3399 Industry development.
As best as possible, the properties shared by the rk3399 family are placed
in rk3399-evb-ind.dtsi, while Evb-linux specific bits are in
rk3399-evb-ind-lpddr4-linux.dts. This does not add full support for the base
Evb ind board.
Working and tested (to some extent):
* cluster cpu/gpu support -- including frequency, performance
* DVFS: included cpu/gpu/ddr
* UART / console
* LPDDR4
* TF cards
* USB2/USB3
* Thermal
* Touchscreen
* EDP
* Backlight
* System Key (ADC and Power keys, including the reset/vol+/recovery/maskrom)
* Wifi
* Bluetooth / Webcam
* eMMC
* VIDEO: tested the h264 video source
* AUDIO: play and mic music
* HDMI Out
* GMAC
Not tested:
* RS485
* CIF
* Mini Pcie
* IR Receive
* Sensor
* CAMERA
Note: this patch had *not* verified the all functions, it can bringup for
v11 board and some basic functions.
(included wifi/bt, camera, display, video, usb...and so on.)
Change-Id: Ibae4853f4c11d3a269cd3aa96478c45cdb126597
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Move the common configure are used for rk3399-evb-ind.dtsi.
Change-Id: Ia42ed2bb823d3d30c8433be5bfc07ed48e6b0015
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Refer to the spec "USB_Video_Payload_Frame_Based_1.1", we
set the bBitsPerPixel of framebased format descriptor to 16,
it means that 16 bits per pixel used to specify color in the
decoded video frame. And set bVariableSize of framebased format
descriptor to 1, it means that the data within the frame is of
variable length from frame to frame is variable.
With this patch, the uvc H264 format can work normally on
Linux OS platform.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ibc25b5f67efb8cfcae9d66a509399cfe896f7943
Add clocks and reg_read to rockchip_data, allow support more SoCs.
Change-Id: I45271d69dae808d741c953ce61b921b9a3d21202
Signed-off-by: Tao Huang <huangtao@rock-chips.com>