Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Login screen is clearly visible. Lots of pink instead of white.
|
|
Otherwise these messages kill the box
|
|
|
|
|
|
|
|
|
|
On a flakey MIPI connection, these messages will flood and
kill the box.
Ratelimit in action:
[ 108.317808] rkisp1_mipi_isr: 296442 callbacks suppressed
|
|
For the RK3399, tx1rx1 support is incomplete in the driver.
|
|
Theobroma Systems RK3399-Q7 "Puma" with HDMI to CSI adapter "Peafowl".
Uses the Toshiba TC358749 chip.
|
|
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>
|
|
Causes a kernel panic on the RK3399-Q7 "Puma".
See https://github.com/rockchip-linux/kernel/issues/79 for details.
This reverts commit 7e4349ec9d70dbcfe7f78125700d2685539ea1bd.
|
|
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 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>
|
|
This reverts commit 44822b10317558fc14d41962a7781d4267cd1592.
Change-Id: I4cc331caf0e6cd853099a770f438276762a219f3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
|
|
PANIC_TIMEOUT=1
Make sure kernel panic and reboot when something wrong.
Change-Id: Iaed051431fa4ae2fb5bdd952737deb07a24a33c1
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
|
|
The ATF must contain the following commit:
35e0de42e8ac ("plat: rk3308: dfs: add ddr_get_rate implement")
Change-Id: Idf22418b830c9a1f4ebd2c9b19dc7345bc4cf1c6
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
|
|
Change-Id: Ife612c36f3249cc44a97525eff9f4d3c3d751812
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
|
|
Change-Id: I4149982d553b11fc9dedc51d45df5864880ffca0
Signed-off-by: Shixiang Zheng <shixiang.zheng@rock-chips.com>
|
|
Change-Id: Ic2e643dfa991bf24a6be509b42fa4056c794f699
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
|
|
Single entry is for target voltage and three entries are for
<target min max> voltages. Change cpu opp-microvolt form one entry to
three entries and set maximum acceptable voltage to a high value so that
regulator device can supply multiple consumers at the same time.
Change-Id: I3a0dc4e161bae33e36b232c36a0a05a3102359ef
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
|
|
Change-Id: I7bed4caac70b430752bc6338d15554901892144a
Signed-off-by: Jason Song <sxj@rock-chips.com>
|
|
Change-Id: If570260ce12fd2afc678cefcbfe1a2641b5253d9
Signed-off-by: Jason Song <sxj@rock-chips.com>
|
|
dump path: /data/vop_buf
debug nod: d/dri/0/ff900000.vop/vop_dump/dump
echo dump > dump to dump one frame
echo dumpon > dump to start vop keep dumping
echo dumpoff > dump to stop keep dumping
echo dumpn > dump n is the number of dump times
if fd err -3 try rm -r /data/vopbuf echo dump1 > dump can fix it
if fd err -28 save needed data try rm -r /data/vopbuf
Change-Id: Id5fefa428db1b5669ceae418cd8bddfa52e52f61
Signed-off-by: Shixiang Zheng <shixiang.zheng@rock-chips.com>
|
|
This patch adds the ov5695 releated configure with rk3326 mipi/isp.
Change-Id: I62d6d8854d7e66fac521b3fea0f4dd35dc2799c4
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
|
|
Change-Id: Ia0d754d941ba9bda874efe787a985f00cf1be779
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
|
|
This new set of tracepoints will help all gadget
drivers and UDC drivers when problem appears. Note
that, in order to be able to add tracepoints to
udc-core.c we had to rename that to core.c and
statically link it with trace.c to form
udc-core.o. This is to make sure that module name
stays the same.
Change-Id: I23eb801151a75629a8a2f6e7d9203f58281ed3d2
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 5e42d710a108c23c104e083900d4ba9398e418b0)
|
|
instead of defining all functions as static inlines,
let's move them to udc-core and export them with
EXPORT_SYMBOL_GPL, that way we can make sure that
only GPL drivers will use them.
As a side effect, it'll be nicer to add tracepoints
to the gadget API.
While at that, also fix Kconfig dependencies to
avoid randconfig build failures.
Change-Id: I3fcc99c0730608076cfa8624908e58b7ee6f1bef
Acked-By: Sebastian Reichel <sre@kernel.org>
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry-picked from commit 5a8d651a2bde01e00caf78496390d6ae46df80af)
|
|
we set cru reset as tshut's default mode, i.e. hw-tshut-mode = <0>, and
otp_gpio mode is set accordingly. if gpio mode is set,
i.e. hw-tshut-mode = <1>, otp_out is set accordingly.
Change-Id: I3cb4588fec171e2867a326f55c2115b1da927ac3
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
|
|
Impletement rk_iommu_map_sg for rk_iommu_ops, which only
flush TLB once after each sg been mapped, that speed up
the map operation.
Change-Id: Ief123ad363018d2b3227066c07338ccbd75c9d84
Signed-off-by: Simon Xue <xxm@rock-chips.com>
|
|
Change-Id: I7550fc9f78a30b5d8ff705403ad91cfd8727fad6
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
|
|
preemption
I finally got around to creating trampolines for dynamically allocated
ftrace_ops with using synchronize_rcu_tasks(). For users of the ftrace
function hook callbacks, like perf, that allocate the ftrace_ops
descriptor via kmalloc() and friends, ftrace was not able to optimize
the functions being traced to use a trampoline because they would also
need to be allocated dynamically. The problem is that they cannot be
freed when CONFIG_PREEMPT is set, as there's no way to tell if a task
was preempted on the trampoline. That was before Paul McKenney
implemented synchronize_rcu_tasks() that would make sure all tasks
(except idle) have scheduled out or have entered user space.
While testing this, I triggered this bug:
BUG: unable to handle kernel paging request at ffffffffa0230077
...
RIP: 0010:0xffffffffa0230077
...
Call Trace:
schedule+0x5/0xe0
schedule_preempt_disabled+0x18/0x30
do_idle+0x172/0x220
What happened was that the idle task was preempted on the trampoline.
As synchronize_rcu_tasks() ignores the idle thread, there's nothing
that lets ftrace know that the idle task was preempted on a trampoline.
The idle task shouldn't need to ever enable preemption. The idle task
is simply a loop that calls schedule or places the cpu into idle mode.
In fact, having preemption enabled is inefficient, because it can
happen when idle is just about to call schedule anyway, which would
cause schedule to be called twice. Once for when the interrupt came in
and was returning back to normal context, and then again in the normal
path that the idle loop is running in, which would be pointless, as it
had already scheduled.
The only reason schedule_preempt_disable() enables preemption is to be
able to call sched_submit_work(), which requires preemption enabled. As
this is a nop when the task is in the RUNNING state, and idle is always
in the running state, there's no reason that idle needs to enable
preemption. But that means it cannot use schedule_preempt_disable() as
other callers of that function require calling sched_submit_work().
Adding a new function local to kernel/sched/ that allows idle to call
the scheduler without enabling preemption, fixes the
synchronize_rcu_tasks() issue, as well as removes the pointless spurious
schedule calls caused by interrupts happening in the brief window where
preemption is enabled just before it calls schedule.
Reviewed: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170414084809.3dacde2a@gandalf.local.home
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-----Shawn: trace on 4.4 for RK3308 -------------------------
[ 151.389904] BUG: scheduling while atomic: swapper/0/0/0x00000000
[ 151.390478] Modules linked in:
[ 151.390813] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.126 #1327
[ 151.390830] Hardware name: Rockchip RK3308 evb digital-i2s mic board
(DT)
[ 151.390844] Call trace:
[ 151.390868] [<ffffff800808731c>] dump_backtrace+0x0/0x1c4
[ 151.390883] [<ffffff80080874f4>] show_stack+0x14/0x1c
[ 151.390900] [<ffffff80081e4274>] dump_stack+0x94/0xbc
[ 151.390919] [<ffffff80080b4c6c>] __schedule_bug+0x3c/0x54
[ 151.390938] [<ffffff800857e978>] __schedule+0x88/0x45c
[ 151.390953] [<ffffff800857edc0>] schedule+0x74/0x94
[ 151.390971] [<ffffff800857f118>] schedule_preempt_disabled+0x20/0x38
[ 151.390987] [<ffffff80080c9d74>] cpu_startup_entry+0x44/0x204
[ 151.391007] [<ffffff800857cda0>] rest_init+0x80/0x8c
[ 151.391025] [<ffffff8008750b04>] start_kernel+0x31c/0x330
[ 151.391040] [<ffffff80087501c4>] __primary_switched+0x30/0x6c
-------------------------------------------------------
Change-Id: I12971dfe9c2039920162326aabe1df0ecaf79804
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
(cherry-picked from 8663effb24f9430394d3bf1ed2dac42a771421d1)
|
|
Change-Id: I3ccb3c6426d08dc1a186f86d86391a8e307e6e1b
Signed-off-by: Tony Xie <xxx@rock-chips.com>
|
|
Change-Id: Ifbd3117d3999b322951df458a12cfe488954803d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
|