platform/kernel/linux-starfive.git
22 months agoMerge branch 'CR_2861_ts_515_changhuang.liang' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 29 Dec 2022 04:29:17 +0000 (04:29 +0000)]
Merge branch 'CR_2861_ts_515_changhuang.liang' into 'jh7110-5.15.y-devel'

CR_2861_ts_515_changhuang.liang input: touchscreen: Add tinker_ft5406 driver support

See merge request sdk/linux!654

22 months agoMerge branch 'CR_2933_MMC_515_william.qiu' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 29 Dec 2022 03:12:40 +0000 (03:12 +0000)]
Merge branch 'CR_2933_MMC_515_william.qiu' into 'jh7110-5.15.y-devel'

CR_2933_515 riscv: dts: mmc: delete mmc1 config

See merge request sdk/linux!651

22 months agoMerge branch 'CR_2951_515_ac101_compile_Xingyu.Wu' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 29 Dec 2022 03:11:05 +0000 (03:11 +0000)]
Merge branch 'CR_2951_515_ac101_compile_Xingyu.Wu' into 'jh7110-5.15.y-devel'

CR_2951_515_ac101_compile_Xingyu.Wu

See merge request sdk/linux!655

22 months agoinput: touchscreen: tinker_ft5406: Fixed show more error log bug
Changhuang Liang [Thu, 22 Dec 2022 08:07:23 +0000 (16:07 +0800)]
input: touchscreen: tinker_ft5406: Fixed show more error log bug

Fixed show more error log bug when not attach the touchscreen.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agoriscv: defconfig: Enable touchscreen
Changhuang Liang [Thu, 22 Dec 2022 02:59:23 +0000 (10:59 +0800)]
riscv: defconfig: Enable touchscreen

Enable touchscreen TINKER FT5406

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agosound: codecs: ac101: Fixed warning when compiling
Xingyu Wu [Thu, 22 Dec 2022 07:00:48 +0000 (15:00 +0800)]
sound: codecs: ac101: Fixed warning when compiling

Removed the useless part and fixed warning.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
22 months agoriscv: dts: starfive: Add tinker_ft5406 touchscreen node
Changhuang Liang [Thu, 22 Dec 2022 02:57:08 +0000 (10:57 +0800)]
riscv: dts: starfive: Add tinker_ft5406 touchscreen node

Add tinker_ft5406 touchscreen node.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agoinput: touchscreen: tinker_ft5406: Add open&close ioctl
Changhuang Liang [Thu, 22 Dec 2022 02:31:15 +0000 (10:31 +0800)]
input: touchscreen: tinker_ft5406: Add open&close ioctl

Add open&close ioctl.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agoinput: touchscreen: Add tinker_ft5406 driver support
Changhuang Liang [Wed, 21 Dec 2022 08:20:04 +0000 (16:20 +0800)]
input: touchscreen: Add tinker_ft5406 driver support

Add tinker_ft5406 driver support

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agoriscv: dts: mmc: delete mmc1 config
William Qiu [Tue, 20 Dec 2022 10:56:59 +0000 (18:56 +0800)]
riscv: dts: mmc: delete mmc1 config

delete mmc1 config, default use mmc0

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
22 months agoMerge branch 'CR_2868_515_evb_rgb2hdmi_shengyang.chen' into 'jh7110-5.15.y-devel'
andy.hu [Mon, 19 Dec 2022 04:02:54 +0000 (04:02 +0000)]
Merge branch 'CR_2868_515_evb_rgb2hdmi_shengyang.chen' into 'jh7110-5.15.y-devel'

CR_2868: riscv: linux: vout: fix rgb2hdmi display problem

See merge request sdk/linux!639

22 months agoMerge branch 'CR_2069_515_evb_cusor_keith.zhao' into 'jh7110-5.15.y-devel'
andy.hu [Mon, 19 Dec 2022 04:00:26 +0000 (04:00 +0000)]
Merge branch 'CR_2069_515_evb_cusor_keith.zhao' into 'jh7110-5.15.y-devel'

CR_2069: riscv: linux: vout: fix cusor problem

See merge request sdk/linux!647

22 months agoMerge branch 'CR_2888_515_clocktree_pll0_Xingyu.Wu' into 'jh7110-5.15.y-devel'
andy.hu [Mon, 19 Dec 2022 03:55:01 +0000 (03:55 +0000)]
Merge branch 'CR_2888_515_clocktree_pll0_Xingyu.Wu' into 'jh7110-5.15.y-devel'

CR_2888_515_clocktree_pll0_Xingyu.Wu

See merge request sdk/linux!644

