platform/kernel/linux-starfive.git
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 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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 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>
2 years agosec:starfive:add sec runtime PM ops
William Qiu [Tue, 25 Oct 2022 07:00:23 +0000 (15:00 +0800)]
sec:starfive:add sec runtime PM ops

add sec runtime PM ops.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
2 years agoSDIO:starfive:modify SDIO/EMMC runtime PM callback function
William Qiu [Tue, 25 Oct 2022 02:39:46 +0000 (10:39 +0800)]
SDIO:starfive:modify SDIO/EMMC runtime PM callback function

modify SDIO/EMMC runtime PM callback function.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
2 years agocanfd:ipms:modify runtime PM callback funciton
William Qiu [Tue, 25 Oct 2022 02:36:38 +0000 (10:36 +0800)]
canfd:ipms:modify runtime PM callback funciton

modify runtime PM callback function.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
2 years agoclk:starfive:isp:Add runtime and system pm control
Xingyu Wu [Fri, 30 Sep 2022 07:26:59 +0000 (15:26 +0800)]
clk:starfive:isp:Add runtime and system pm control

Add runtime and system pm in isp clock tree driver.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agopwm: starfive: Remove macro UNIVERSAL_DEV_PM_OPS
Hal Feng [Fri, 21 Oct 2022 06:38:17 +0000 (14:38 +0800)]
pwm: starfive: Remove macro UNIVERSAL_DEV_PM_OPS

Because it causes error when system pm.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2 years agodrivers: temp sensor: reset execute permissions
ziv.xu [Fri, 21 Oct 2022 06:36:51 +0000 (14:36 +0800)]
drivers: temp sensor: reset execute permissions

reset execute permissions for FILE: drivers/hwmon/sfctemp.c

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
2 years agoadd devcie pm for temp sensor
ziv.xu [Fri, 21 Oct 2022 03:43:22 +0000 (11:43 +0800)]
add devcie pm for temp sensor

add device pm for temp sensor

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
2 years agoadd device pm for trng
Ziv.Xu [Sat, 8 Oct 2022 07:17:46 +0000 (15:17 +0800)]
add device pm for trng

add device pm for trng

Signed-off-by: Ziv.Xu <Ziv.Xu@starfivetech.com>
2 years agoadd device pm for spi
Ziv.Xu [Mon, 10 Oct 2022 06:58:15 +0000 (14:58 +0800)]
add device pm for spi

add device pm for spi

Signed-off-by: Ziv.Xu <Ziv.Xu@starfivetech.com>
2 years agoSDIO:starfive:add SDIO/EMMC runtime pm ops
William Qiu [Fri, 21 Oct 2022 03:46:05 +0000 (11:46 +0800)]
SDIO:starfive:add SDIO/EMMC runtime pm ops

add SDIO/EMMC runtime pm ops.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
2 years agocanfd:ipms:add canfd runtime PM ops
William Qiu [Fri, 21 Oct 2022 02:13:13 +0000 (10:13 +0800)]
canfd:ipms:add canfd runtime PM ops

add canfd runtime PM ops.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
2 years agosound:starfive:spdif:Add hibernation operation
Xingyu Wu [Thu, 20 Oct 2022 07:44:59 +0000 (15:44 +0800)]
sound:starfive:spdif:Add hibernation operation

Add runtime pm and system pm in spdif driver.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
2 years agopwm: starfive: Add pm handling (system/runtime pm ops)
Hal Feng [Wed, 19 Oct 2022 12:10:56 +0000 (20:10 +0800)]
pwm: starfive: Add pm handling (system/runtime pm ops)

Add system/runtime pm ops functions and enable runtime pm.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
2 years agopinctrl:starfive: Add system pm interface
Jianlong Huang [Wed, 19 Oct 2022 10:00:02 +0000 (18:00 +0800)]
pinctrl:starfive: Add system pm interface

Support system pm fuction when suspend and resume.

