This driver is modified to support RK3562 SoC.
Add support to ungate clk.
Add support to shut down memory for rk3562.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Ideeaf378b0548a9a32e05345f56a6d6bfb037a20
According to a description from TRM, add all the power domains.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Ia188dad23c884521775f9e608203d1281b093a39
Add the dt-bindings header for the rk3562, that gets shared between
the clock controller and the clock references in the dts.
Add softreset ID for rk3562.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Liang Chen <cl@rock-chips.com>
Change-Id: I25c4b2b8276f7d371ae861fdd24bd98fcf7c1629
To make backport and upstream work easier. After this patch,
we just need to focus some rk specific additional code.
Sync to upstream commit a0753ef66c ("mmc: sdhci-of-dwcmshc: Re-enable support for the BlueField-3 SoC").
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ie3b76ea2848ac3570bb9bc0be09c6f6a67685658
Since we modify the sdhci driver to match upstream, so the compatible
property should be adjust to match it.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ia768d530047db95c29d5740ed5b039e7d92428cc
drivers/media/platform/rockchip/cif/subdev-itf.c:1172:12: warning: 'sditf_runtime_resume' defined but not used [-Wunused-function]
error, forbidden warning:subdev-itf.c:1172
1172 | static int sditf_runtime_resume(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/platform/rockchip/cif/subdev-itf.c:1167:12: warning: 'sditf_runtime_suspend' defined but not used [-Wunused-function]
error, forbidden warning:subdev-itf.c:1167
1167 | static int sditf_runtime_suspend(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I537818f182741704e55f0bb59c623e1118bf5838
The f_uac1 driver uses the fixed address matching for EP-IN
and EP-OUT (0x82 for EP-IN and 0x01 for EP-OUT) when set/get
sample rate. It has limitation that can only support uac1 func
with EP2-IN and EP1-OUT to set/get sample rate. This patch use
the in_ep->address and out_ep->address instead of the fixed
addresses.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I85f4da663535b4e832e52b42bc1a7d57b85270ee
Set uvc state to UVC_STATE_STREAMING when stream on uvc
for both isoc and bulk transfer, then it can schedule
video pump work in uvc_v4l2_qbuf.
Fixes: c15a7cecb8 ("usb: gadget: uvc: support streaming bulk transfer")
Change-Id: Ie6fab6529cd83d59b34c6dd0028d6ad5b5eed010
Signed-off-by: William Wu <william.wu@rock-chips.com>
The reg FIELD2_OFST should be half the number of pixel/line
in interlace mode.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I3b0de9199768d965a945bf5db5a0902f2103e30e
The input supply is always-on, so this mistake doesn't affect
whether the supply is actually enabled correctly.
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: Ie6411c6fdcf4865290ba725d8203334f1bf8ad35
drivers/video/rockchip/dvbm/rockchip_dvbm.c: In function 'rk_dvbm_setup_iobuf':
./include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'dma_addr_t' {aka 'long long unsigned int'} [-Wformat=]
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ia18c7da7ea47e168741f76365eedc6b9e630e527
The default is DMA and IRQ transmission mode. You can change the
transmission mode to only support cpu polling transmission by adding
"rockchip,poll-only" to the device-tree node.
Change-Id: Icee3f4e899533ee51caab68fb85ec45f64b89d91
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
This patch fixes a compile warning as following:
drivers/rtc/rtc-rockchip.c: In function 'rockchip_rtc_probe':
drivers/rtc/rtc-rockchip.c:669:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
669 | rtc->mode = (unsigned int)of_device_get_match_data(&pdev->dev);
| ^
Fixes: 7344989b7e ("rtc: support rockchip rtc")
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I53128355e34c6560ccd652631e67c8fc267928f5
work_mode reg is used for iep+vdpp combo IP to check running task,
which is meaningless and not writable in iep alone IP.
so if work_mode == 0, consider as iep alone IP, otherwise check the
value to determine current work mode.
Fixes: 767709ab16 ("video: rockchip: mpp: iep2: Add work mode setting")
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I4c063e352976170b3c68652e65b0421ef7a82f8f
when buffer needs to refresh the cache, which takes a lot of time and
is not suitable for execution in an interrupt
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I6b6e54cef62711787430b1b336db3476e3f93e69
IP cores whose clock is under aclk_vdpu_low_pre should not be changed
after power on. If one reduce frequence of clock, others will be
affected and will take longer time to finished work.
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I631dd9a3f47c5811d6ae27f558a25a98d6022f49
1.Support get_dma_status for polling DMA status
2.Remove the struct of dw_pcie from dmatest
Change-Id: Ifef2b9172234e597354d9ae410d3f39be55cc6a8
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Rootcause:
Those devices that do not have multicores but share one mpp_taskqueue,
due to the core_id is default value 0, will fail to attach workqueue.
Thus making mpp->queue = NULL and will crash when use mpp->queue.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I805aeadce1ec47ba18f2410864b83dca947655db
At the beginning, we skip walking the PCIe bus if the root port is
in L0 to save the suspend time. However, when enabling L1ss, the
threshold from L0 to L1ss is quite longer than from L0 to L0s or L1.
So we may in the middle stage that PCIe link hasn't wait long enough
to do transition from L0 to L1ss, at that moment we may still in L0.
rk_pcie_downstream_dev_to_d0 won't be called in this situation and
we miss all the ASPM settings. Ideally, we should walk the bus and
decide if anyone of them was marked as ASPM enabled in advanced, then
record ASPM settings. But in this way, there is no difference by fixing
it just as leting remove link state judgement.
Fixes: 0a082fd9da ("PCI: rockchip: dw: Save&Restore L1SS in PM")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ic0cdf74271241dc78cfd5d23c6c027e82f35bde2
If current task finish with soft timeout, the next
task in pending list will not get processing.
So, need to trigger again in mpp_task_timeout_work to
ensure that next task in pending task gets processed in time.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Iefa57c883eda81553c1b4c17be4f18c4dc83c946