Commit Graph

1221644 Commits

Author SHA1 Message Date
Changhuang Liang
7f3fb7fc3c media: starfive: Add vin driver support
Add vin driver support.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
2024-03-05 15:18:30 +08:00
Changhuang Liang
01326bebd9 dt-binding: media: Add JH7110 Camera Subsystem.
Add the bindings documentation for Starfive JH7110 Camera Subsystem
which is used for handing image sensor data.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com>
2024-03-05 15:18:30 +08:00
Changhuang Liang
3483323854 input: touchscreen: Add tinker_ft5406 driver support
Add tinker_ft5406 driver support

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
2024-03-05 15:18:30 +08:00
Changhuang Liang
3aebd2ea9e dt-binding: input: Add tink_ft5406
Add tink_ft5406.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
2024-03-05 15:18:30 +08:00
Walker Chen
fc02029502 ASoC: starfive: Add JH7110 PDM driver
Add pdm driver support for the StarFive JH7110 SoC.

Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
2024-03-05 15:18:30 +08:00
Xingyu Wu
d9d4dbd4c5 ASoC: starfive: Add SPDIF and PCM driver
Add SPDIF and SPDIF-PCM driver for StarFive JH7110.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:29 +08:00
Xingyu Wu
f185659102 ASoC: codecs: Add AC108 Codec driver
Add AC108 Codec driver and AC101 driver for AC10x.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:29 +08:00
Walker Chen
95c85c06eb ASoC: wm8960: Configuration for JH7110 Audio
Configure WM8960 to be used for JH7110 TDM & I2S.

Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:29 +08:00
Walker Chen
4e20de720a dmaengine: dw-axi-dmac: Drop unused print message
Removed printing information which is not related to StarFive
platform.

Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
2024-03-05 15:18:29 +08:00
Minda Chen
6da09a5853 perf: sbi: disable cpu hotplug callback.
register cpu hotplug callback will cause dhrystone
and coremark benchmark reduce the scores. this CPU
hotplug ops will do in sbi cpu/on and off. So disable
this no side effect.

Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:29 +08:00
João Mário Domingos
3e29197013 RISC-V: Added generic pmu-events mapfile
The pmu-events now supports custom events for RISC-V, plus the cycle,
time and instret events were defined.

Signed-off-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
2024-03-05 15:18:29 +08:00
João Mário Domingos
4390f00ffe RISC-V: Support CPUID for risc-v in perf
This patch creates the header.c file for the risc-v architecture and introduces support for
PMU identification through sysfs.
It is now possible to configure pmu-events in risc-v.

Depends on patch [1], that introduces the id sysfs file.

Signed-off-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
2024-03-05 15:18:29 +08:00
João Mário Domingos
6f46d9c4c1 RISC-V: Create unique identification for SoC PMU
The SBI PMU platform driver did not provide any identification for
perf events matching. This patch introduces a new sysfs file inside the
platform device (soc:pmu/id) for pmu identification.

The identification is a 64-bit value generated as:
[63-32]: mvendorid;
[31]: marchid[MSB];
[30-16]: marchid[15-0];
[15-0]: mimpid[15MSBs];

The CSRs are detailed in the RISC-V privileged spec [1].
The marchid is split in MSB + 15LSBs, due to the MSB being used for
open-source architecture identification.

[1] https://github.com/riscv/riscv-isa-manual

Signed-off-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
2024-03-05 15:18:29 +08:00
Kevin.xie
c0855d2d61 drivers: nvme: Add precheck and delay for CQE pending status.
To workaroud the NVMe I/O timeout problem in bootup S10udev case
which caused by the CQE update lantancy.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2024-03-05 15:18:29 +08:00
Kevin.xie
139867421b regulator: starfive-jh7110: Add regulator support for JH7110 A type EVB.
Add 7 regulators base on regulator framework for
JH7110 evb HW design.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2024-03-05 15:18:29 +08:00
William Qiu
d315b52535 CAN: starfive - Add CAN engine support
Adding device probe StarFive CAN module.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:29 +08:00
William Qiu
2aa8eba5c6 dt-bindings: CAN: Add StarFive CAN module
Add documentation to describe StarFive CAN engine.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
2024-03-05 15:18:28 +08:00
William Qiu
9e82665e2f uart: 8250: add reset operation in runtime PM
add reset operation in runtime PM

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
2024-03-05 15:18:28 +08:00
shanlong.li
77365cc40a driver:uart: fix up uart communicate fail
fix up uart communicate fail

