The GRF values may be kept the previous status after hot reboot,
if the property 'rockchip,adc-grps-route' is not set, we need to
recover default the order of sdi/sdo for i2s2_8ch/i2s3_8ch/i2s1_2ch.
Change-Id: Ic35b96388aaeca0ed4e0efd4e6ae3de178f88b06
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
We may need to support a variety of different Bluetooth modules
which are from different vendors. In order to develop efficiently,
we need to uniformly set the PCM of the AP to master mode, and
the Bluetooth side as the slave.
Change-Id: I92e76a9e394eea7b3f700bada5ad97ae92a67c69
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
nvme for rockchip platform could be used as both of main disk
or external storage. So it's not proper to fix the partition
type by checking CONFIG_ARCH_ROCKCHIP. Otherwise, if the nvme
is probed earily then the real main disk device, then the main
disk could be failed to mount.
Change-Id: If30940527e99d88d792fe3f19475fabf4b1a99d3
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Add the clock tree definition for the new rk1808 SoC.
Change-Id: I86e502b27e0695c77e9937dfd7cffa14b5711954
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
The usb otg doesn't need phy node, because it uses
legacy controller driver "dwc_otg_310". But the phy
node is needed for uboot which uses kernel dtb. And
it's also useful for otg controller driver if we
switch to dwc2 driver later.
Change-Id: I2f06f00861805f0ed3bf3f052aaa5a7e3bc416f8
Signed-off-by: William Wu <william.wu@rock-chips.com>
This patch adds rk3368 otg-port phy configurations.
But actually, we don't use the otg phy configurations
for the time being, because we use dwc_otg_310 driver
for rk3368 otg controller, and this driver doesn't use
generic phy. This patch is useful if we switch to dwc2
driver for rk3368 otg in the feature.
Change-Id: Ibed3fde4ef64ad25e933ac4560f956b7c9f5c476
Signed-off-by: William Wu <william.wu@rock-chips.com>
1.SPI nand including HYF, MXIC, XTX
2.SPI nor including XMC, ESMT, MXIC
Change-Id: I35197254e70f65ad85475a8f952ea24111e3499a
Signed-off-by: Dingqiang Lin <jon.lin@rock-chips.com>
The parameters of Synopsys PHY is programmed with the default values
for the corresponding hsfreqrange (test code 8'h44, HS RX Control of Lane 0)
Change-Id: I92c6bb0a9cad55e7b1695ca600f9c68804361dac
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This reverts commit 9ffd98e815.
Which breaks 32bit Android <9
Make ANDROID_BINDER_IPC_32BIT depends on ANDROID_VERSION.
Change-Id: Ie599606ce998b27342471f31d1480d0a87135375
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
This patch fixup codec slave mode work abnormal, it is
because the mode bits have not been set. and whatever,
all adcs' fmt should be the same.
Change-Id: Ie5ea7cdddc25c41790797fd2b4ef760a1f2ed727
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
when system goto suspend, isp will be powered off,
isp iommu will be disabled, need to attach on resume,
detach on suspend.
Change-Id: I2b5e775b44d2b72df4ddcf2db12b54518c3e1f2e
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
lpddr4 scale frequency when display on, cause the display shake and
vop POST_BUF_EMPTY
Change-Id: I2bfef85ae34c3c85609dcb3506272ff0e27cb0c7
Signed-off-by: CanYang He <hcy@rock-chips.com>
Add the dt-bindings header for the rk1808, that gets shared between
the clock controller and the clock references in the dts.
Add softreset ID for rk1808.
Change-Id: I0eef08655037daeab92560f36e06fde4032ddd0c
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
LSK 18.07 v4.4-android
* tag 'lsk-v4.4-18.07-android': (254 commits)
Linux 4.4.143
net/nfc: Avoid stalls when nfc_alloc_send_skb() returned NULL.
rds: avoid unenecessary cong_update in loop transport
KEYS: DNS: fix parsing multiple options
netfilter: ebtables: reject non-bridge targets
MIPS: Use async IPIs for arch_trigger_cpumask_backtrace()
MIPS: Call dump_stack() from show_regs()
rtlwifi: rtl8821ae: fix firmware is not ready to run
net: cxgb3_main: fix potential Spectre v1
net/mlx5: Fix command interface race in polling mode
net_sched: blackhole: tell upper qdisc about dropped packets
vhost_net: validate sock before trying to put its fd
tcp: prevent bogus FRTO undos with non-SACK flows
tcp: fix Fast Open key endianness
r8152: napi hangup fix after disconnect
qed: Limit msix vectors in kdump kernel to the minimum required count.
net: sungem: fix rx checksum support
net/mlx5: Fix incorrect raw command length parsing
net: dccp: switch rx_tstamp_last_feedback to monotonic clock
net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
...
Fix wrong merge of include/linux/compiler-gcc.h
Change-Id: I1daae1251069d2791d2e29b65942d086fb8ad0ac
it will set alpha_rop_mode to 0, fixup rga blend error.
Change-Id: I6c10df0e4d198ab8da8d352239151ddc3605e860
Signed-off-by: Li Huang <putin.li@rock-chips.com>
After enter->capture->video->exit->enter ...... long time test,
the shadow register of mi buffer base address can't update
automatically any more.
In application layer, we will get dq timeout error log.
Add CIF_IRCL_MI_SW_RST in rkisp1_isp_stop can fix this bug.
Change-Id: I386d6b2d2c3882fc76eb9f7283e1bc2309ee3210
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
The PWM framework has clarified the concept of reference PWM config (the
platform dependent config retrieved from the DT or the PWM lookup table)
and real PWM state.
Use pwm_get_args() when the PWM user wants to retrieve this reference
config and not the current state.
This is part of the rework allowing the PWM framework to support
hardware readout and expose real PWM state even when the PWM has just
been requested (before the user calls pwm_config/enable/disable()).
Change-Id: I8286b16dc8d828ba8a66a17675fe6fbedcba480b
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 1b50673dfa)
The bFrameIndex of video streaming interface descriptor
is initialized to 1 in uvcg_frame_make(), but never be
setted for different frame resolutions, this cause host
to fail to select the correct frame resolution. This patch
increases the bFrameIndex in order.
Change-Id: Ic0609976e09d9e3d6f82595c00e2ac7b356e4f5f
Signed-off-by: William Wu <william.wu@rock-chips.com>
When prepare setup packet, don't clear nak before call
ep0_out_start(), because clear nak will make the usb
core to handle OUT transaction immediately without
NAK response, this may cause OUT transaction fail.
We can reproduce this issue in the following two case:
- Configure usb device as rndis, connect to Windows PC;
- Configure usb device as uvc, connect to Windows PC,
and take still image;
Use the usb analyzer to capture data in case2,we can
easily to find the problem.
Without this patch, the Class request OUT transfer is:
- SETUP transaction
- OUT transaction
- OUT packet
- DATA1 packet
- ACK pakcet
- IN transactions
- IN packet
- NAK packet (response NAK forever)
With this patch, the Class request OUT transfer is:
- SETUP transaction
- OUT transaction
- OUT packet
- DATA1 packet
- NAK packet
- PING transactions
- OUT transaction
- OUT packet
- DATA1 packet
- ACK pakcet
- IN transaction
- IN packet
- DATA1 packet
- ACK pakcet
Change-Id: I5ea915bc425ffa2f2a06a1a830f6f88725c94b03
Signed-off-by: William Wu <william.wu@rock-chips.com>
When dequeue req which already queued on the endpoint,
don't stop the transfer and also don't flush the Tx FIFO
for isoc endpoint, otherwise, it may fail when set NAK
bit and disable ep in dwc_otg_pcd_ep_stop_transfer().
Change-Id: Ib3c1215f9c9507c08cc12c966456209384811b6d
Signed-off-by: William Wu <william.wu@rock-chips.com>
In some error case, it may fail to set the NAK bit
or Disable bit for endpoint when do ep deactivate
operation. We need to use wait-till-ready timeout
loop for ep deactivate instead of while loop.
Change-Id: I0e5ed61b2528f89910333c5eb907677e492fe3a0
Signed-off-by: William Wu <william.wu@rock-chips.com>
The frame num of isoc ep is initialized to 0xFFFFFFFF in
ep_enable and start_next_request(), and then in the NAK
interrupt handler, it will check if the ep frame num is
0xFFFFFFFF, then reset the frame num to 0 and start next
request.
But if we dequeue the isoc ep request if it's already
enqueued, if may fail to call complete_ep() -> start_
next_request(), so the isoc ep frame num can't be reinit
to 0xFFFFFFFF, this cause NAK interrupt handler check
the frame num incorrectly, and fail to start next request.
Change-Id: Iab8526f6e3979347bdbe6c49525ec0ba8130d4bc
Signed-off-by: William Wu <william.wu@rock-chips.com>
The dwc_otg_ep_start_zl_transfer() can be called from irq
handler in the top half, so don't print additional log to
avoid wasting too much time in interrupt handling.
If someone needs to dump verbose log, just set the debug
level to appropriate value.
Change-Id: If6fb8a22e0c42fb2b629c3a82d8e632254434784
Signed-off-by: William Wu <william.wu@rock-chips.com>
Sometimes we found the usb device could not connect to the HUBs when
the cable plug in and out constantly, the root cause is "USB RESET"
was missed from these HUBs, and we only try 2 times to reconnect.
This patch as one workaround to increase reconnect times to 6, and
add the delay time (3.5ms-4ms) after DCTL.SftDiscon bit was clear.
Change-Id: I57cfe5dc68e6d3d67c20771423dae29542ed047d
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
According to DWC2 databook V3.10a, 5.3.5.14 Device Threshold
Control Register (DTHRCTL), it recommends that the Transmit
Threshold Length (TxThrLen) is to be the same as the programmed
AHB Burst Length (GAHBCFG.HBstLen), on Rockchip platform the
value is 16.
Change-Id: I6427e3a3fc7b57e85229cdf4b9c5fff878b919b6
Signed-off-by: William Wu <william.wu@rock-chips.com>
Move last_id property from static to struct dwc_otg_device as a static
global variable to support PM suspend process.
Change-Id: I7729095339aed3dcca6481005f249c855ebbdb3c
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>