According to the new simulation result, we need to update the
phy configuration to cover different corner of rv1106 and rv1103.
1. Always enable pre-emphasis in SOF & EOP & chirp & non-chirp state;
2. Set Tx HS pre_emphasize strength to 3'b010;
3. Set 45ohm HS ODT value to 5'b10111 for better Rx ODT resistance.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I9faca9d35124122faf5a35c78f9ee13fd9c24bba
This update fix link fail because of RX signal on rk356x.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Change-Id: I7380f9ff0dfb351618fc09e543f676968b1f3ec9
To clarify the path of ADC gains:
ADC MIC Boost --> ADC ALC PGA --> ADC Digital Volume
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: I1a398eb7eaf4e4f2fc246d36b0cbbe114c8159ee
From the 0x40 to 0x4b is the description of the AGC register for the
left channel. The right channel has the same registers but different
address from 0x50 to 0x5b.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: I189d6136a9cede095eb9409766a6e85d81476d7b
In link mode, when meet error, the hardware may not write registers
back to ddr. Thus the irq_status in ddr is zero, and it should
use mpp->irq_status which read register directly.
Change-Id: Ib4b1533a543a19c48bc91ee7e134159b1c257f27
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
When enable the uboot logo function, For DP/HDMI, if they are
connected before boot and disconnected after end uboot stage and
before display kernel logo. The driver will try to disable
the win. In this case, the enable flag is false and the win real
status is enabled. So The real status will not be changed, and
cause wait win status disabled timeout.
It also need set the win pd status when the win is used during
boot.
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: Ibc0944dca4775f7ebfc8218e2c17f2e6ba3354c8
When disable win, just need clear the vp mask value.
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I31aac908b2cae2ff01d116ceea901cd4a111289f
Write a sem to protect session dma destroy or release.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I07e720ab603c6f99924d4ec9cd57475756582325
Enable DMABUF_DEBUG will default to set a name with pid + taskname to a
dmabuf where it's exported, also create a /proc/rk_dmabuf debug node to
take a look for the dmabuf list, it's useful for dmabuf leak detect.
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ia8de3d919335fc0237e5802fe98ba64b114af078
Enable DMABUF_DEBUG will default to set a name with pid + taskname to a
dmabuf where it's exported, also create a /proc/rk_dmabuf debug node to
take a look for the dmabuf list, it's useful for dmabuf leak detect.
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I10e638491675bec3fbb66c4c4392c6399c3bedd3
In the current implementation, the tcpm set CC1/CC2 role to open when
it do port reset would cause the VBUS removed by the Type-C partner.
The Figure 4-20 in the TCPCI 2.0 specification show that the CC1/CC2
role should set to 01b (Rp) or 10b (Rd) at Power On or Reset stage
in DRP initialization and connection detection.
So set CC1/CC2 to Rd to fix it.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: Iea0fbd30c111d59b8d56f8002827eb6ceea28196
The cause of no signal is unclear. And there is no way to know that
problem has occurred. Enable/disable send NULL packet repeatedly
after FLT passed can restore the display to normal. This is the current
workaround with the least side effect.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Idbc2bea32d418821599e9df8740df07e5ad5964e
This patch add a DMABUF_DEBUG_ADVANCED to try to attach and map
dmabufs who have no valid scatter list table.
Update the rk_dmabuf_procfs node to be a directory tree as:
/proc/rk_dmabuf/
/proc/rk_dmabuf/dev
/proc/rk_dmabuf/sgt
/proc/rk_dmabuf/size
The "dev" to show all attached devices, such as:
ffffff816f8bb600 (null) system-uncached 8288 KiB display-subsystem fb000000.gpu fb000000.gpu
The "sgt" to show scatter list table address range, such as
ffffff8124856200 (null) system-uncached 52 KiB 0: 0x00000001712d0000..0x00000001712d0fff ( 4 KiB)
1: 0x00000001712d2000..0x00000001712d2fff ( 4 KiB)
2: 0x00000001712c6000..0x00000001712c6fff ( 4 KiB)
3: 0x00000001712c8000..0x00000001712c8fff ( 4 KiB)
4: 0x00000001712ca000..0x00000001712cafff ( 4 KiB)
5: 0x00000001712cc000..0x00000001712ccfff ( 4 KiB)
6: 0x00000001712ce000..0x00000001712cefff ( 4 KiB)
7: 0x00000001712d1000..0x00000001712d1fff ( 4 KiB)
8: 0x00000001712c7000..0x00000001712c7fff ( 4 KiB)
9: 0x00000001712c9000..0x00000001712c9fff ( 4 KiB)
10: 0x00000001712cb000..0x00000001712cbfff ( 4 KiB)
11: 0x00000001712cd000..0x00000001712cdfff ( 4 KiB)
12: 0x00000001712cf000..0x00000001712cffff ( 4 KiB)
The "size" to show total dmabuf size, such as:
Total: 79836 KiB
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I62292094407696e410e2ce2973a60f569964e8bd
This patch add a DMABUF_DEBUG to switch on/off the debug codes for
dmabuf, including set a name for each dmabuf.
Support to set a name with pid+taskname for a exported dmabuf, this is
enabled depends on DMABUF_DEBUG.
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I84f2c3c66d407d7af29df1d7d85d62d0679d2218
The queue nodes will be deleted, the driver cannot get it, add
status "okay" attributes to avoid deletion.
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Ia0a62d14b3a769e6cc3a631389a54c1190d9d6e2
RK3568 usb phy0 and phy1 linestate irq can be set as
wakeup source, but the default linestate filter time
is based on the usb phy grf pclk 100MHz. So it needs
to reconfigure the linestate filter time base on 32KHz
clk when enter deep sleep.
In addition, it needs to enable the host port (usb3
host1 and usb2 host1) wakeup irq because of legacy
reason.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I9151d49721e8e9d917fdb51228f3ca2627090156
If miss isoc event happens, the current code just set
the req status to -EXDEV and giveback the req to the usb
gadget driver, and then stop the active transfer with the
cmd DWC3_DEPCMD_ENDTRANSFER and wait for a XferNotReady
event to restart a transfer again. However, for isoc
ep in transfer, it cause to lost the isoc data of the
req.
This patch moves the miss isoc req to pending_list in
order to restart transfer immediately instead of give
back the req to the usb gadget driver.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Idf38d9fd4d483854473c18f792d1996fb5fcab4b
The commit a7027ca69d ("usb: dwc3: gadget: Give back
staled requests") move all started request to cancelled
list and expect to give back all the started requests.
However, it fails to give back the started requests
if the dep->flags isn't set to DWC3_EP_TRANSFER_STARTED,
in this case, we need to skip the trbs and giveback the
req. And we also need to skip the trbs of the req in the
pending_list to make the dequeue pointers useless.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I123ff779d5e2933449581f8b570e2e6ad6b75458
1.Some 8K frames took more than 200ms to decode,causing software timeout.
Solution:
Increase the software timeout threshold to 500ms
2.After power off av1dec, read/write reg in cache irq causing kernel
crash.
Solution:
There are two irq for av1:
a. vcd_irq is decode irq what we need to care about.
b. cache irq what we do not need to care about.
So disable the cache irq temporarily.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I282b8e0614321b5adf0fac5f31bb88e2bdb2bf6c
1.Protect clock and iomux resources used by AMP.
2.Support AMP cpu on/off.
Signed-off-by: Steven Liu <steven.liu@rock-chips.com>
Change-Id: If53e893fac916217bfa5618350b1706b742b34e7