This is needed for rk3566 rk817 tablet.
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I073b0ab65230d53cf439d55acc16f12b15e9a8dc
1. rk_iv_copyback use dev->count as real data length.
2. drop rk_update_iv
Change-Id: I14266a5872c125acea2cec9c6fb10e18ea9c4470
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
CONFIG_VIDEO_ROCKCHIP_ISPP_FEC to enable this function
Change-Id: I4baae13964f2f99df9ae19d5160f06610bcfa308
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
The below functions are updated for rockchip_linux_defconfig:
1) enable iep2
2) enable ov5695 and ov7251
3) enable isp for isp2x
4) remove unused SCSI
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: I74c91c7c0960f2d65cfd0b70e55fbc964deedcec
Without this patch, we only calculate usb request packet_size when
start playback. If PC set sample rate after opening stream, the value
of packet_size will not be updated to uac driver and the gadget will
send error size of pcm data.
Signed-off-by: Ren Jianing <jianing.ren@rock-chips.com>
Change-Id: Iaa54ed740c98e5f12bf9cf680b50cf4be931cfbd
For hierarchy root complexes under same PCIe domain:
domain N
root bridge bus(BDF: 00:00.0)
--------------------------------------------
RC1(01:00.0) RC2(N+1:00.0) RC3(N+N+1:00.0)
| | |
--- --- ---
... ... ...
Dev1(last N) Dev2(last M) Dev3
They can assign all bus ranges from zero, and the bridge
will scan RCs and take over all the bus assign from top on.
So the the unique requester ID(namely bdf) will be assigned
to each device.
But for seperate RCs without root bridge bus, we should
carefully assigne bus ranges for MSI(-x) mappings. MSI
controller should be in the following format:
msi-map = < rid-base, //first RID matched by the entry
msi-controller,
msi-base, //msi-specifier 1st RID matched entry
length> //how many consecutive RIDs are matched
rid-base is formated as 1 byte of bus + 1 byte of dev and
function number. And it's the same for filter of mapping
for msi-base.
For this platform:
domain 0 --RC1(00:00.0) --- Dev1(01:00.0) |
--- Dev2(02:00.0) |____ 0x0 ~ 0xf
.... |
--- DevN(0f:00.0) |
For reguster ID(BDF) under this RC, we should assigne
RID base from 0x0. Length is 16 buses, name 0x10, and
the lower bytes is 0x00 for DF. So all the RID is 0x0000.
Also the RID base should be equal to out-base.
For PCIe2x1, we limit buses from 0x0 to 0xf, ID mapping
looks like:
msi-map = <0x0000 &its 0x0000 0x1000>;
RID out-base length
Any BDF under PCIe2x1 was allocated and hit the mapping vects
and entry between 0x0000 and 0x0000 + 0x1000.
domain 1 --RC2(10:00.0) --- Dev1(11:00.0) |
--- Dev2(12:00.0) |____ 0x10 ~ 0x1f
.... |
--- DevN(1f:00.0) |
For reguster ID(BDF) under this RC, we should assigne
RID base from 0x1000. Length is 16 buses, namely 0x10, and
the lower byte is 0x00 for DF. So all the RID is 0x1000.
Also the RID base should be equal to out-base.
For PCIe3x1, we limit buses from 0x10 to 0x1f, ID mapping
looks like:
msi-map = <0x1000 &its 0x1000 0x1000>;
RID out-base length
Any BDF under PCIe3x1 was allocated and hit the mapping vects
and entry between 0x1000 and 0x1000 + 0x1000.
domain 2 --RC3(20:00.0) --- Dev1(21:00.0) |
--- Dev2(22:00.0) |____ 0x20 ~ 0x2f
.... |
--- DevN(2f:00.0) |
For reguster ID(BDF) under this RC, we should assigne
RID base from 0x2000. Length is 16 buses, name 0x10, and
the lower bytes is 0x00 for DF. So all the RID is 0x2000.
Also the RID base should be equal to out-base.
For PCIe3x2, we limit buses from 0x20 to 0x2f, ID mapping
looks like:
msi-map = <0x2000 &its 0x2000 0x1000>;
RID out-base length
Any BDF under PCIe3x2 was allocated and hit the mapping vects
and entry between 0x2000 and 0x2000 + 0x1000.
Change-Id: I1fe9f2a6e89fd9a4c055f0a0177be2b38cc10dc6
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
If we put other gadget function before UVC, for example UAC and UVC, the
ep1in will be assigned to UAC and ep2in/ep3in will be assigned to UVC.
Under these circumstances, if we open UVC before UAC, ep1in tx fifo will
not be resized and get wrong base address which leading to UVC and UAC
can not be opened at the same time.
This patch make all epin tx fifos resized whether it is enabled or not.
For RV1126/RV1109, total size of tx fifos is 0x51e(1310) and number of
epin is 7 (Include ep0in). We can configured as UAC + RNDIS + UVC + ADB,
followed by details of functions.
| function | epin | xfer | mult |maxpacket(B)| fifo(* 8B)|
--------------------------------------------------------
| CTRL | 0 | ctl | 1 | 64 | 10 |
| UAC | 1 | isoc | 2 | 200 | 53 |
| RNDIS | 2 | int | 1 | 8 | 3 |
| RNDIS | 3 | bulk | 3 | 512 | 196 |
| UVC | 4 | int | 1 | 16 | 4 |
| UVC | 5 | isoc | 6 | 1024 | 775 |
| ADB | 6 | bulk | 3 | 512 | 196 |
| total | - | - | - | - | 1237 |
Attention, the max_packetsize of UAC can be increased to 1024 to support
multi-channel or high sampling depth. If we need all these four
functions, we can set max_packetsize of UAC to (((1310 - 1237 + 53 ) * 8
- 8) / 2 - 8 = 492 Bytes at most, which can support 48K 16bits 5-channel
audio source.
Fixes: d4037f52e2 ("usb: dwc3: gadget: fix fifo number for txfifo resize")
Signed-off-by: Ren Jianing <jianing.ren@rock-chips.com>
Change-Id: Ib2d3854bd305289c30ea85c447eca49af28b62fd
A node is empty node if its proplist/label/child both null or both
set as deleted.
Change-Id: Ia934c58df3305dc9531cc912322eb2728f7af689
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
As with GPIO, UART and others, allow specifying the device index via the
aliases node in the device tree.
On embedded devices, there is often a combination of removable (e.g.
SD card) and non-removable MMC devices (e.g. eMMC).
Therefore the index might change depending on
* host of removable device
* removable card present or not
This makes it difficult to hardcode the root device, if it is on the
non-removable device. E.g. if SD card is present eMMC will be mmcblk1,
if SD card is not present at boot, eMMC will be mmcblk0.
Alternative solutions like PARTUUIDs do not cover the case where multiple
mmcblk devices contain the same image. This is a common issue on devices
that can boot both from eMMC (for regular boot) and SD cards (as a
temporary boot medium for development). When a firmware image is
installed to eMMC after a test boot via SD card, there will be no
reliable way to refer to a specific device using (PART)UUIDs oder
LABELs.
The demand for this feature has led to multiple attempts to implement
it, dating back at least to 2012 (see
https://www.spinics.net/lists/linux-mmc/msg26586.html for a previous
discussion from 2014).
All indices defined in the aliases node will be reserved for use by the
respective MMC device, moving the indices of devices that don't have an
alias up into the non-reserved range. If the aliases node is not found,
the driver will act as before.
This is a rebased and cleaned up version of
https://www.spinics.net/lists/linux-mmc/msg26588.html .
Based-on-patch-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lkml.org/lkml/2020/8/5/194
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Link: https://lore.kernel.org/r/20200901085004.2512-2-matthias.schiffer@ew.tq-group.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Conflicts:
drivers/mmc/core/host.c
Change-Id: I86a98bab7767d630172a552e0dc72d90aaebc2a3
(cherry picked from commit fa2d0aa969)
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
When there is no layer attach to a port, the por_mux
should set to zero.
Change-Id: I880c3ff4ce8cac8ee41bdc7e6666d13796357cc6
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
If layer_sel or port_mux config done immediately, the layer
map and port mux may change when one frame is still in display
process.
Change-Id: I5611e75c56c89fd4fa02a069acc971c9266b05b6
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
This patch is from ARM via mail
"Fwd: 00209996 - [Rockchip][IMPORTANT] Cat A(rare)- Security bug in Mali DDK (16-Nov, 2020) Edit Subject"
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: Ife807e5e850274222db8aea0e4cac588e02a8e53
In addition, rename some configs that have been used in drivers/gpu/arm/midgard.
Change-Id: I5356d6b3f544195eb6bebe88927abe7c8bcb7dd1
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
For high performance:
modify aclk_top_high 300M to 500M.
modify aclk_top_low 200M to 400M.
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I5ef723ed66893024e4b52e49bafb09c3b002b305
Fix character '_' not recommended in node name which complained by
node_name_chars_strict
Change-Id: I6e34ff0cffc18a33e2b3f908519161541ccd9cdd
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
This is needed for rk3566 rk817 tablet.
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I3c19299be121549ac3232465b30245efe7d820cb
The userspace librga(im2d) is using 0x16 for BGRX8888.
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I6cac09898039aefa87f5633d60bf590e3f130e56