Signed-off-by: shanlong.li <shanlong.li@starfivetech.com>
2024-03-05 15:18:28 +08:00
Minda Chen
87a0010eae uart: 8250: Add dw auto flow ctrl support
Add designeware 8250 auto flow ctrl support. Enable
it by add auto-flow-control in dts.

Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
2024-03-05 15:18:28 +08:00
ziv.xu
1a3fc138b6 driver: rtc: Add StarFive JH7110 rtc driver
Add RTC driver and support for StarFive JH7110 SoC.

Signed-off-by: ziv.xu <ziv.xu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:28 +08:00
shanlong.li
ad6c5a4872 driver: mailbox: Add mailbox driver
Add mailbox driver.

Signed-off-by: shanlong.li <shanlong.li@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:28 +08:00
Ziv Xu
f392f808dd drivers: mtd: gigadevice: add gd25lq256d 32M flash support
add gd25lq256d 32M flash support

Signed-off-by: Ziv Xu <ziv.xu@starfivetech.com>
2024-03-05 15:18:28 +08:00
Hal Feng
9bb4ea0163 i2c: designware: Delete SMBus functionalities
The driver didn't implement the smbus interface,
so replace the SMBus functionalities with
I2C_FUNC_SMBUS_EMUL.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:28 +08:00
Hal Feng
b07df90911 usr: Add gen_initramfs_list.sh
Add gen_initramfs_list.sh

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:28 +08:00
Jianlong Huang
78eb8ad16b of: configfs: Add configfs function
Signed-off-by: Jianlong Huang <jianlong.huang@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:28 +08:00
Hal Feng
251edfc5a2 riscv: configs: Add starfive_jh7110_defconfig
Add starfive_jh7110_defconfig for JH7110 EVB.
The code is ported from tag JH7110_SDK_6.1_v5.11.3

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:28 +08:00
Hal Feng
813c7309db riscv: dts: starfive: Add evb-overlay dtso subdir
Create subdir evb-overlay/ and add overlay .dtso for JH7110 EVB.
The code is ported from tag JH7110_SDK_6.1_v5.11.3

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:28 +08:00
Hal Feng
2b2f71da25 riscv: dts: starfive: Add JH7110 EVB expanded device tree
Add JH7110 EVB expanded device tree.
The code is ported from tag JH7110_SDK_6.1_v5.11.3

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Hal Feng
90917c3893 riscv: dts: starfive: Add JH7110 EVB device tree
Add JH7110 evaluation board device tree.
The code is ported from tag JH7110_SDK_6.1_v5.11.3

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Hal Feng
25cc00bd85 mm/pgtable-generic.c: Export symbol __pte_offset_map
So JH7110 vdec can call pte_offset_map() when it is built as a module.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Hal Feng
9a66ba840c pinctrl: starfive: jh7110: Unset .strict in pinmux_ops
Allow simultaneous use of the same pin for GPIO and another function.
This feature is used in HDMI hot plug detect.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Xingyu Wu
2fef0872da ASoC: dwc: i2s: Add RX master support for StarFive JH7110 SoC
Add JH7110 I2S RX master support, so the PDM can work on JH7110
EVB board.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Xingyu Wu
29ebe44f04 ASoC: dwc: i2s: Fix getting platform data error for StarFive JH7110
JH7110 need to use a DT specific function to get the platform data,
otherwise, it fails in probe().

Fixes: 9c97790a07 ("ASoC: dwc: Fix non-DT instantiation")
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
ziv.xu
6b595b3129 spi: spl022: Get and deassert reset in probe()
This fix spi1~6 communication time out.

