This patch fixup that the wrong position when dma desc status
is DONE. even if the desc status is DONE, it is still able to
get the position from the dma driver. so, just remove the judgement.
Change-Id: I40e92bae09a002f4f5f0b2fab8b0e99fd3ee269d
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Enable dmc and dfi nodes to support ddr frequency
scaling on rk3288-evb-linux board.
Change-Id: I578b7dcace09a337abf9c7f640786db588ff9406
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Add dfi and dmc nodes in the device tree for the ARM rk3288 SoC.
To support ddr frequency scaling function, we need enable dmc and
dfi nodes.
Change-Id: I2ec7c216647443ec4354d282fd8f321f9d399929
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
This patch adds needed nodes for trust in rk3288-linux:
1.Add psci v1.0 support to call into secure world
through psci APIs.
2.Use non-secure dmac instead of secure one.
3.Use new efuse compatible to match secure interface
when kernel is in no-secure mode.
Change-Id: Id7fda3144388661979149cfa00822106b2872712
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
The rk3288 also has one function that can be routed to one of two pins,
the hdmi cec functionality can use either gpio7c0 or gpio7c7.
So add the route switching support for it.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 4e96fd3042)
Change-Id: Id9fa17392a299a5a4035db5157946c150a5ab55e
Signed-off-by: David Wu <david.wu@rock-chips.com>
The pins from GPIO1A0 to GPIO1B1 are special, need to recalculate
iomux. And the register offset is larger than the u8 range, so changed
to u32.
Change-Id: I4b759f1ae7bf959bfb1a3a7a0374ea3492b9af4c
Signed-off-by: David Wu <david.wu@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Some pins like i2c SCL/SDA need the schmitt input function
to avoid crosstalk problems.
Change-Id: I015220c75f8fa6ce684cb47153f16a4bf9ecf3f0
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David Wu <david.wu@rock-chips.com>
Rockchip finally named the SOC as RV1108, so change it.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
[adapted rk1108 dtsi to keep bisectability]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Change-Id: Id2c7584106424724a29f8de220f0961d86473fcb
Signed-off-by: David Wu <david.wu@rock-chips.com>
This add pinctrl support for Rockchip RK1108 Soc.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Series-changes: 2
- add pull and drive-strength functionality
Series-changes: 3
- two minor CodingStyle fixes adviced by Heiko
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Change-Id: If1e886606b561bef251d5e75b0e8c289cf7c9db0
Signed-off-by: David Wu <david.wu@rock-chips.com>
The Kconfig currently controlling compilation of this code is:
drivers/pinctrl/Kconfig:config PINCTRL_ROCKCHIP
drivers/pinctrl/Kconfig: bool
...meaning that it currently is not being built as a module by anyone.
Lets remove the couple traces of modular infrastructure use, so that
when reading the driver there is no doubt it is builtin-only.
Note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
We also delete the MODULE_LICENSE tag etc. since all that information
is already contained at the top of the file in the comments.
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-gpio@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 2f4362040b)
Change-Id: Ib164be5843323add47f8b103b16dbf8275ed21cd
Signed-off-by: David Wu <david.wu@rock-chips.com>
When building with 'make W=1', we get harmless warnings about
five drivers in drivers/pinctrl, which all contain a copy of
the same line:
drivers/pinctrl/freescale/pinctrl-imx1-core.c:160:1: error: 'inline' is not at beginning of declaration [-Werror=old-style-declaration]
This replaces the somewhat nonstandard 'static const inline'
with 'static inline const', which has the same meaning but
does not cause this warning.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 56411f3c05)
Change-Id: I3f17511a23e5912af9a68c5a090a6f1e0b04d183
Signed-off-by: David Wu <david.wu@rock-chips.com>
Also define the px30-specific supply names as can be seen in that
file for the other socs.
vccio-oscgpi ... aka with a "-" instead of "_".
Change-Id: I465e18123211b567f14d10e9705d9194fdfbd33b
Signed-off-by: David Wu <david.wu@rock-chips.com>
This adds the necessary data for handling io voltage domains on the RV1108.
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit 9d913e4343)
Change-Id: I068e5b0b9515775726c0429f0be97413d573e7c7
Signed-off-by: David Wu <david.wu@rock-chips.com>
In interlace mode(480i60hz) the frame rate is 30hz, this is too low and
lead to CTS test failed, so we use field start interrupt instead of
frame start, and the vsync will update to 60hz.
Change-Id: If73fb2b04dbd6749cc7cf899234a9f1e2283519e
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This patch could reduce the power consumption almost 2ma@5v on
rk3308-evb-v10 boards.
Change-Id: I4ee94524427eda72b0f5b61be46cd7a6d3f6a17d
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
There are independent LRCK_RX and LRCK_TX in rockchip i2s-tdm,
so that it supports the asymmetric LRCKs when the CKR[29:28]
is 2'b00.
Change-Id: Ib06d1b833e23d4266f8606d5f1f261cf1357238d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
If isoc split in transfer with no data (the length of DATA0
packet is zero), we can't simply return immediately. Because
the DATA0 can be the first transaction or the second transaction
for the isoc split in transaction. If the DATA0 packet with no
data is in the first transaction, we can return immediately.
But if the DATA0 packet with no data is in the second transaction
of isoc split in transaction sequence, we need to increase the
qtd->isoc_frame_index and giveback urb to device driver if needed,
otherwise, the MDATA packet will be lost.
A typical test case is that connect the dwc2 controller with an
usb hs Hub (GL852G-12), and plug an usb fs audio device (Plantronics
headset) into the downstream port of Hub. Then use the usb mic
to record, we can find noise when playback.
In the case, the isoc split in transaction sequence like this:
- SSPLIT IN transaction
- CSPLIT IN transaction
- MDATA packet (176 bytes)
- CSPLIT IN transaction
- DATA0 packet (0 byte)
This patch use both the length of DATA0 and qtd->isoc_split_offset
to check if the DATA0 is in the second transaction.
Change-Id: Ie36cf25c4026f45db719c6eed036028159748b9f
Signed-off-by: William Wu <william.wu@rock-chips.com>
(am from https://patchwork.kernel.org/patch/10393777/)
The commit 3bc04e28a0 ("usb: dwc2: host: Get aligned DMA in
a more supported way") rips out a lot of code to simply the
allocation of aligned DMA. However, it also introduces a new
issue when use isoc split in transfer.
In my test case, I connect the dwc2 controller with an usb hs
Hub (GL852G-12), and plug an usb fs audio device (Plantronics
headset) into the downstream port of Hub. Then use the usb mic
to record, we can find noise when playback.
It's because that the usb Hub uses an MDATA for the first
transaction and a DATA0 for the second transaction for the isoc
split in transaction. An typical isoc split in transaction sequence
like this:
- SSPLIT IN transaction
- CSPLIT IN transaction
- MDATA packet
- CSPLIT IN transaction
- DATA0 packet
The DMA address of MDATA (urb->dma) is always DWORD-aligned, but
the DMA address of DATA0 (urb->dma + qtd->isoc_split_offset) may
not be DWORD-aligned, it depends on the qtd->isoc_split_offset (the
length of MDATA). In my test case, the length of MDATA is usually
unaligned, this cause DATA0 packet transmission error.
This patch use kmem_cache to allocate aligned DMA buf for isoc
split in transaction. Note that according to usb 2.0 spec, the
maximum data payload size is 1023 bytes for each fs isoc ep,
and the maximum allowable interrupt data payload size is 64 bytes
or less for fs interrupt ep. So we set the size of object to be
1024 bytes in the kmem cache.
Change-Id: If842ad1b6ff2d59e4b8e5bb444246a1e6a8a3a85
Signed-off-by: William Wu <william.wu@rock-chips.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
(am from https://patchwork.kernel.org/patch/10393775/)
This patch fix imx219 sensor settings:
1.Fix GAIN wrong settings before.
2.update 1080p_30fps initialize register list from Asus(sony).
Change-Id: I6fb5e16b3a9cf01bf87382de8130592c6dfbbb97
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
do not let the kernel go to sleep while TCP packets are being sent.
Change-Id: I31b86af06f97816d28e4ad691ac6d37973724329
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
This patch depends on iram node and 'rockchip,force-iram' property.
the example on rk3399 to active this feature is as follows:
iram: sram@ff8d0000 {
compatible = "mmio-sram";
reg = <0x0 0xff8d0000 0x0 0x20000>; /* 128k */
};
&dmac_bus {
iram = <&iram>;
rockchip,force-iram;
};
if the 'rockchip,force-iram' not defined, fallthrough to normal usage.
Change-Id: I625a50835a6ea91dd2a66698bec087551be8a12c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
if there has multiple codec,we need set the sysclk for each codec
Change-Id: Ieb56710aeff070a58c7d566d428507ecf852a3e2
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
rk3399-evb-rev3-android-lp4.dts add center-supply, otherwise customer
follow this dts file may leave out it. and cause
rockchip_dmcfreq_probe() fail, then lpddr4 lose scale frequency function
and cannot find /sys/class/devfreq/dmc
Change-Id: I05f36a80fd5f95e29f1083f956a799149e88b1f3
Signed-off-by: CanYang He <hcy@rock-chips.com>
The values of the coefficients are the ones in px30.dtsi,
according to Rocky Hao.
Change-Id: I1843b999a3b93fd5791e556db8733596c75ef8ac
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
This patch handle the force-iram function by devicetree.
Change-Id: I95fe96091c560507a37cd0833cf2507e4d2bc636
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>