22 months agoMerge branch 'CR_2871_MMC_515_william.qiu' into 'jh7110-5.15.y-devel'
andy.hu [Mon, 19 Dec 2022 03:52:06 +0000 (03:52 +0000)]
Merge branch 'CR_2871_MMC_515_william.qiu' into 'jh7110-5.15.y-devel'

CR_2871riscv: dts: mmc:modify mmc1 config

See merge request sdk/linux!643

22 months agoMerge branch 'CR_2865_RNG_jiajie.ho' into 'jh7110-5.15.y-devel'
andy.hu [Mon, 19 Dec 2022 03:49:44 +0000 (03:49 +0000)]
Merge branch 'CR_2865_RNG_jiajie.ho' into 'jh7110-5.15.y-devel'

CR_2865: hwrng: Reworked driver for speed performance and efficiency

See merge request sdk/linux!640

23 months agoriscv: linux: vout: fix cusor problem
shengyang.chen [Fri, 16 Dec 2022 08:15:39 +0000 (16:15 +0800)]
riscv: linux: vout: fix cusor problem

fix cusor bluring problem of debian

Signed-off-by: keith <keith.zhao@starfivetech.com>
23 months agoriscv: dts: mmc:modify mmc1 config
William Qiu [Thu, 15 Dec 2022 09:03:28 +0000 (17:03 +0800)]
riscv: dts: mmc:modify mmc1 config

modify mmc1 config

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
23 months agoclk: starfive: pll: Remove high frequency of PLL0
Xingyu Wu [Thu, 15 Dec 2022 06:48:40 +0000 (14:48 +0800)]
clk: starfive: pll: Remove high frequency of PLL0

Remove high frequency of PLL0 and make sure PLL0 max frequency is 1.5GHz.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
23 months agoclk: starfive: Change divider value of cpu_core clock
Xingyu Wu [Thu, 15 Dec 2022 06:17:59 +0000 (14:17 +0800)]
clk: starfive: Change divider value of cpu_core clock

Change divider value to make sure the frequency is half of PLL0.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
23 months agoCR_2865: hwrng: Reworked driver for speed performance and efficiency
Jia Jie Ho [Wed, 14 Dec 2022 06:14:39 +0000 (14:14 +0800)]
CR_2865: hwrng: Reworked driver for speed performance and efficiency

Changes:
1. Reseed during init only, not for every read.
2. Completion struct for irqreturn for better efficiency.
3. Add module_param for reseed operations based on request counter
and/or timer countdown.
4. Removed unused macros and steps.

Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
23 months agoriscv: linux: vout: fix rgb2hdmi display problem
shengyang.chen [Wed, 14 Dec 2022 02:46:19 +0000 (10:46 +0800)]
riscv: linux: vout: fix rgb2hdmi display problem

fix problem of rgb2hdmi without display in first test

Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
23 months agoMerge branch 'CR_2822_PCIE_Kevin.xie' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 9 Dec 2022 04:49:48 +0000 (04:49 +0000)]
Merge branch 'CR_2822_PCIE_Kevin.xie' into 'jh7110-5.15.y-devel'

CR 2822 riscv: configs: Add port bus driver for PCIe switch.

See merge request sdk/linux!633

23 months agoMerge branch 'CR_2796_515_sound_card_Xingyu.Wu' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 9 Dec 2022 04:46:38 +0000 (04:46 +0000)]
Merge branch 'CR_2796_515_sound_card_Xingyu.Wu' into 'jh7110-5.15.y-devel'

CR_2796_515_sound_card_Xingyu.Wu

See merge request sdk/linux!631

23 months agoMerge branch 'CR_2789_refresh_uboot/spl_under_kernel_5.15_ziv.xu' into 'jh7110-5...
andy.hu [Fri, 9 Dec 2022 04:45:04 +0000 (04:45 +0000)]
Merge branch 'CR_2789_refresh_uboot/spl_under_kernel_5.15_ziv.xu' into 'jh7110-5.15.y-devel'

CR_2789_refresh_uboot/spl_under_kernel_5.15_ziv.xu

See merge request sdk/linux!635

23 months agosound:starfive:Move playback and capture driver as slave to starfive I2S
Xingyu Wu [Tue, 22 Nov 2022 03:42:34 +0000 (11:42 +0800)]
sound:starfive:Move playback and capture driver as slave to starfive I2S

Move playback and capture driver as slave from snps I2S merge to starfive I2S.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
23 months agoriscv:jh7110.dtsi: add uboot and spl partition on qspi node
ziv.xu [Fri, 2 Dec 2022 09:26:19 +0000 (17:26 +0800)]
riscv:jh7110.dtsi: add uboot and spl partition on qspi node

