Age | Commit message (Collapse) | Author |
|
This patch re-enables AVB in the DTS.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
* Switch to HDMI to VOPB
* Re-enable vbmeta.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
This patch removes redundant information in the rk3399-puma-android.dts.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
This patch disables the AVB verification by removing
the vbmeta node in the firmware_android section in the DTS.
This changes has been suggested by Rockchip to temporary
circumvent verification errors.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
This commit provides DTS and defconfig for Rockchip's Android 9 SDK.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
A previous commit updated the ucan driver to the one from mainline
Linux. Unfortunately the updated driver does not support the old v2.0
devices, which breaks environments where such devices are deployed and
cannot be updated.
Therefore this patch adds the old driver back as ucan_legacy.
Besides the USB PID/VID combination it will match for device versions
from 0x0000 to 0x02ff (the new ucan driver will test for 0x0300+).
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
This patch extends the USB device ID table of the ucan driver
to match for the device version as well.
Only devices with a firmware version of 3.0 or higher will match.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
removing it
This patch revert commit 7da11ba5c506
("can: dev: __can_get_echo_skb(): print error message, if trying to echo non existing skb")
After introduction of this change we encountered following new error
message on various i.MX plattforms (flexcan):
| flexcan 53fc8000.can can0: __can_get_echo_skb: BUG! Trying to echo non
| existing skb: can_priv::echo_skb[0]
The introduction of the message was a mistake because
priv->echo_skb[idx] = NULL is a perfectly valid in following case: If
CAN_RAW_LOOPBACK is disabled (setsockopt) in applications, the pkt_type
of the tx skb's given to can_put_echo_skb is set to PACKET_LOOPBACK. In
this case can_put_echo_skb will not set priv->echo_skb[idx]. It is
therefore kept NULL.
As additional argument for revert: The order of check and usage of idx
was changed. idx is used to access an array element before checking it's
boundaries.
Signed-off-by: Manfred Schlaegl <manfred.schlaegl@ginzinger.com>
Fixes: 7da11ba5c506 ("can: dev: __can_get_echo_skb(): print error message, if trying to echo non existing skb")
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|
This patch updates the UCAN driver to the improved version,
which has been mainlined. Besides addressing stabilization issues
this driver update also adds support for more recent firmware
versions of Seal and Mule.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
The UCAN driver supports the microcontroller-based USB/CAN
adapters from Theobroma Systems. There are two form-factors
that run essentially the same firmware:
* Seal: standalone USB stick ( https://www.theobroma-systems.com/seal )
* Mule: integrated on the PCB of various System-on-Modules from
Theobroma Systems like the A31-µQ7 and the RK3399-Q7
( https://www.theobroma-systems.com/rk3399-q7 )
The USB wire protocol has been designed to be as generic and
hardware-indendent as possible in the hope of being useful for
implementation on other microcontrollers.
Signed-off-by: Martin Elshuber <martin.elshuber@theobroma-systems.com>
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
|
The fraction approximation code for rockchip frac dividers
impose the following requirement (as noted in a driver comment):
fractional divider must set that denominator is 20 times larger than
numerator to generate precise clock frequency.
Additionally the frac driver limits the maximum input frequency
to 600 MHz. This limitation can be achieved by using the integer
divider (limiting to e.g. 400 MHz).
Note, that both restrictions are not stated in the RK3399 TRM.
The implication of these restrictions are, that the range of possible
output frequencies is reduced quite drastically.
This results in the problem, that clk_i2s0_frac cannot generate
a clock of 24.56 MHz and thus audio on RK3399-Q7 is broken.
Therefore this patch whitelists clk_i2s0_frac from the first
restriction, similar to the exception for UART (in the same function).
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
This is the 1.8V version of the gd25q32.
|
|
The RK3399-Q7 (Puma) requires 33 Ohm drive strength to ensure signal
integrity at HS-400 (200MHz clock, DDR signalling).
A repeated EMC testing run validates that this increase does not
negatively impact EMC compliance (emissions have ample distance to
the regulatory limits).
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
This patch documents the new proprty drive-impedance-ohm for
Rockchip's eMMC PHY node.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
|
The rockchip-emmc PHY can be configured with different
drive impedance values. Currenlty a value of 50 Ohm is
hard coded into the driver.
This patch introduces the DTS property 'drive-impedance-ohm'
for the rockchip-emmc phy node, which uses the value from the DTS
to setup the drive impedance accordingly.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
|
|
Extending the operating point list of the DMC to include
frequencies of up to 800 MHz.
This increases bandwidth and fixes issues observed
with RKISP1 (PIC_SIZE_ERRORs when performing memory
intensive tasks in parallel).
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
This patch is required because the name of the "efuse_id" node has been
changed to "cpu_id" in the rk3399.dtsi by the following commit:
commit 1eefebf4c678d63d1051a38f6ffd06eb1bd66fe0
Author: Jianqun Xu <jay.xu@rock-chips.com>
Date: Tue Jul 24 15:56:18 2018 +0800
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
This addresses a type warning, which elevates to a broken build
because of -Werror:
CC drivers/gpu/arm/midgard/ipa/mali_kbase_ipa.o
drivers/gpu/arm/midgard/ipa/mali_kbase_ipa.c:582:22: warning:
initialization from incompatible pointer type
[-Wincompatible-pointer-types]
error, forbidden warning:mali_kbase_ipa.c:582
.get_static_power = &kbase_get_static_power,
^
drivers/gpu/arm/midgard/ipa/mali_kbase_ipa.c:582:22: note: (near
initialization for ‘kbase_ipa_power_model_ops.get_static_power’)
drivers/gpu/arm/midgard/ipa/mali_kbase_ipa.c:583:23: warning:
initialization from incompatible pointer type
[-Wincompatible-pointer-types]
error, forbidden warning:mali_kbase_ipa.c:583
.get_dynamic_power = &kbase_get_dynamic_power,
^
drivers/gpu/arm/midgard/ipa/mali_kbase_ipa.c:583:23: note: (near
initialization for ‘kbase_ipa_power_model_ops.get_dynamic_power’)
scripts/Makefile.build:277: recipe for target
'drivers/gpu/arm/midgard/ipa/mali_kbase_ipa.o' failed
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
|
|
CRC errors (code -84 EILSEQ) have been observed for some SanDisk
Ultra A1 cards when running at 50MHz.
Waveform analysis suggest that the level shifters that are used on the
RK3399-Q7 module for voltage translation between 3.0 and 3.3V don't
handle clock rates at or above 48MHz properly. Back off to 40MHz for
some safety margin.
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
|
|
|
1920x1080 UYVY8
This is the default output format of the tc358749 HDMI-to-CSI
converter.
Setting the default correctly makes playback via qv4l2 "just work".
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
|
Theobroma Systems RK3399-Q7 "Puma" with HDMI to CSI adapter "Peafowl".
Uses the Toshiba TC358749 chip.
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
|
DDR memory frequency scaling is called DMC (dynamic memory controller)
in the RK3399 SoC.
Enable it in the DTS and in the defconfig.
To improve the reaction time of the rockchip_dmc governor, CONFIG_HZ_PERIODIC
is enabled, at the cost of a 3% idle power increase. I see worst case reaction
times of tens of seconds without it, because devfreq_dmc_ondemand_func does not
get to run.
The upthreshold and downdifferential values in the DTS are more aggressive than
what rockchip uses. This improves U-Boot make -j6 compile time by 8%.
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
|
This devicetree adds spidev nodes to the spi5 bus as enhancement to the
rk3399-puma.dts.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
SPI core provides the functionality to have GPIO based chip selects but
assumes that the pins are already configured by the platform.
Configure GPIO style pins in rockchip_spi_setup so they can be used
later on.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
Some SPI masters require slave selection before the transfer
can begin [1]. The SPI framework currently selects the chip using
either 1) the internal CS mechanism or 2) the GPIO CS, but not both.
This patch adds a new master->flags define to indicate both the GPIO
CS and the internal chip select mechanism should be used.
Tested On:
Altera CycloneV development kit
Compile tested for build errors on x86_64 (allyesconfigs)
[1] DesignWare dw_apb_ssi Databook, Version 3.20a (page 39)
Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
The rockchip spi still requires slave selection when using GPIO CS.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Access to the spi5 peripheral when powered down halts the system
rendering it unresponsive. Define the powerdomain in the rk3399.dtsi to
prevent a shutdown when the peripheral is used.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
The SD-Card IO rail on the RK3399 should not be operated higher than
3.15V. We reduce it to 3.0V. Note that the I/Os on the Qseven edge
connector will still be 3.3V as expected.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
The isl1208 emulation on puma / rk3399-q7 does not support interrupts at all,
but has no way to announce that fact to the kernel. This causes problems
in user-space:
# hwclock -r -D
[...]
select() to /dev/rtc to wait for clock tick timed out...synchronization failed
Set the uie_unsupported flag unconditionally in the driver until we get a
way to configure it through a device tree property. Fixes the problems
with hwclock.
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
|
Disable sleep for now as the Gopher module does not seem
to wake up again.
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
|
As the VOPs have different capabilities, which vop was selected
is usually interesting to the user.
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
|
hdmi works fine, and looking at what properties are actually failing
(see below) indicates that they are not essential.
Downgrade the message level from "error" to "info".
[ 10.545924] [drm:dw_hdmi_rockchip_set_property] failed to set rockchip hdmi connector property hdmi_color_depth_capacity
[ 10.557993] [drm:dw_hdmi_rockchip_set_property] failed to set rockchip hdmi connector property hdmi_output_mode_capacity
[ 10.570473] [drm:dw_hdmi_rockchip_set_property] failed to set rockchip hdmi connector property brightness
[ 10.581221] [drm:dw_hdmi_rockchip_set_property] failed to set rockchip hdmi connector property contrast
[ 10.591810] [drm:dw_hdmi_rockchip_set_property] failed to set rockchip hdmi connector property saturation
[ 10.602415] [drm:dw_hdmi_rockchip_set_property] failed to set rockchip hdmi connector property hue
[ 10.708193] rockchip-dp ff970000.edp: Link Training Clock Recovery success
[ 10.717607] rockchip-dp ff970000.edp: Link Training success!
|
|
BCM43455 is a more recent revision of the BCM4345. Some of the BCM43455
got a dedicated SDIO device ID which is currently not supported by
brcmfmac.
Adding the new sdio_device_id to brcmfmac is enough to get the BCM43455
supported because the chip itself is already supported (due to BCM4345
support in the driver).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Tested-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Upstream commit a62a77881b1b6708ffeddd9bf0529494f7b199e3
|
|
The slow downed ramp causes a higher voltage level at the turn off time
generating an audible pop noise.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
This driver adds support for Silead touchscreens. It has been tested
with GSL1680 and GSL3680 touch panels.
It supports ACPI and device tree enumeration. Screen resolution,
the maximum number of fingers supported and firmware name are
configurable.
Signed-off-by: Robert Dolca <robert.dolca@intel.com>
Signed-off-by: Daniel Jansen <djaniboe@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Input: silead - remove some dead code
buf[0] is an unsigned char. touch_nr is an int. The test for negative
here doesn't make sense so I have removed it.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Input: silead - use devm_gpiod_get
The silead code is using devm_foo for everything (and does not free
any resources). Except that it is using gpiod_get instead of
devm_gpiod_get (but is not freeing the gpio_desc), change this
to use devm_gpiod_get so that the gpio will be properly released.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Input: silead_gsl1680 - document firmware-name, fix implementation
The driver has supported touchscreen-fw-name to specify the firmware to
load since it has been merged, but this was omitted from the dt-binding
documentation.
During review of adding touchscreen-fw-name to the binding documentation
it was brought up that there is a standard property name called
"firmware-name" for this, which should be used.
Since there are no users of touchscreen-fw-name yet, this commit
adds documentation of "firmware-name" to the dt-binding documentation
and switches the driver over to use this.
This commit also makes the driver add a "silead/" prefix to the
firmware name from dt before calling request_firmware. That the
firmware files are stored under /lib/firmware/silead under Linux
is an implementation detail and does not belong in devicetree.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Input: silead_gsl1680 - use "silead/" prefix for firmware loading
The silead touch-controller ICs use a different firmware per digitizer /
tablet model. So there are going to be quite a few of then and they really
should be under a separate subdir.
This commit prefixes the default firmware names with "silead/" just like
we are already doing for devicetree specified firmware names.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Input: silead - add OF device ID table
The driver doesn't have a struct of_device_id table but supported devices
are registered via Device Trees. This is working on the assumption that a
I2C device registered via OF will always match a legacy I2C device ID and
that the MODALIAS reported will always be of the form i2c:<device>.
But this could change in the future so the correct approach is to have an
OF device ID table if the devices are registered via OF.
As pointed by Hans de Goede, there's no mssl1680 and this is just used in
some ACPI systems to identify the gsl1680 chip. So isn't included in the
OF device ID table since a DT should use the proper device name instead.
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Input: back-port silead.c: pos[i] handling/assignment
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Input: back-port silead.c: invert_x/y & swap_xy
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Input: silead: retry firmware load
If we get ENOENT when trying to load the firmware, this can just mean
that the rootfs is not mounted yet. Return EPROBE_DEFER so the probe
is retried later.
To prevent an infinite probe loop when the firmware does not exist at
all, the retries are capped to 10.
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
|
The empty .scmvesion file breaks the setlocalversion script.
As we want to use CONFIG_LOCALVERSION_AUTO we delete the file.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
The RK3399-Q7 (Puma) is a system-on-module featuring the Rockchip
RK3399 in a Qseven-compatible form-factor.
RK3399-Q7 features:
* CPU: ARMv8 64bit Big-Little architecture,
* Big: dual-core Cortex-A72
* Little: quad-core Cortex-A53
* IRAM: 200KB
* DRAM: 4GB-128MB dual-channel
* eMMC: onboard eMMC
* SD/MMC
* GbE (onboard Micrel KSZ9031) Gigabit ethernet PHY
* USB:
* USB3.0 dual role port
* 2x USB3.0 host, 1x USB2.0 host via onboard USB3.0 hub
* Display: HDMI/eDP/MIPI
* Camera: 2x CSI (one on the edge connector, one on the Q7 specified CSI ZIF)
* NOR Flash: onboard SPI NOR
* Companion Controller: onboard additional Cortex-M0 microcontroller
* RTC
* fan controller
* CAN
This dts describes includes all required peripherals for booting and
basic functionality including eMMC, NOR, USB, Ethernet, HDMI output
(with audio), I2C buses (including the RTC and fan controller features
provided by the default companion controller firmware) and LED
definitions.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
|
user_atom.atom_number can be indirectly controlled by user-space,
hence leading to a potential exploitation
of the Spectre variant 1 vulnerability.
This issue was detected with the help of Smatch:
drivers/gpu/arm/midgard/mali_kbase_jd.c:1397 kbase_jd_submit() warn:
potential spectre issue 'jctx->atoms' [r]
katom = &jctx->atoms[user_atom.atom_number];
Fix this by sanitizing user_atom.atom_number
before 'katom = &jctx->atoms[user_atom.atom_number];'.
Notice that given that speculation windows are large, the policy is
to kill the speculation on the first load and not worry if it can be
completed with a dependent load/store [1].
[1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2
Fixes: 5cf27d0b6090 ("Mali: midgard: changes to enlarge BASE_JD_ATOM_COUNT to 512, for defect 184210")
Change-Id: If52f30d29a80a06c6693ddadd5947ab9fe8fbc25
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
|
|
The source code of mali_so must be modified correspondingly.
Change-Id: I3f4bd03fa2d369d912e6bc05c53d2d3abefb92d3
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
|
|
Change-Id: Ic80e74fa3198a6f877b69d38a225a187dc53769e
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
|
|
New Inno combphy improve its pre-emphasis settings, so we
need to use new recommended value instead.
Change-Id: I5b4b2e8819c4b44d908156bb8ad99bd8c62c8bdf
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
|
|
otherwise cache flush will cause test fail
Change-Id: I6d4a4be405998bfe68eac0004b5fee407ed62a70
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
|
|
Change-Id: I815d41ce0f0d7e35d7b8bd133a3f203e24e69943
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
|
|
modify head file to match the change of camera engine
Change-Id: Ia139e733f766cf9cbb02e80ceda81a1817b3acbf
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
|
|
According to the hardware test, change the tx pin drive strength
to 4ma, and mdc/mdio 2ma.
Change-Id: Ia5ab1728c9e9ecbfa7207217649588f600070ae4
Signed-off-by: David Wu <david.wu@rock-chips.com>
|
|
drivers/power/rk817_battery.c:3254:12: warning: 'rk817_bat_pm_resume' defined but not used [-Wunused-function]
error, forbidden warning:rk817_battery.c:3254
static int rk817_bat_pm_resume(struct device *dev)
^~~~~~~~~~~~~~~~~~~
drivers/power/rk817_battery.c:3037:13: warning: 'rk817_bat_pm_suspend' defined but not used [-Wunused-function]
error, forbidden warning:rk817_battery.c:3037
static int rk817_bat_pm_suspend(struct device *dev)
Change-Id: I8cb39c95688e16027257c09a20eaeb100bd1024b
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
|
|
we replace cru assigned clock node in rk1808-evb-x4 dts, and now clk_32k_ioe
is setted in this node, so we need to add this back in rk1808-evb-x4.dts,
otherwise the SOC can not boot normally.
Change-Id: I06a55bea97e0ef260f2549349b3211a311a913ae
Signed-off-by: Lin Huang <hl@rock-chips.com>
|
|
There was a typo when generating endpoint name which
would be very confusing when debugging. Fix it.
Change-Id: If29433f427499674b7604b399cbc3ac6e6bf7b1f
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 696fe69d7e631f00f23b0ef1694d9b90058dca54)
|