Signed-off-by: Jianlong Huang <jianlong.huang@starfivetech.com>
2 years agoCR_2345_Audio_DevicePM_walker.chen
Walker Chen [Fri, 14 Oct 2022 07:43:20 +0000 (15:43 +0800)]
CR_2345_Audio_DevicePM_walker.chen

Implement Runtime PM and System PM for PDM and TDM module.

Signed-off-by: Walker Chen <walker.chen@linux.starfivetech.com>
2 years agoadd system pm for watchdog
Ziv.Xu [Thu, 13 Oct 2022 09:09:05 +0000 (17:09 +0800)]
add system pm for watchdog

add system pm for watchdog

Signed-off-by: Ziv.Xu <Ziv.Xu@starfivetech.com>
2 years agoadd runtime pm for watchdog
Ziv.Xu [Sat, 8 Oct 2022 07:02:15 +0000 (15:02 +0800)]
add runtime pm for watchdog

add runtime pm for watchdog

Signed-off-by: Ziv.Xu <Ziv.Xu@starfivetech.com>
2 years agousb: cdns: add pm and runtume pm ops
minda.chen [Sat, 8 Oct 2022 11:07:06 +0000 (19:07 +0800)]
usb: cdns: add pm and runtume pm ops

add starfive pm supend/resume and runtime pm runtime
suspend and resume ops

Signed-off-by: minda.chen <minda.chen@starfivetech.com>
2 years agodrivers: pci: Support system pm no irq ops.
Kevin.xie [Thu, 13 Oct 2022 03:29:30 +0000 (11:29 +0800)]
drivers: pci: Support system pm no irq ops.

Because of the limitation of hardware design, only enable/disable clk here.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2 years agodrivers: pci: Support runtime pm & release when found empty slot in probe.
Kevin.xie [Thu, 13 Oct 2022 02:53:59 +0000 (10:53 +0800)]
drivers: pci: Support runtime pm & release when found empty slot in probe.

Used PLDA link up/down status in probe to indicate the slot situations.

Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
2 years agomedia: starfive: Remove hardware operations in vin init
changhuang.liang [Wed, 19 Oct 2022 06:14:37 +0000 (14:14 +0800)]
media: starfive: Remove hardware operations in vin init

Remove hardware operations in vin init, hardware operation need turn on
power domain.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agodts: starfive: VIN delete noc bus clock
changhuang.liang [Wed, 19 Oct 2022 03:08:00 +0000 (11:08 +0800)]
dts: starfive: VIN delete noc bus clock

VIN delete noc bus clock.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agomedia: starfive: Delete isp noc bus clock
changhuang.liang [Wed, 19 Oct 2022 03:03:54 +0000 (11:03 +0800)]
media: starfive: Delete isp noc bus clock

Delete operate isp noc bus clock in vin module.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agomedia: starfive: Vin module get reset use share
changhuang.liang [Wed, 19 Oct 2022 02:03:38 +0000 (10:03 +0800)]
media: starfive: Vin module get reset use share

Vin module get reset use share due to the same reset single with isp
clock module.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agov4l2: Fixed vin line stream_out not change except WR.
changhuang.liang [Mon, 10 Oct 2022 12:18:20 +0000 (20:18 +0800)]
v4l2: Fixed vin line stream_out not change except WR.

Fixed vin line stream_out not change except WR.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agov4l2: VIN driver use pm
changhuang.liang [Mon, 26 Sep 2022 09:12:04 +0000 (17:12 +0800)]
v4l2: VIN driver use pm

VIN driver use pm save power, delete turn on pmu multiple times
and modify isp clk and reset after turn on pmu.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agoov4689: Correct some code
changhuang.liang [Fri, 30 Sep 2022 08:56:24 +0000 (16:56 +0800)]
ov4689: Correct some code

Correct some code.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agosc2235: Delete the control direct control register
changhuang.liang [Fri, 30 Sep 2022 08:13:57 +0000 (16:13 +0800)]
sc2235: Delete the control direct control register