add uboot and spl partition on qspi node

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
23 months agoriscv: configs: Add port bus driver for PCIe switch.
Kevin.xie [Wed, 7 Dec 2022 06:20:16 +0000 (14:20 +0800)]
riscv: configs: Add port bus driver for PCIe switch.

Verified on JH7110EVB with ASMedia EV Board (asm1806 version).

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
23 months agoriscv: dts: starfive: jh7110: Add multiple sound cards
Xingyu Wu [Tue, 6 Dec 2022 03:19:51 +0000 (11:19 +0800)]
riscv: dts: starfive: jh7110: Add multiple sound cards

Add multiple sound cards to let one device corresponds to
one sound card.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
23 months agoe24: xrp: remove from Kconfig and Makefile
Andy Hu [Tue, 6 Dec 2022 10:43:31 +0000 (18:43 +0800)]
e24: xrp: remove from Kconfig and Makefile

since run git filter-repo, then need to remove from Kconfig and
Makefile

Signed-off-by: Andy Hu <andy.hu@starfivetech.com>
23 months agoMerge branch 'CR_2650_PWM_hal.feng' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 1 Dec 2022 10:52:21 +0000 (10:52 +0000)]
Merge branch 'CR_2650_PWM_hal.feng' into 'jh7110-5.15.y-devel'

CR 2650 PWM hal.feng

See merge request sdk/linux!626

23 months agoMerge branch 'CR_2653_QSPI_5.15_ziv.xu' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 1 Dec 2022 10:37:13 +0000 (10:37 +0000)]
Merge branch 'CR_2653_QSPI_5.15_ziv.xu' into 'jh7110-5.15.y-devel'

CR 2653 QSPI 5.15 ziv.xu

See merge request sdk/linux!612

23 months agoMerge branch 'CR_2752_CPUfreq_515_mason.huo' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 1 Dec 2022 10:35:43 +0000 (10:35 +0000)]
Merge branch 'CR_2752_CPUfreq_515_mason.huo' into 'jh7110-5.15.y-devel'

CR_2752 riscv: dts: Change cpu vdd per stress test

See merge request sdk/linux!624

23 months agopwm: starfive: Use pm_runtime functions to disable clock when the device being removed
Hal Feng [Wed, 30 Nov 2022 07:15:11 +0000 (15:15 +0800)]
pwm: starfive: Use pm_runtime functions to disable clock when the device being removed

So this can avoid disabling the pwm clock again when
the pwm device is suspended and being removed.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
23 months agoriscv: dts: Change cpu vdd per stress test
mason.huo [Mon, 28 Nov 2022 01:14:51 +0000 (09:14 +0800)]
riscv: dts: Change cpu vdd per stress test

23 months agoMerge branch 'CR_2651_spi_dtbo_reload_faild_5.15_ziv.xu' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 25 Nov 2022 12:56:08 +0000 (12:56 +0000)]
Merge branch 'CR_2651_spi_dtbo_reload_faild_5.15_ziv.xu' into 'jh7110-5.15.y-devel'

CR_2651_spi_dtbo_reload_faild_5.15_ziv.xu

See merge request sdk/linux!619

23 months agoMerge branch 'CR_2463_PCIE_Kevin.xie' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 25 Nov 2022 10:31:21 +0000 (10:31 +0000)]
Merge branch 'CR_2463_PCIE_Kevin.xie' into 'jh7110-5.15.y-devel'

CR 2463 drivers: nvme: Add precheck and delay for CQE pending status.

See merge request sdk/linux!621

23 months agodrivers: nvme: Add precheck and delay for CQE pending status.
Kevin.xie [Thu, 24 Nov 2022 08:59:12 +0000 (16:59 +0800)]
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>
23 months agospi-pl022-starfive:fix the problem of spi overlay reload
ziv.xu [Wed, 23 Nov 2022 06:53:58 +0000 (14:53 +0800)]
spi-pl022-starfive:fix the problem of spi overlay reload

fix the problem of spi overlay reload

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
23 months agodriver:spi-cadence-quadspi: enable qspi
ziv.xu [Tue, 15 Nov 2022 01:50:09 +0000 (09:50 +0800)]
driver:spi-cadence-quadspi: enable qspi

enable qspi

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
23 months agoMerge branch 'CR_2429_spi_error_of_freq-5.15_ziv.xu' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 17 Nov 2022 09:18:17 +0000 (09:18 +0000)]
Merge branch 'CR_2429_spi_error_of_freq-5.15_ziv.xu' into 'jh7110-5.15.y-devel'

CR 2429 spi error of freq 5.15 ziv.xu

See merge request sdk/linux!603

