- Mar 27, 2019
-
-
Christoph Muellner authored
When using direct commands (DCMDs) on an RK3399, we get spurious CQE completion interrupts for the DCMD transaction slot (#31): [ 931.196520] ------------[ cut here ]------------ [ 931.201702] mmc1: cqhci: spurious TCN for tag 31 [ 931.206906] WARNING: CPU: 0 PID: 1433 at /usr/src/kernel/drivers/mmc/host/cqhci.c:725 cqhci_irq+0x2e4/0x490 [ 931.206909] Modules linked in: [ 931.206918] CPU: 0 PID: 1433 Comm: irq/29-mmc1 Not tainted 4.19.8-rt6-funkadelic #1 [ 931.206920] Hardware name: Theobroma Systems RK3399-Q7 SoM (DT) [ 931.206924] pstate: 40000005 (nZcv daif -PAN -UAO) [ 931.206927] pc : cqhci_irq+0x2e4/0x490 [ 931.206931] lr : cqhci_irq+0x2e4/0x490 [ 931.206933] sp : ffff00000e54bc80 [ 931.206934] x29: ffff00000e54bc80 x28: 0000000000000000 [ 931.206939] x27: 0000000000000001 x26: ffff000008f217e8 [ 931.206944] x25: ffff8000f02ef030 x24: ffff0000091417b0 [ 931.206948] x23: ffff0000090aa000 x22: ffff8000f008b000 [ 931.206953] x21: 0000000000000002 x20: 000000000000001f [ 931.206957] x19: ffff8000f02ef018 x18: ffffffffffffffff [ 931.206961] x17: 0000000000000000 x16: 0000000000000000 [ 931.206966] x15: ffff0000090aa6c8 x14: 0720072007200720 [ 931.206970] x13: 0720072007200720 x12: 0720072007200720 [ 931.206975] x11: 0720072007200720 x10: 0720072007200720 [ 931.206980] x9 : 0720072007200720 x8 : 0720072007200720 [ 931.206984] x7 : 0720073107330720 x6 : 00000000000005a0 [ 931.206988] x5 : ffff00000860d4b0 x4 : 0000000000000000 [ 931.206993] x3 : 0000000000000001 x2 : 0000000000000001 [ 931.206997] x1 : 1bde3a91b0d4d900 x0 : 0000000000000000 [ 931.207001] Call trace: [ 931.207005] cqhci_irq+0x2e4/0x490 [ 931.207009] sdhci_arasan_cqhci_irq+0x5c/0x90 [ 931.207013] sdhci_irq+0x98/0x930 [ 931.207019] irq_forced_thread_fn+0x2c/0xa0 [ 931.207023] irq_thread+0x114/0x1c0 [ 931.207027] kthread+0x128/0x130 [ 931.207032] ret_from_fork+0x10/0x20 [ 931.207035] ---[ end trace 0000000000000002 ]--- The driver shows this message only for the first spurious interrupt by using WARN_ONCE(). Changing this to WARN() shows, that this is happening quite frequently (up to once a second). Since the eMMC 5.1 specification, where CQE and CQHCI are specified, does not mention that spurious TCN interrupts for DCMDs can be simply ignored, we must assume that using this feature is not working reliably. The current implementation uses DCMD for REQ_OP_FLUSH only, and I could not see any performance/power impact when disabling this optional feature for RK3399. Therefore this patch disables DCMDs for RK3399. Signed-off-by:
Christoph Muellner <christoph.muellner@theobroma-systems.com> Signed-off-by:
Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Fixes: 84362d79 ("mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1") Cc: stable@vger.kernel.org [the corresponding code changes are queued for 5.2 so doing that as well] Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
- Mar 18, 2019
-
-
Robin Murphy authored
The nanopi4 boards have the INTB pin of the RTL8211E phy wired up, so we can make use of that and avoid having to poll for line status changes. Apparently RTL8211E only requires 30ms of post-reset delay, so we may as well save a little bit of time there as well. Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Robin Murphy authored
NanoPC-T4 has a dedicated circuit for driving a 12V fan from PWM1, so let's add that along with some rough empirically-derived thermal settings for the benefit of anyone determined enough to hook one up. The vendor does not currently offer a suitable fan, but this seems as good a place as any to note that pre-terminated 3-pin JST GH connectors are readily available online, and if you even have to ask, then splicing one of those really will be orders of magnitude cheaper and simpler than getting set up to crimp the teeny-tiny things by hand. Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Alexis Ballier authored
Also rename its regulator to match the schematic names. Signed-off-by:
Alexis Ballier <aballier@gentoo.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Alexis Ballier authored
Despite this not being mentioned in the binding documentation, this generates a log at boot about it being missing. Signed-off-by:
Alexis Ballier <aballier@gentoo.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Alexis Ballier authored
Clock name was wrong, vbat & vddio supplies were missing. Signed-off-by:
Alexis Ballier <aballier@gentoo.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Jagan Teki authored
12V DCIN regulator is root source supply for the rest of regulators in Rock960 power diagram. Add support for it and attach same to supply vcc5v0_sys. Signed-off-by:
Jagan Teki <jagan@amarulasolutions.com> Signed-off-by:
Akash Gajjar <akash@openedev.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Jagan Teki authored
It is always better practice to follow regulator naming conventions as per the schematics for future references. So, rename vcc_sys into vcc5v0_sys as per rk3399 power diagram of rock960 schematics. Signed-off-by:
Jagan Teki <jagan@amarulasolutions.com> Signed-off-by:
Akash Gajjar <akash@openedev.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Jagan Teki authored
FriendlyElec NanoPi NEO4 is known to be a revision 4 based NanoPi4 series of boards. Most of know peripherals are shared between Nanopi M4 vs NEO4, except - 1GB DDR3 - USB Host ports - Missing DSI port - USB 2.0 Host with USB2PHY0 (no USB2PH1) Add support for it, by reusing existing rk3399-nanopi4.dtsi Signed-off-by:
Jagan Teki <jagan@amarulasolutions.com> Signed-off-by:
Akash Gajjar <akash@openedev.com> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Katsuhiro Suzuki authored
The rockpro64 has hdmi support. So this patch enables hdmi audio feature that is defined in rk3399 devicetree. Signed-off-by:
Katsuhiro Suzuki <katsuhiro@katsuster.net> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Alexis Ballier authored
This adds basic support for the Orange Pi RK3399 board. What works: - SD card / emmc. - Debug UART - Ethernet - USB: Type C, internal USB3 for SATA, 4 USB 2.0 ports - Sensors: All of them but the Hall sensor. - Buttons - Wifi, Bluetooth - HDMI out Signed-off-by:
Alexis Ballier <aballier@gentoo.org> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Ezequiel Garcia authored
Enable the mali gpu node. Signed-off-by:
Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Ezequiel Garcia authored
Enable the mali gpu node. Signed-off-by:
Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Leonidas P. Papadakos authored
In line with the rock64 dts, specify the cpu-supply for the other cpus as well Signed-off-by:
Leonidas P. Papadakos <papadakospan@gmail.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Leonidas P. Papadakos authored
Assign the LEDs to heartbeat and sdcard io, as in other RK boards. https://github.com/armbian/build/commit/f1affad5c7be62d6e93832af3556c7609edd0858 Suggested-by:
Juan Cano <j3cano@outlook.com> Signed-off-by:
Leonidas P. Papadakos <papadakospan@gmail.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Katsuhiro Suzuki authored
This patch adds #sound-dai-cells to use HDMI node as audio codec from device tree of rk3328 boards. Signed-off-by:
Katsuhiro Suzuki <katsuhiro@katsuster.net> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Jonas Karlman authored
Add ir-receiver node to enable on-board IR on Rock64. Signed-off-by:
Jonas Karlman <jonas@kwiboo.se> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Jonas Karlman authored
Add led nodes on Rock64. Use heartbeat trigger for the red standby led and use mmc0 trigger for the white power led. Signed-off-by:
Jonas Karlman <jonas@kwiboo.se> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Jonas Karlman authored
Update regulator-name to match node and schematics. Signed-off-by:
Jonas Karlman <jonas@kwiboo.se> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Jonas Karlman authored
This patch enables HDMI CEC on RK3328 devices. (Unusual) source for the cec clock is taken from the vendor kernel. Signed-off-by:
Jonas Karlman <jonas@kwiboo.se> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Marc Zyngier authored
The RK3399 has the interesting property to be a so called "big-little" system, where not all the CPUs are equal (the A53s are much weaker than the A72s). So far, we're not telling the OS that there is such a difference in processing capacity, and Linux assumes that they are equal. Too bad. Let's tell the OS about this by using the capacity-dmips-mhz property. The values used here are those used on the Juno platform, which is quite similar. This leads to the scheduler knowing that it can pack more tasks on the A72s, and leads to a better interactive experience. Tested-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Marc Zyngier <marc.zyngier@arm.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
- Feb 27, 2019
-
-
Brian Norris authored
Currently, we don't coordinate BT USB activity with our handling of the BT out-of-band wake pin, and instead just use gpio-keys. That causes problems because we have no way of distinguishing wake activity due to a BT device (e.g., mouse) vs. the BT controller (e.g., re-configuring wake mask before suspend). This can cause spurious wake events just because we, for instance, try to reconfigure the host controller's event mask before suspending. We can avoid these synchronization problems by handling the BT wake pin directly in the btusb driver -- for all activity up until BT controller suspend(), we simply listen to normal USB activity (e.g., to know the difference between device and host activity); once we're really ready to suspend the host controller, there should be no more host activity, and only *then* do we unmask the GPIO interrupt. This is already supported by btusb; we just need to describe the wake pin in the right node. We list 2 compatible properties, since both PID/VID pairs show up on Scarlet devices, and they're both essentially identical QCA6174A-based modules. Also note that the polarity was wrong before: Qualcomm implemented WAKE as active high, not active low. We only got away with this because gpio-keys always reconfigured us as bi-directional edge-triggered. Finally, we have an external pull-up and a level-shifter on this line (we didn't notice Qualcomm's polarity in the initial design), so we can't do pull-down. Switch to pull-none. Signed-off-by:
Brian Norris <briannorris@chromium.org> Reviewed-by:
Matthias Kaehlcke <mka@chromium.org> Signed-off-by:
Marcel Holtmann <marcel@holtmann.org>
-
- Feb 18, 2019
-
-
Ezequiel Garcia authored
Enable the thermal sensor. This device also provides temperature shutdown protection. The shutdown value is set at 110C, as tested by the vendor. Signed-off-by:
Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
- Feb 15, 2019
-
-
Manivannan Sadhasivam authored
Add on-board WiFi/BT support for Rock960 boards such as Rock960 based on AP6356S and Ficus based on AP6354 wireless modules. Firmwares for the respective boards are available here: http://people.linaro.org/~manivannan.sadhasivam/rock960_wifi/ http://people.linaro.org/~manivannan.sadhasivam/ficus_wifi/ Signed-off-by:
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Peter Geis authored
This patch is a port of the fix from commit 73e42e18 ("arm64: dts: rockchip: fix rock64 gmac2io stability issues") As per that patch, enabling thresh dma mode force disables checksuming. This is necessary as tx checksuming does not work with packets larger than 1498. The rk3328-roc-cc board exhibits tx stability issues with large packets similar to rock64's issues. This patch resolves that issue. Signed-off-by:
Peter Geis <pgwipeout@gmail.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Akash Gajjar authored
vcc5v0_host and vcc5v0_typec is supplied by vcc5v0_usb and not vcc5v0_sys. add node for vcc5v0_usb fixed regulator. Signed-off-by:
Akash Gajjar <Akash_Gajjar@mentor.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Akash Gajjar authored
lcd panel pinmux is unused and the pin actually for something different, so removing it. Signed-off-by:
Akash Gajjar <Akash_Gajjar@mentor.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Akash Gajjar authored
rename dc12, vcc_sys, vcc1v8_pmu regulators and make it more redable as per the schematic of rk3399-rockpro64. Signed-off-by:
Akash Gajjar <Akash_Gajjar@mentor.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Robin Murphy authored
Describe the Bluetooth portion of the Ampak combo module - this is either an AP6356S or an AP6212 depending on the board variant, but there are no relevant compatibility differences between the two. Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
- Feb 03, 2019
-
-
Andrius Štikonas authored
Enable the gpu node and add the supplying regulator Signed-off-by:
Andrius Štikonas <andrius@stikonas.eu> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Ezequiel Garcia authored
This commit enable the hdmi-sound and i2s2 devices needed to have audio over HDMI on both rock960 and the related ficus board. Signed-off-by:
Ezequiel Garcia <ezequiel@collabora.com> Acked-by:
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
- Jan 31, 2019
-
-
Rob Herring authored
The 'arm,armv8' compatible string is only for software models. It adds little value otherwise and is inconsistently used as a fallback on some platforms. Remove it from those platforms. This fixes warnings generated by the DT schema. Reported-by:
Michal Simek <michal.simek@xilinx.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Will Deacon <will.deacon@arm.com> Acked-by:
Antoine Tenart <antoine.tenart@bootlin.com> Acked-by:
Nishanth Menon <nm@ti.com> Acked-by:
Maxime Ripard <maxime.ripard@bootlin.com> Acked-by:
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Acked-by:
Chanho Min <chanho.min@lge.com> Acked-by:
Krzysztof Kozlowski <krzk@kernel.org> Acked-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by:
Gregory CLEMENT <gregory.clement@bootlin.com> Acked-by:
Thierry Reding <treding@nvidia.com> Acked-by:
Heiko Stuebner <heiko@sntech.de> Acked-by:
Simon Horman <horms+renesas@verge.net.au> Acked-by:
Tero Kristo <t-kristo@ti.com> Acked-by:
Wei Xu <xuwei5@hisilicon.com> Acked-by:
Liviu Dudau <liviu.dudau@arm.com> Acked-by:
Matthias Brugger <matthias.bgg@gmail.com> Acked-by:
Michal Simek <michal.simek@xilinx.com> Acked-by:
Scott Branden <scott.branden@broadcom.com> Acked-by:
Kevin Hilman <khilman@baylibre.com> Acked-by:
Chunyan Zhang <zhang.lyra@gmail.com> Acked-by:
Robert Richter <rrichter@cavium.com> Acked-by:
Jisheng Zhang <Jisheng.Zhang@synaptics.com> Acked-by:
Dinh Nguyen <dinguyen@kernel.org> Signed-off-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Arnd Bergmann <arnd@arndb.de>
-
- Jan 28, 2019
-
-
Shawn Lin authored
The mmc.txt didn't explicitly say disable-wp is for SD card slot only, but that is what it was designed for in the first place. Remove all disable-wp from emmc or sdio controller. Signed-off-by:
Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Dmitry Voytik authored
After commit ef05bcb6, boot from USB drives is broken. Fix this problem by enabling usb-host regulators during boot time. Fixes: ef05bcb6 ("arm64: dts: rockchip: fix vcc_host1_5v pin assign on rk3328-rock64") Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Voytik <voytikd@gmail.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Enric Balletbo i Serra authored
Ports are described by child 'port' nodes contained in the device node. 'ports' is optional and is used to group all 'port' nodes which is not the case here. This patch fixes the following warnings: arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts:25.9-29.5: Warning (graph_port): /edp-panel/ports: graph port node name should be 'port' arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts:46.9-50.5: Warningi (graph_port): /edp-panel/ports: graph port node name should be 'port' arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts:94.9-98.5: Warning (graph_port): /edp-panel/ports: graph port node name should be 'port' Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
- Jan 17, 2019
-
-
Robin Murphy authored
For whatever reason, the sdmmc_dectn function isn't working properly as-is, and microSD insertion and removal goes unnoticed. Using the pin as a GPIO interrupt instead is rather noisy without any debouncing, but is good enough to make it useful until someone feels inclined to figure out how the vendor kernel/firmware gets the dedicated function to work with no obvious difference in the pinmux/GRF configuration. Let's also take the opportunity to tweak the node name so that all related pins end up grouped together in the compiled DTB. Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Robin Murphy authored
In common with most Rockchip reference designs, NanoPC-T4 has a passive IR receiver connected to PWM3. In lieu of a specialised driver for PWM-based IR pulse measurement, running the pin as a GPIO with the basic driver works perfectly well. Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Robin Murphy authored
The nanopi4 boards differ primarily in their power trees, with the main 5V and 3.3V rails having very different topologies on the smaller USB-C powered boards vs. the 12V-powered T4, as well as minor variation in other regulators related to various external connectors. Additionally, the recovery key is only present on the T4 - ADC_IN1 is simply pulled high and not exposed on the other boards - and the lowest common denominator for MMC speed is actually HS200 according to the vendor DTs. Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Robin Murphy authored
There are a number of subtle differences between the nanopi4 variants, and where they disagree, the common DTSI currently follows the details of NanoPi M4. In order to improve matters even more, let's add a separate DTS for the M4 to which we can start splitting things out appropriately. The third variant, NanoPi NEO4, is a lot closer to the M4 than either is to the larger T4, so arguably could get away with just sharing the M4 DT for now (plus I have neither of the smaller boards to actually test with). CC: Rob Herring <robh+dt@kernel.org> CC: Mark Rutland <mark.rutland@arm.com> Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
- Jan 13, 2019
-
-
Akash Gajjar authored
ROCK Pi 4 is RK3399 based SBC from radxa.com. board has a 1G/2G/4G lpddr4, CSI, DSI, HDMI, OTG, USB 2.0, USB 3.0, 10/100/1000 RGMII Ethernet Phy, es8316 codec, POE, WIFI (for Model B only), PCIE M.2 support on board. This patch enables - HDMI Display - Console - MMC, EMMC - USB 2.0, USB-3.0 - Ethernet Signed-off-by:
Akash Gajjar <Akash_Gajjar@mentor.com> Signed-off-by:
Pragnesh Patel <Pragnesh_Patel@mentor.com> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-