Delete the control direct control register and correct some code.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agosc2235: Use runtime/system pm
changhuang.liang [Fri, 30 Sep 2022 07:19:26 +0000 (15:19 +0800)]
sc2235: Use runtime/system pm

Use runtime/system pm save power.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agoimx219: Separate set stream and runtime PM
changhuang.liang [Thu, 29 Sep 2022 07:14:05 +0000 (15:14 +0800)]
imx219: Separate set stream and runtime PM

Separate set stream and runtime PM, use runtime PM.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agoov4689: Use runtime PM
changhuang.liang [Wed, 28 Sep 2022 02:36:12 +0000 (10:36 +0800)]
ov4689: Use runtime PM

Switch to using runtime PM for power management.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agoov4689: delete read chip id in set power
changhuang.liang [Tue, 27 Sep 2022 07:42:44 +0000 (15:42 +0800)]
ov4689: delete read chip id in set power

delete read chip id in set power on.

Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
2 years agocpuidle: riscv-sbi: Fix code to allow a genpd governor to be used
Ulf Hansson [Sat, 14 May 2022 15:20:44 +0000 (17:20 +0200)]
cpuidle: riscv-sbi: Fix code to allow a genpd governor to be used

The intent is to use a genpd governor when there are some states that needs
to be managed. Although, the current code ends up to never assign a
governor, let's fix this.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Anup Patel <anup@brainfault.org>
Tested-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
2 years agoRISC-V: Avoid using per cpu array for ordered booting
Atish Patra [Mon, 30 May 2022 04:33:31 +0000 (12:33 +0800)]
RISC-V: Avoid using per cpu array for ordered booting

Currently both order booting and spinwait approach uses a per cpu
array to update stack & task pointer. This approach will not work for the
following cases.
1. If NR_CPUs are configured to be less than highest hart id.
2. A platform has sparse hartid.

This issue can be fixed for ordered booting as the booting cpu brings up
one cpu at a time using SBI HSM extension which has opaque parameter
that is unused until now.

Introduce a common secondary boot data structure that can store the stack
and task pointer. Secondary harts will use this data while booting up
to setup the sp & tp.

Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
From 9a2451f1866344d38b4a1dc20396e3a03954fcd7
Resolved merge conflict.

Signed-off-by: <jeeheng.sia@starfivetech.com>
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
2 years agoRISC-V: Use SBI SRST extension when available
Anup Patel [Wed, 9 Jun 2021 12:13:22 +0000 (17:43 +0530)]
RISC-V: Use SBI SRST extension when available

The SBI SRST extension provides a standard way to poweroff and
reboot the system irrespective to whether Linux RISC-V S-mode
is running natively (HS-mode) or inside Guest/VM (VS-mode).

The SBI SRST extension is available in the SBI v0.3 specification.
(Refer, https://github.com/riscv/riscv-sbi-doc/releases/tag/v0.3.0-rc1)

This patch extends Linux RISC-V SBI implementation to detect
and use SBI SRST extension.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
2 years agocpuidle: riscv-sbi: Correct the compatible string
mason.huo [Thu, 27 Oct 2022 01:18:47 +0000 (09:18 +0800)]
cpuidle: riscv-sbi: Correct the compatible string

The riscv-sbi driver compatible string should not
changed to starfive since it's a common driver
for riscv.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agoriscv: dts: Remove unsupport idle states
mason.huo [Thu, 27 Oct 2022 00:54:39 +0000 (08:54 +0800)]
riscv: dts: Remove unsupport idle states

The JH7110 soc only support WFI cpu idle state,
remove the unsupport states.
Add a long WFI for entering the cpu_suspend().

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
2 years agoclk:starfive:Count PLL1 rate
Xingyu Wu [Mon, 24 Oct 2022 10:20:54 +0000 (18:20 +0800)]
clk:starfive:Count PLL1 rate

Count PLL1 rate through reading syscon registers.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>