23 months agoMerge branch 'CR_2661_V4L2_Kevin.xie' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 17 Nov 2022 09:12:03 +0000 (09:12 +0000)]
Merge branch 'CR_2661_V4L2_Kevin.xie' into 'jh7110-5.15.y-devel'

CR 2661 v4l2_driver: vin: Add skip frames for isp control.

See merge request sdk/linux!610

23 months agoMerge branch 'CR_2434_imx219_515_changhuang.liang' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 17 Nov 2022 09:08:34 +0000 (09:08 +0000)]
Merge branch 'CR_2434_imx219_515_changhuang.liang' into 'jh7110-5.15.y-devel'

CR_2434_imx219_515_changhuang.liang media: v4l2_driver: Supplement the missing runtime pm get ops on more than once stream_on cases.

See merge request sdk/linux!595

23 months agoMerge branch 'CR_2642_PCIe_Kevin.xie' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 17 Nov 2022 07:10:11 +0000 (07:10 +0000)]
Merge branch 'CR_2642_PCIe_Kevin.xie' into 'jh7110-5.15.y-devel'

CR 2642 drivers: pci: Set PCIe PCI standard configuration ID.

See merge request sdk/linux!613

23 months agoMerge branch 'CR_2583_fix_usb_resume_hub_minda' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 17 Nov 2022 07:02:36 +0000 (07:02 +0000)]
Merge branch 'CR_2583_fix_usb_resume_hub_minda' into 'jh7110-5.15.y-devel'

CR_2583 USB: core: Fix bug in resuming hub's handling of wakeup requests

See merge request sdk/linux!600

23 months agoMerge branch 'CR_2588_515_watchdog_timeleft_Xingyu.Wu' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 17 Nov 2022 06:53:09 +0000 (06:53 +0000)]
Merge branch 'CR_2588_515_watchdog_timeleft_Xingyu.Wu' into 'jh7110-5.15.y-devel'

CR_2588_515_watchdog_timeleft_Xingyu.Wu

See merge request sdk/linux!597

23 months agoMerge branch 'CR_2621_CPUIDLE_mason.huo' into 'jh7110-5.15.y-devel'
andy.hu [Thu, 17 Nov 2022 06:51:07 +0000 (06:51 +0000)]
Merge branch 'CR_2621_CPUIDLE_mason.huo' into 'jh7110-5.15.y-devel'

CR_2621 riscv: dts: Remove unsupported cpuidle state

See merge request sdk/linux!608

23 months agoMerge branch 'CR_2435_hibernation-for-main_5.15_vout_shengyang.chen' into 'jh7110...
andy.hu [Thu, 17 Nov 2022 06:48:28 +0000 (06:48 +0000)]
Merge branch 'CR_2435_hibernation-for-main_5.15_vout_shengyang.chen' into 'jh7110-5.15.y-devel'

CR_2435: clk:starfive:vout:Add runtime and system pm && riscv:linux:drm: Add runtime and system pm

See merge request sdk/linux!596

2 years agodrivers: pci: Set PCIe PCI standard configuration ID.
Kevin.xie [Tue, 15 Nov 2022 09:27:32 +0000 (17:27 +0800)]
drivers: pci: Set PCIe PCI standard configuration ID.

Class - PCI-to-PCI bridge.
Revision - 2.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2 years agov4l2_driver: vin: Add skip frames for isp control.
Kevin.xie [Tue, 15 Nov 2022 06:04:20 +0000 (14:04 +0800)]
v4l2_driver: vin: Add skip frames for isp control.

The duration of extra isp control skip frames are fixed to 1 second.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2 years agostarfive:defconfig: modify defconfig to enable qspi
ziv.xu [Tue, 15 Nov 2022 08:06:06 +0000 (16:06 +0800)]
starfive:defconfig: modify defconfig to enable qspi

modify defconfig to enable qspi

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
2 years agodrm:verisilicon:hdmi-audio:Adjust when to configure registers
Xingyu Wu [Thu, 10 Nov 2022 09:02:38 +0000 (17:02 +0800)]
drm:verisilicon:hdmi-audio:Adjust when to configure registers

Adjust when to configure registers before HDMI suspend.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agodma:dw:Add stg_axi clock and reset of noc_bus
Xingyu Wu [Tue, 8 Nov 2022 14:04:07 +0000 (22:04 +0800)]
dma:dw:Add stg_axi clock and reset of noc_bus

Add 'JH7110_NOC_BUS_CLK_STG_AXI' clock and
'RSTN_U0_NOC_BUS_STG_AXI_N' reset.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agoriscv:linux:drm : fix vout pm bug
shengyang.chen [Wed, 9 Nov 2022 02:15:19 +0000 (10:15 +0800)]
riscv:linux:drm : fix vout pm bug