Signed-off-by: ziv.xu <ziv.xu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
William Qiu
048b62c138 mmc: starfive: Change the voltage to adapt to JH7110 EVB
Change the voltage, so the driver can adapt to JH7110 EVB.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Hal Feng
1d54039876 MAINTAINERS: Update all StarFive entries
Merge all StarFive maintainers changes together.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Hal Feng
337e4862f5 riscv: dts: starfive: Add full support (except VIN and VOUT) for JH7110 and VisionFive 2 board
Merge all StarFive dts patches together except VIN and VOUT.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2024-03-05 15:18:27 +08:00
Xingyu Wu
86e49bf36f riscv: dts: starfive: pinfunc: Fix the pins name of I2STX1
These pins are actually I2STX1 clock input, not I2STX0,
so their names should be changed.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2024-03-05 15:18:27 +08:00
Changhuang Liang
093e8e3a0b pmdomain: starfive: Update prefixes for AON power domain
Use "JH7110_AON_PD_" prefix for AON power doamin for JH7110 SoC.

Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Link: https://lore.kernel.org/r/20230927130734.9921-3-changhuang.liang@starfivetech.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Changhuang Liang
e61adf0863 dt-bindings: power: Update prefixes for AON power domain
Use "JH7110_AON_PD_" prefix for AON power domain for JH7110 SoC.

Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230927130734.9921-2-changhuang.liang@starfivetech.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Ulf Hansson
2acc5256e8 pmdomain: starfive: Move Kconfig file to the pmdomain subsystem
The Kconfig belongs closer to the corresponding implementation, hence let's
move it from the soc subsystem to the pmdomain subsystem.

Cc: Walker Chen <walker.chen@starfivetech.com>
Cc: Conor Dooley <conor@kernel.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Ulf Hansson
4a904ba5b7 pmdomain: Prepare to move Kconfig files into the pmdomain subsystem
Rather than having the various Kconfig files for the genpd providers
sprinkled across subsystems, let's prepare to move them into the pmdomain
subsystem along with the implementations.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Changhuang Liang
6e5939b3e5 pmdomain: starfive: Add JH7110 AON PMU support
Add AON PMU for StarFive JH7110 SoC. It can be used to turn on/off the
dphy rx/tx power switch.

Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230913-dude-imprecise-fc32622bc947@spud
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Changhuang Liang
2c070d8789 pmdomain: starfive: Extract JH7110 pmu private operations
Move JH7110 private operation into private data of compatible. Convenient
to add AON PMU which would not have interrupts property.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230913-slideshow-luckiness-38ff17de84c6@spud
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Changhuang Liang
7d47405867 pmdomain: starfive: Replace SOC_STARFIVE with ARCH_STARFIVE
Using ARCH_FOO symbol is preferred than SOC_FOO.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230913-legibly-treachery-567cffcb5604@spud
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Changhuang Liang
26568fd5e1 dt-bindings: power: Add power-domain header for JH7110
Add power-domain header for JH7110 SoC, it can use to operate dphy
power.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230913-grumbly-rewrite-34c85539f2ed@spud
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-03-05 15:18:26 +08:00
Uwe Kleine-König
2a8e68924f ASoC: starfive/jh7110-pwmdac: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.

To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new(), which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20231013221945.1489203-12-u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-03-05 15:18:26 +08:00
Mark Brown
498f959997 ASoC: Update jh7110 PWM DAC for ops move
For some reason the JH7110 PWM DAC driver made it through build testing
in spite of not being updated for the move of probe() to the ops struct.
Make the required update.

Signed-off-by: Mark Brown <broonie@kernel.org>
2024-03-05 15:18:26 +08:00
Hal Feng
fec6ae6a34 ASoC: starfive: Add JH7110 PWM-DAC driver
Add PWM-DAC driver support for the StarFive JH7110 SoC.

Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Link: https://lore.kernel.org/r/20230814080618.10036-3-hal.feng@starfivetech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-03-05 15:18:26 +08:00