fix display problem of hdmi sys pm

Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
2 years agoriscv:linux:drm: fix double display bug
shengyang.chen [Fri, 4 Nov 2022 10:17:52 +0000 (18:17 +0800)]
riscv:linux:drm: fix double display bug

fix double display bug

Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
2 years agolinux:dts:starfive: remove some useless port of vout dts
shengyang.chen [Fri, 4 Nov 2022 10:17:06 +0000 (18:17 +0800)]
linux:dts:starfive: remove some useless port of vout dts

fix double display bug
remove some useless port of vout dts

Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
2 years agoriscv:linux:drm: Add basic runtime and system pm support for vout
shengyang.chen [Wed, 2 Nov 2022 03:35:47 +0000 (11:35 +0800)]
riscv:linux:drm: Add basic runtime and system pm support for vout

Add basic runtime and system pm support for vout
remove some useless clk/rst function and calling in vs_dc.c
improve vout driver structure

Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
2 years agolinux:dts:starfive: Add pm support for vout dts
shengyang.chen [Wed, 2 Nov 2022 03:34:32 +0000 (11:34 +0800)]
linux:dts:starfive: Add pm support for vout dts

Add pm support for vout dts
remove some useless port of vout dts

Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
2 years agoclk:starfive:vout:Add parent about disp_apb clk
Xingyu Wu [Tue, 8 Nov 2022 13:53:31 +0000 (21:53 +0800)]
clk:starfive:vout:Add parent about disp_apb clk

Clock "u0_pclk_mux_func_pclk" is the parent of "disp_apb" clock.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agoclk:starfive:vout:Add runtime and system pm
Xingyu Wu [Wed, 19 Oct 2022 09:06:17 +0000 (17:06 +0800)]
clk:starfive:vout:Add runtime and system pm

Add runtime and system pm in vout clock tree driver.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agospi-pl022-starfive.c: prompt warning when frequency does not surpport
ziv.xu [Thu, 10 Nov 2022 08:13:19 +0000 (16:13 +0800)]
spi-pl022-starfive.c: prompt warning when frequency does not surpport

prompt warning when frequency does not surpport

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
2 years agoriscv: dts: Remove unsupported cpuidle state
mason.huo [Fri, 11 Nov 2022 02:13:04 +0000 (10:13 +0800)]
riscv: dts: Remove unsupported cpuidle state

The cpuidle state1 is also implemented in sbi with
WFI C state, but it cause audio play failed.
Remove the cpuidle state1.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agoUSB: core: Fix bug in resuming hub's handling of wakeup requests
Alan Stern [Sat, 1 Jan 2022 19:52:14 +0000 (14:52 -0500)]
USB: core: Fix bug in resuming hub's handling of wakeup requests

Bugzilla #213839 reports a 7-port hub that doesn't work properly when
devices are plugged into some of the ports; the kernel goes into an
unending disconnect/reinitialize loop as shown in the bug report.

This "7-port hub" comprises two four-port hubs with one plugged into
the other; the failures occur when a device is plugged into one of the
downstream hub's ports.  (These hubs have other problems too.  For
example, they bill themselves as USB-2.0 compliant but they only run
at full speed.)

It turns out that the failures are caused by bugs in both the kernel
and the hub.  The hub's bug is that it reports a different
bmAttributes value in its configuration descriptor following a remote
wakeup (0xe0 before, 0xc0 after -- the wakeup-support bit has
changed).

The kernel's bug is inside the hub driver's resume handler.  When
hub_activate() sees that one of the hub's downstream ports got a
wakeup request from a child device, it notes this fact by setting the
corresponding bit in the hub->change_bits variable.  But this variable
is meant for connection changes, not wakeup events; setting it causes
the driver to believe the downstream port has been disconnected and
then connected again (in addition to having received a wakeup
request).

Because of this, the hub driver then tries to check whether the device
currently plugged into the downstream port is the same as the device
that had been attached there before.  Normally this check succeeds and
wakeup handling continues with no harm done (which is why the bug
remained undetected until now).  But with these dodgy hubs, the check
fails because the config descriptor has changed.  This causes the hub
driver to reinitialize the child device, leading to the
disconnect/reinitialize loop described in the bug report.

The proper way to note reception of a downstream wakeup request is
to set a bit in the hub->event_bits variable instead of
hub->change_bits.  That way the hub driver will realize that something
has happened to the port but will not think the port and child device
have been disconnected.  This patch makes that change.

Cc: <stable@vger.kernel.org>
Tested-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/YdCw7nSfWYPKWQoD@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
2 years agowatchdog: starfive: Get timeleft correctly
Xingyu Wu [Wed, 9 Nov 2022 06:34:14 +0000 (14:34 +0800)]
watchdog: starfive: Get timeleft correctly

Use flag to count timeleft and the flag is base on
reading register instead of interrupt handler function.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agoMerge branch 'CR_2553_ytphy_515_samin.guo' into 'jh7110-5.15.y-devel'
andy.hu [Wed, 9 Nov 2022 11:22:58 +0000 (11:22 +0000)]
Merge branch 'CR_2553_ytphy_515_samin.guo' into 'jh7110-5.15.y-devel'

CR_2553:  515: Use ytphy_link_change_notify to detect link changes by yt8521/YT8531.

See merge request sdk/linux!592

2 years agonet:phy:motorcomm: Fix the problem that phytool cannot be used by YT8531
Samin Guo [Fri, 4 Nov 2022 01:42:40 +0000 (09:42 +0800)]
net:phy:motorcomm: Fix the problem that phytool cannot be used by YT8531

phy_read_status should not judge the auto negotiation speed, which
will cause 0x1e to be frequently modified.

JH7110B In different speed modes, the tx_inverted  needs to be
dynamically updated to match the timming.

known issue:
Function yt8521_read_status, it will be executed once per second.
Can read and write ext reg (0xa001/a002/a003). This may causes the ext value
read by the phytool always is 0.

$ phytool write eth0/0/0x1e 0xa001
$ phytool read eth0/0/0x1f
0000

To avoid this problem, you can read 0x1f as fast as possible after
writing 0x1e.
$ phytool write eth0/0/0x1e 0xa001; phytool read eth0/0/0x1f
0x8160

Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
2 years agomedia: v4l2_driver: Supplement the missing runtime pm get ops on more than once strea...
Kevin.xie [Tue, 8 Nov 2022 08:37:45 +0000 (16:37 +0800)]
media: v4l2_driver: Supplement the missing runtime pm get ops on more than once stream_on cases.

For example, if we run stf_isp_ctrl & v4l2test at the same time,
s_stream for sensor will be called twice,
so that rpm should be got twice too.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2 years agoMerge branch 'CR_2517_sec_jiajie.ho' into 'jh7110-5.15.y-devel'
andy.hu [Wed, 2 Nov 2022 09:52:16 +0000 (09:52 +0000)]
Merge branch 'CR_2517_sec_jiajie.ho' into 'jh7110-5.15.y-devel'

CR_2517_515:crypto:starfive: Fix "Unbalanced pm_runtime_enable!" warning

See merge request sdk/linux!583

2 years agoMerge branch 'CR_2522_ECO_EVB_515_samin.guo' into 'jh7110-5.15.y-devel'
andy.hu [Wed, 2 Nov 2022 09:45:57 +0000 (09:45 +0000)]
Merge branch 'CR_2522_ECO_EVB_515_samin.guo' into 'jh7110-5.15.y-devel'

CR_2522:support gmac with jh7110B-evb

See merge request sdk/linux!585

2 years agoMerge branch 'CR_2395_I2C_hal.feng' into 'jh7110-5.15.y-devel'
andy.hu [Wed, 2 Nov 2022 09:40:20 +0000 (09:40 +0000)]
Merge branch 'CR_2395_I2C_hal.feng' into 'jh7110-5.15.y-devel'

CR_2395_I2C_hal.feng

See merge request sdk/linux!581

2 years agoMerge branch 'CR_2498_spi_without_dma_devel_5.15_ziv.xu' into 'jh7110-5.15.y-devel'
andy.hu [Wed, 2 Nov 2022 09:37:53 +0000 (09:37 +0000)]
Merge branch 'CR_2498_spi_without_dma_devel_5.15_ziv.xu' into 'jh7110-5.15.y-devel'

CR 2498 spi without dma devel 5.15 ziv.xu

See merge request sdk/linux!582

2 years agodts:satrfive:jh7110: default support jh7110A gmac0
Samin Guo [Tue, 1 Nov 2022 12:09:36 +0000 (20:09 +0800)]
dts:satrfive:jh7110: default support jh7110A gmac0

default support jh7110A gmac0

Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
2 years agonet:phy:motorcomm: support yt8521 inverted
Samin Guo [Tue, 1 Nov 2022 12:04:52 +0000 (20:04 +0800)]
net:phy:motorcomm: support yt8521 inverted

jh7110B need yt8521 inverted.

Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
2 years agonet:phy:motorcomm: support modifying RGMII_TX_CLK delay train from dts
Samin Guo [Tue, 1 Nov 2022 11:03:46 +0000 (19:03 +0800)]
net:phy:motorcomm: support modifying RGMII_TX_CLK delay train from dts

support use original or inverted RGMII_TX_CLK delay train.
10M/100M/1000M can be configured independently.

tx_inverted_xx = val;

for example:
&gmac0 {
    #address-cells = <1>;
    #size-cells = <0>;
    phy0: ethernet-phy@0 {
    tx_inverted_10 = <0>;
    tx_inverted_100 = <1>;
    tx_inverted_1000 = <1>;
    };
};

0: original (default)
1: inverted

Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
2 years agoCR_2517:crypto:starfive: Fix "Unbalanced pm_runtime_enable!" warning
Jia Jie Ho [Tue, 1 Nov 2022 06:40:42 +0000 (14:40 +0800)]
CR_2517:crypto:starfive: Fix "Unbalanced pm_runtime_enable!" warning

Crypto driver will probe multiple times waiting for
DMA to be ready, each time calling pm_runtime_enable().
Only call pm_runtime_enable() when it's not already enabled.

Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
2 years agospi-pl022-starfive.c: make spi work without dma
ziv.xu [Tue, 1 Nov 2022 06:12:21 +0000 (14:12 +0800)]
spi-pl022-starfive.c: make spi work without dma

make spi work without dma

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
2 years agoclk: starfive: Keep the clock apb0 enabled always
Hal Feng [Mon, 31 Oct 2022 05:52:18 +0000 (13:52 +0800)]
clk: starfive: Keep the clock apb0 enabled always

This solves crush problem of i2c runtime pm and
prevents some aon modules from working abnormally.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2 years agoRevert "i2c: designware: Descend startup priority"
Hal Feng [Mon, 31 Oct 2022 05:46:12 +0000 (13:46 +0800)]
Revert "i2c: designware: Descend startup priority"

This reverts commit ef0fec210073c298598ab9a27e362e002dc0bf0b.
Then we keep the clock apb0 enabled always to fix crush
problem of i2c runtime pm.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2 years agoMerge branch 'CR_2412_515_Clocktree_PLL1_Xingyu.Wu' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 28 Oct 2022 03:39:02 +0000 (03:39 +0000)]
Merge branch 'CR_2412_515_Clocktree_PLL1_Xingyu.Wu' into 'jh7110-5.15.y-devel'

CR_2412_515_Clocktree_PLL1_Xingyu.Wu

See merge request sdk/linux!553

2 years agoMerge branch 'CR_2440_515_Clocktree_1.5G_Xingyu.Wu' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 28 Oct 2022 03:38:26 +0000 (03:38 +0000)]
Merge branch 'CR_2440_515_Clocktree_1.5G_Xingyu.Wu' into 'jh7110-5.15.y-devel'

CR_2440_515_Clocktree_1.5G_Xingyu.Wu

See merge request sdk/linux!564

2 years agoMerge branch 'CR_2439_CPUFREQ_515_mason.huo' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 28 Oct 2022 03:36:22 +0000 (03:36 +0000)]
Merge branch 'CR_2439_CPUFREQ_515_mason.huo' into 'jh7110-5.15.y-devel'

Cr 2439 cpufreq 515 mason.huo

See merge request sdk/linux!562

2 years agoMerge branch 'CR_2417_CPUIdle_515_mason.huo' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 28 Oct 2022 03:35:46 +0000 (03:35 +0000)]
Merge branch 'CR_2417_CPUIdle_515_mason.huo' into 'jh7110-5.15.y-devel'

Cr 2417 cpu idle 515 mason.huo

See merge request sdk/linux!559

2 years agoMerge branch 'CR_2462_DEV_PM_mason.huo' into 'jh7110-5.15.y-devel'
andy.hu [Fri, 28 Oct 2022 03:27:46 +0000 (03:27 +0000)]
Merge branch 'CR_2462_DEV_PM_mason.huo' into 'jh7110-5.15.y-devel'

CR_2462 Port runtime PM from hibernation to devel

See merge request sdk/linux!574

2 years agoregulator: axp15060: Change the cpu_vdd_0p9 to cpu_vdd
mason.huo [Fri, 29 Jul 2022 07:17:55 +0000 (15:17 +0800)]
regulator: axp15060: Change the cpu_vdd_0p9 to cpu_vdd

Rename the cpu_vdd_0p9 regulator to cpu_vdd,
since the regulator may changed per cpu frequency.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agodriver: regulator: Add axp15060 pmic regulator driver
Kevin.xie [Tue, 12 Jul 2022 01:57:05 +0000 (09:57 +0800)]
driver: regulator: Add axp15060 pmic regulator driver

Add support for the axp15060 pmic.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2 years agocpufreq: starfive: Remove unuse clocks
mason.huo [Wed, 26 Oct 2022 03:47:45 +0000 (11:47 +0800)]
cpufreq: starfive: Remove unuse clocks

The jh7110 pll0 is fixed for cpufreq,
so we should change the cpu_core clock directly.
Remove the pll0 & osc clock.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agoriscv: defconfigs: Enable cpufreq for jh7110
mason.huo [Wed, 26 Oct 2022 03:43:20 +0000 (11:43 +0800)]
riscv: defconfigs: Enable cpufreq for jh7110

Set the default cpufreq govenor to ondemand.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agoriscv: dts: starfive: Remove unsupported cpu frequencies
mason.huo [Mon, 24 Oct 2022 08:51:24 +0000 (16:51 +0800)]
riscv: dts: starfive: Remove unsupported cpu frequencies

As the pll0 is fixed, there are only four cpu frequencies
that can be divided from the pll0, so remove the other
cpu frequencies.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agosound:dwc:i2s:Add hibernation about i2srx-3ch
Xingyu Wu [Thu, 27 Oct 2022 09:39:22 +0000 (17:39 +0800)]
sound:dwc:i2s:Add hibernation about i2srx-3ch

Add runtime pm and system pm in i2srx-3ch driver.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agosound:dwc:i2s:Add hibernation about i2stx-4ch1
Xingyu Wu [Thu, 27 Oct 2022 08:06:02 +0000 (16:06 +0800)]
sound:dwc:i2s:Add hibernation about i2stx-4ch1

Add runtime pm and system pm in i2stx-4ch1 driver.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agoriscv: deconfig: Enable pm advanced debug
mason.huo [Thu, 27 Oct 2022 07:25:21 +0000 (15:25 +0800)]
riscv: deconfig: Enable pm advanced debug

Enable pm advanced debug, so that we can
check runtime PM status.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agosound:starfive:pwmdac:Add runtime pm operation
Xingyu Wu [Fri, 21 Oct 2022 01:56:24 +0000 (09:56 +0800)]
sound:starfive:pwmdac:Add runtime pm operation

Add runtime pm operation in PWMDAC driver.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agortc:starfive: add pm ops for rtc
ziv.xu [Thu, 27 Oct 2022 02:55:00 +0000 (10:55 +0800)]
rtc:starfive: add pm ops for rtc

add pm ops for rtc

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
2 years agoi2c: designware: Descend startup priority
Hal Feng [Wed, 26 Oct 2022 13:13:09 +0000 (21:13 +0800)]
i2c: designware: Descend startup priority

So i2c will be initialized after uart.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2 years agoi2c: designware: Uncomment and recover the pm functions
Hal Feng [Tue, 25 Oct 2022 12:18:39 +0000 (20:18 +0800)]
i2c: designware: Uncomment and recover the pm functions

Uncomment the system pm and runtime pm ops functions. Restore
the Synopsys DesignWare i2c driver to the original version.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2 years agoCR_2345_Audio_DevicePM_walker.chen
Walker Chen [Thu, 27 Oct 2022 03:50:06 +0000 (11:50 +0800)]
CR_2345_Audio_DevicePM_walker.chen

Fix the bug that pdm function name spell error.

Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
2 years agoCR_2345_Audio_DevicePM_walker.chen
Walker Chen [Wed, 26 Oct 2022 11:19:12 +0000 (19:19 +0800)]
CR_2345_Audio_DevicePM_walker.chen

Disable clock when audio driver is loaded.

Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
2 years agodriver:gpu: add gpu runtime pm
shanlong.li [Wed, 26 Oct 2022 09:44:58 +0000 (02:44 -0700)]
driver:gpu: add gpu runtime pm

fix up system pm error and add runtime pm

Signed-off-by: shanlong.li <shanlong.li@starfivetech.com>
2 years agosound:starfive:Add hibernation in I2S
Xingyu Wu [Wed, 26 Oct 2022 09:38:41 +0000 (17:38 +0800)]
sound:starfive:Add hibernation in I2S

Add hibernation in starfive I2S driver.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agortc-starfive.c:add system pm for rtc
ziv.xu [Wed, 26 Oct 2022 06:14:04 +0000 (14:14 +0800)]
rtc-starfive.c:add system pm for rtc

add system pm for rtc

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
2 years agodrive:mailbox:add pm ops
ys [Wed, 26 Oct 2022 06:18:49 +0000 (23:18 -0700)]
drive:mailbox:add pm ops

add runtime pm and system pm ops

Signed-off-by: ys <eason.xiong@starfivetech.com>