platform/kernel/linux-rpi.git
10 months agoMerge tag 'omap-for-v6.6/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Tue, 22 Aug 2023 01:16:11 +0000 (21:16 -0400)]
Merge tag 'omap-for-v6.6/ti-sysc-signed' of git://git./linux/kernel/git/tmlind/linux-omap into soc/drivers

Driver changes for omaps for v6.6

Driver changes for ti-sysc interconnect target module driver and for
l3 interconnect error handler. The ti-sysc driver changes just enable
using it for 64-bit systems like TI am62 that have wake-up capability
for the wkup domain devices. The l3 error handling improves the code
to show the error source if an unrecoverable timeout error occurs.

* tag 'omap-for-v6.6/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  bus: ti-sysc: Fix cast to enum warning
  bus: ti-sysc: Fix a build warning with W=1 for sysconfig
  bus: ti-sysc: Configure uart quirks for k3 SoC
  bus: ti-sysc: Build driver for TI K3 SoCs
  bus: ti-sysc: Fix build warning for 64-bit build
  bus: omap_l3_smx: identify timeout cause before rebooting

Link: https://lore.kernel.org/r/pull-1692158857-597450@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 months agoMerge tag 'qcom-drivers-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Tue, 22 Aug 2023 01:09:38 +0000 (21:09 -0400)]
Merge tag 'qcom-drivers-for-6.6' of https://git./linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.6

Compatible and clock handling in the Qualcomm SCM driver is cleaned up,
together with a couple stylistic cleanups and transition to mark
exported symbols GPL only.

An abstraction for the RPM subsystem is introduced, to make align the
structure of the SMD and GLINK nodes thereof with the structure when a
remoteproc is involved. This is done to facilitate associating
additional entities with the RPM subsystem.

The qmp_send() API is modified to not expose hardware requirements onto
the client drivers, and then further extended to allow command
formatting directly in the API, to facilitate this typical use case.

In the Qualcomm Command DB driver, NUL characters previously included in
identifiers are dropped from the debugfs, to facilitate scripting.

The thresholds of the BWMON driver are simplified to avoid hard coded
starting values.

The OCMEM driver is updated with some cleanups and fixes, and addition
of MSM8226 support.

PMIC_GLINK gains support for retimer switches, safe mode is selected
when the cable is disconnected from altmode and the same is enabled for
SM8550.

An off-by-one string length check is corrected in the QMI encoder
decoder library.

The RPMh tracepoints are extended to include the state of the request,
to provide needed context in the traced events.

The series from Ulf creating a genpd framework is integrated, to
facilitate the other changes to the cpr, rpmpd and rpmhpd driver.
SDX75 support is added to the rpmhpd driver, and the rpmpd driver is
extended with the same sync_state logic found in the rpmhpd driver.

The socinfo driver gains knowledge about SM4450 and SM7125, the IPQ5019
platform is dropped.

Clock handling in the GSBI driver is cleaned up with the use of
devm_clk_get_enabled().

The list of VMIDs defined for the SCM assign memory interface is
extended.

* tag 'qcom-drivers-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (52 commits)
  soc: qcom: aoss: Tidy up qmp_send() callers
  soc: qcom: aoss: Format string in qmp_send()
  soc: qcom: aoss: Move length requirements from caller
  dt-bindings: firmware: qcom: scm: Updating VMID list
  dt-bindings: qcom: Update RPMHPD entries for some SoCs
  soc: qcom: qmi_encdec: Restrict string length in decode
  soc: qcom: smem: Fix incompatible types in comparison
  soc: qcom: ocmem: add missing clk_disable_unprepare() in ocmem_dev_probe()
  soc: qcom: socinfo: Add SoC ID for SM7125
  dt-bindings: arm: qcom,ids: Add SoC ID for SM7125
  dt-bindings: arm: qcom,ids: drop the IPQ5019 SoC ID
  soc: qcom: socinfo: drop the IPQ5019 SoC ID
  soc: qcom: socinfo: add SM4450 ID
  dt-bindings: arm: qcom,ids: add SoC ID for SM4450
  soc: qcom: pmic_glink: enable altmode for SM8550
  soc: qcom: pmic_glink_altmode: add retimer-switch support
  soc: qcom: pmic_glink_altmode: handle safe mode when disconnect
  soc: qcom: rpmhpd: Add SDX75 power domains
  dt-bindings: power: qcom,rpmpd: Add compatible for sdx75
  genpd: Makefile: build imx
  ...

Link: https://lore.kernel.org/r/20230818023338.2484467-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 months agoMerge tag 'v6.6-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Tue, 22 Aug 2023 01:07:04 +0000 (21:07 -0400)]
Merge tag 'v6.6-rockchip-drivers1' of git://git./linux/kernel/git/mmind/linux-rockchip into soc/drivers

PD_VO powerdomain for rv1126 and disabling of the automatic switch between
sdmmc and jtag for rk3588 (makes sdmmc unreliable).

This includes the shared genpd-v6.5-rc1-1 tag from Ulf Hansson, which moves
the powerdomain drivers into a new genpd subsystem.

* tag 'v6.6-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  soc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1
  genpd: rockchip: Add PD_VO entry for rv1126

Link: https://lore.kernel.org/r/40318909.XM6RcZxFsP@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 months agosoc: kunpeng_hccs: fix some sparse warnings about incorrect type
Huisong Li [Wed, 16 Aug 2023 07:37:06 +0000 (15:37 +0800)]
soc: kunpeng_hccs: fix some sparse warnings about incorrect type

This patch fixes some sparse warnings about incorrect type.
The address about PCC communication space should use '__iomem' tag.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308151142.dH5Muhva-lkp@intel.com/
Fixes: 886bdf9c883b ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Link: https://lore.kernel.org/r/20230816073706.33297-1-lihuisong@huawei.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 months agosoc: loongson2_pm: add power management support
Yinbo Zhu [Thu, 3 Aug 2023 06:37:03 +0000 (14:37 +0800)]
soc: loongson2_pm: add power management support

The Loongson-2's power management controller was ACPI, supports ACPI
S2Idle (Suspend To Idle), ACPI S3 (Suspend To RAM), ACPI S4 (Suspend To
Disk), ACPI S5 (Soft Shutdown) and supports multiple wake-up methods
(USB, GMAC, PWRBTN, etc.). This driver was to add power management
controller support that base on dts for Loongson-2 series SoCs.

Co-developed-by: Liu Yun <liuyun@loongson.cn>
Signed-off-by: Liu Yun <liuyun@loongson.cn>
Co-developed-by: Liu Peibao <liupeibao@loongson.cn>
Signed-off-by: Liu Peibao <liupeibao@loongson.cn>
Cc: soc@kernel.org
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Link: https://lore.kernel.org/r/20230803063703.5659-3-zhuyinbo@loongson.cn
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 months agosoc: dt-bindings: add loongson-2 pm
Yinbo Zhu [Thu, 3 Aug 2023 06:37:02 +0000 (14:37 +0800)]
soc: dt-bindings: add loongson-2 pm

Add the Loongson-2 SoC Power Management Controller binding with DT
schema format using json-schema.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230803063703.5659-2-zhuyinbo@loongson.cn
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agosoc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1
Ondrej Jirman [Mon, 19 Jun 2023 01:09:58 +0000 (03:09 +0200)]
soc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1

RK3588 has the same issue as other earlier RK SoCs. JTAG
functionality muxed to some SDMMC data pins causes issues with SDMMC
interface. Without this patch, I can only use SDMMC inteface
with bus-width = <1>. (JTAG is muxed to data pins D2 and D3)

Signed-off-by: Ondrej Jirman <megi@xff.cz>
Link: https://lore.kernel.org/r/20230619011002.2249960-1-megi@xff.cz
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
11 months agogenpd: rockchip: Add PD_VO entry for rv1126
Jagan Teki [Mon, 31 Jul 2023 10:59:59 +0000 (16:29 +0530)]
genpd: rockchip: Add PD_VO entry for rv1126

PD_VO power-domain entry in RV1126 are connected to
- BIU_VO
- VOP
- RGA
- IEP
- DSIHOST

Add an entry for it.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20230731110012.2913742-2-jagan@edgeble.ai
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
11 months agobus: ti-sysc: Fix cast to enum warning
Tony Lindgren [Tue, 15 Aug 2023 05:49:05 +0000 (08:49 +0300)]
bus: ti-sysc: Fix cast to enum warning

Fix warning for "cast to smaller integer type 'enum sysc_soc' from 'const
void *'".

Cc: Nishanth Menon <nm@ti.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308150723.ziuGCdM3-lkp@intel.com/
Fixes: e1e1e9bb9d94 ("bus: ti-sysc: Fix build warning for 64-bit build")
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 months agoMerge tag 'memory-controller-drv-6.6' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 14 Aug 2023 16:28:01 +0000 (18:28 +0200)]
Merge tag 'memory-controller-drv-6.6' of https://git./linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.6

1. Tegra:
 - Extend support for Tegra234 SoC Memory Controllers with DRM and GPU
   clients.
 - Tegra186: Skip MRQ DVFS where it is not supported and do not fail
   probe.
2. Wide cleanup of DT includes.
3. Devicetree bindings:
 - Reference common peripheral (client) properties in Ingenic NEMC and
   TI GPMC.
 - Convert Davicom DM9000 to DT schema.

* tag 'memory-controller-drv-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: tegra: add MC client for Tegra234 GPU
  dt-bindings: net: davicom,dm9000: convert to DT schema
  dt-bindings: memory-controllers: reference TI GPMC peripheral properties
  dt-bindings: memory-controllers: ingenic,nemc: reference peripheral properties
  memory: Explicitly include correct DT includes
  memory: tegra: Prefer octal over symbolic permissions
  memory: tegra: add check if MRQ_EMC_DVFS_LATENCY is supported
  memory: tegra: Add clients used by DRM in Tegra234
  memory: tegra: sort tegra234_mc_clients table as per register offsets
  memory: tegra: make icc_set_bw return zero if BWMGR not supported
  memory: tegra: Add dummy implementation on Tegra194

Link: https://lore.kernel.org/r/20230814120052.27485-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'ti-driver-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 14 Aug 2023 16:26:20 +0000 (18:26 +0200)]
Merge tag 'ti-driver-soc-for-v6.6' of https://git./linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.6

- Generic fixups: Explicitly include correct DT include.
- omap_prm: Cosmetic fixups for using devm_ api for ioremap_resource
- ti_sci: Documentation fixups, Using system_state to determine if
  polling is needed.
- k3-ringcc: Documentation fixups, cleanup of log messages, using
  devm_ to handle ioremap_resource.
- k3-socinfo: Add AM62PX detection.

* tag 'ti-driver-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo.c: Add JTAG ID for AM62PX
  soc: ti: Use devm_platform_ioremap_resource_byname simplify logic
  soc: ti: k3-ringacc: remove non-fatal probe deferral log
  soc: ti: Explicitly include correct DT includes
  soc: ti: omap-prm: Use devm_platform_get_and_ioremap_resource()
  soc: ti: k3-ringacc: Fixup documentation errors
  firmware: ti_sci: Fixup documentation errors
  firmware: ti_sci: Use system_state to determine polling

Link: https://lore.kernel.org/r/20230814160633.my3xbk5k2pxkvjyi@degrease
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'oxnas-final-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 14 Aug 2023 16:13:21 +0000 (18:13 +0200)]
Merge tag 'oxnas-final-for-6.6' of https://git./linux/kernel/git/narmstrong/linux-oxnas into soc/drivers

Final OXNAS removal PR for v6.6:
- Remove irq-versatile-fpga compatible entry
- Mark irq-versatile-fpga oxnas compatible as deprecated
- Remove OXNAS maintainers entry

* tag 'oxnas-final-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas:
  MAINTAINERS: remove OXNAS entry
  dt-bindings: interrupt-controller: arm,versatile-fpga-irq: mark oxnas compatible as deprecated
  irqchip: irq-versatile-fpga: remove obsolete oxnas compatible

Link: https://lore.kernel.org/r/3f91bb89-bf7b-d967-a302-2a8e1b0c3b01@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'imx-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo...
Arnd Bergmann [Mon, 14 Aug 2023 16:00:57 +0000 (18:00 +0200)]
Merge tag 'imx-drivers-6.6' of git://git./linux/kernel/git/shawnguo/linux into soc/drivers

i.MX drivers update for 6.6:

- A series from NXP i.MX developers (Peng Fan, etc.) to update imx-scu
  and imx-scu-irq firmware drivers.
- Add dedicated lockdep class for nested genpd locks to fix a lockdep
  warning in imx93-blk-ctrl driver.
- A change from Rob to explicitly include correct DT headers for i.MX
  SoC drivers.
- Use devm_platform_ioremap_resource() in imx-weim bus driver.

* tag 'imx-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs
  firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP
  firmware: imx: scu-irq: add imx_scu_irq_get_status
  firmware: imx: scu-irq: fix RCU complaint after M4 partition reset
  firmware: imx: scu: use EOPNOTSUPP
  firmware: imx: scu: use soc name for soc_id
  firmware: imx: scu: increase RPC timeout
  firmware: imx: scu: change init level to subsys_initcall_sync
  soc: imx: Explicitly include correct DT includes
  bus: imx-weim: use devm_platform_ioremap_resource
  soc: imx: imx93-blk-ctrl: Add dedicated lockdep class for nested genpd locks

Link: https://lore.kernel.org/r/20230813133354.847010-1-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agosoc: kunpeng_hccs: add MAILBOX dependency
Arnd Bergmann [Sat, 12 Aug 2023 17:17:58 +0000 (19:17 +0200)]
soc: kunpeng_hccs: add MAILBOX dependency

When the mailbox subsystem is disabled, the driver fails to link, so add
an explicit dependency. Some other drivers use 'select' here, but the
dependency seems more logical and more common.

Fixes: 886bdf9c883bc ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMAINTAINERS: remove OXNAS entry
Neil Armstrong [Mon, 14 Aug 2023 08:19:54 +0000 (10:19 +0200)]
MAINTAINERS: remove OXNAS entry

Due to lack of maintenance and stall of development for a few years now,
and since no new features will ever be added upstream, remove MAINTAINERS
entry for OXNAS files.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Acked-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20230814-topic-oxnas-upstream-remove-v3-3-e2ba579a49d3@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agodt-bindings: interrupt-controller: arm,versatile-fpga-irq: mark oxnas compatible...
Neil Armstrong [Mon, 14 Aug 2023 08:19:53 +0000 (10:19 +0200)]
dt-bindings: interrupt-controller: arm,versatile-fpga-irq: mark oxnas compatible as deprecated

Due to lack of maintenance and stall of development for a few years now,
and since no new features will ever be added upstream, mark the
OX810 and OX820 IRQ compatible as deprecated.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230814-topic-oxnas-upstream-remove-v3-2-e2ba579a49d3@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agoirqchip: irq-versatile-fpga: remove obsolete oxnas compatible
Neil Armstrong [Mon, 14 Aug 2023 08:19:52 +0000 (10:19 +0200)]
irqchip: irq-versatile-fpga: remove obsolete oxnas compatible

Due to lack of maintenance and stall of development for a few years now,
and since no new features will ever be added upstream, remove support
for OX810 and OX820 IRQ controller.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20230814-topic-oxnas-upstream-remove-v3-1-e2ba579a49d3@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agosoc: qcom: aoss: Tidy up qmp_send() callers
Bjorn Andersson [Fri, 11 Aug 2023 20:58:39 +0000 (13:58 -0700)]
soc: qcom: aoss: Tidy up qmp_send() callers

With qmp_send() handling variable length messages and string formatting
he callers of qmp_send() can be cleaned up to not care about these
things.

Drop the QMP_MSG_LEN sized buffers and use the message formatting, as
appropriate.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230811205839.727373-5-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: aoss: Format string in qmp_send()
Bjorn Andersson [Fri, 11 Aug 2023 20:58:38 +0000 (13:58 -0700)]
soc: qcom: aoss: Format string in qmp_send()

The majority of callers to qmp_send() composes the message dynamically
using some form of sprintf(), resulting in unnecessary complication and
stack usage.

By changing the interface of qmp_send() to take a format string and
arguments, the duplicated composition of the commands can be moved to a
single location.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230811205839.727373-4-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: aoss: Move length requirements from caller
Bjorn Andersson [Fri, 11 Aug 2023 20:58:36 +0000 (13:58 -0700)]
soc: qcom: aoss: Move length requirements from caller

The existing implementation of qmp_send() requires the caller to provide
a buffer which is of word-aligned. The underlying reason for this is
that message ram only supports word accesses, but pushing this
requirement onto the clients results in the same boiler plate code
sprinkled in every call site.

By using a temporary buffer in qmp_send() we can hide the underlying
hardware limitations from the clients and allow them to pass their
NUL-terminates C string directly.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230811205839.727373-2-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: kunpeng_hccs: fix size_t format string
Arnd Bergmann [Sat, 12 Aug 2023 17:17:58 +0000 (19:17 +0200)]
soc: kunpeng_hccs: fix size_t format string

Printing a size_t using the %lu format string causes a warning on
architectures that define the type as 'unsigned int':

In file included from include/linux/device.h:15,
                 from include/linux/acpi.h:14,
                 from drivers/soc/hisilicon/kunpeng_hccs.c:25:
drivers/soc/hisilicon/kunpeng_hccs.c: In function 'hccs_get_bd_info':
drivers/soc/hisilicon/kunpeng_hccs.c:441:25: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]

Use the correct %zu format instead.

Fixes: 886bdf9c883bc ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'hisi-drivers-for-6.6' of https://github.com/hisilicon/linux-hisi into...
Arnd Bergmann [Sat, 12 Aug 2023 10:10:46 +0000 (12:10 +0200)]
Merge tag 'hisi-drivers-for-6.6' of https://github.com/hisilicon/linux-hisi into soc/drivers

HiSilicon driver updates for v6.6

- Add HCCS driver for HiSilicon Kunpeng SoC and document the sysfs description

* tag 'hisi-drivers-for-6.6' of https://github.com/hisilicon/linux-hisi:
  doc: soc: hisilicon: Add Kunpeng HCCS driver documentation
  soc: hisilicon: add sysfs entry to query information of HCCS
  soc: hisilicon: Support HCCS driver on Kunpeng SoC

Link: https://lore.kernel.org/r/64D605DE.2070303@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'samsung-drivers-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Sat, 12 Aug 2023 10:09:42 +0000 (12:09 +0200)]
Merge tag 'samsung-drivers-6.6' of https://git./linux/kernel/git/krzk/linux into soc/drivers

Samsung SoC driver changes for v6.6

Minor cleanup of headers and maintainer entries for Samsung SoC drivers.

* tag 'samsung-drivers-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  MAINTAINERS: mfd: Un-support Maxim and Samsung PMIC drivers
  MAINTAINERS: samsung: Un-support cpuidle and clock drivers
  soc: samsung: Explicitly include correct DT includes

Link: https://lore.kernel.org/r/20230810151250.220202-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'reset-for-v6.6' of git://git.pengutronix.de/pza/linux into soc/drivers
Arnd Bergmann [Sat, 12 Aug 2023 10:08:42 +0000 (12:08 +0200)]
Merge tag 'reset-for-v6.6' of git://git.pengutronix.de/pza/linux into soc/drivers

Reset controller updates for v6.6

Clean up DT includes and remove unneeded platform_set_drvdata() calls
across reset drivers, add support for the Versal NET platform to the
zynqmp driver, and let the hisilicon driver use dev_err_probe().

* tag 'reset-for-v6.6' of git://git.pengutronix.de/pza/linux:
  reset: ti: syscon: remove unneeded call to platform_set_drvdata()
  reset: zynqmp: removed unneeded call to platform_set_drvdata()
  reset: zynq: remove unneeded call to platfrom_set_drvdata()
  reset: uniphier-glue: remove unneeded call to platform_set_drvdata()
  reset: npcm: remove unneeded call to platform_set_drvdata()
  reset: meson: remove unneeded call to platform_set_drvdata()
  reset: lpc18xx: remove unneeded call to platform_set_drvdata()
  reset: lantiq: remove unneeded call to platform_set_drvdata()
  reset: bcm6345: remove unneeded call to platform_set_drvdata()
  reset: ath79: remove unneeded call to platform_set_drvdata()
  reset: hisilicon: Use dev_err_probe instead of dev_err
  reset: reset-zynqmp: add support for Versal NET platform
  dt-bindings: reset: Updated binding for Versal-NET reset driver
  reset: Explicitly include correct DT includes

Link: https://lore.kernel.org/r/20230808145950.3057250-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'sunxi-drivers-for-6.6-1' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Sat, 12 Aug 2023 10:07:58 +0000 (12:07 +0200)]
Merge tag 'sunxi-drivers-for-6.6-1' of https://git./linux/kernel/git/sunxi/linux into soc/drivers

- simplify code in sunxi-rsb
- fix includes in sunxi_sram

* tag 'sunxi-drivers-for-6.6-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  soc: sunxi: Explicitly include correct DT includes
  bus: sunxi-rsb: Convert to devm_platform_ioremap_resource()

Link: https://lore.kernel.org/r/20230806180650.GA127142@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'amlogic-drivers-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Sat, 12 Aug 2023 10:06:26 +0000 (12:06 +0200)]
Merge tag 'amlogic-drivers-for-v6.6' of https://git./linux/kernel/git/amlogic/linux into soc/drivers

Amlogic drivers changes for v6.6:
- Add C3 Power Domains
- Explicitly include correct DT includes in Amlogic SoC drivers
- fix to avoid potential NULL pointer dereference in meson_sm
- Merge of genpd-v6.5-rc1-1 to move genpd amlogic drivers

* tag 'amlogic-drivers-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  firmware: meson_sm: fix to avoid potential NULL pointer dereference
  soc: amlogic: Explicitly include correct DT includes
  soc: c3: Add support for power domains controller
  dt-bindings: power: add Amlogic C3 power domains
  soc: amlogic: use name instead of index as criterion

Link: https://lore.kernel.org/r/77e328b5-0d47-36e8-f62d-c745df06fb87@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'scmi-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep...
Arnd Bergmann [Sat, 12 Aug 2023 10:04:53 +0000 (12:04 +0200)]
Merge tag 'scmi-updates-6.6' of git://git./linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates for v6.6

The main addition this time is the support for SCMI v3.2 perf level
indexing mode. SCMI v3.2 adds support for hardware which works on
performance indices, instead of levels. Certain platforms use indices
to identify performance levels. Level Indexing Mode is used to describe
such platform behavior. All commands which utilize performance level
as a parameter need to specify the corresponding level index instead of
the performance level when Level Indexing Mode is used.

While at it, these changes also include hardening of all the internal
accesses to the performance domain information.

* tag 'scmi-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Add v3.2 perf level indexing mode support
  firmware: arm_scmi: Harden perf domain info access

Link: https://lore.kernel.org/r/20230804123231.3258141-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'vexpress-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Sat, 12 Aug 2023 10:03:45 +0000 (12:03 +0200)]
Merge tag 'vexpress-updates-6.6' of git://git./linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm Vexpress updates for v6.6

Couple of minor updates: Code simplification in the vexpress config bus
driver with the use of devm_platform_ioremap_resource() and simplification
of Arm Vexpress platform and related drivers entries in MAINTAINERS file.

* tag 'vexpress-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  MAINTAINERS: Simplify entries for Arm Vexpress platform and related drivers
  bus: vexpress-config: Convert to devm_platform_ioremap_resource()

Link: https://lore.kernel.org/r/20230804123214.3258032-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx into soc/drivers
Arnd Bergmann [Sat, 12 Aug 2023 10:02:52 +0000 (12:02 +0200)]
Merge tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx into soc/drivers

arm64: ZynqMP SoC changes for 6.6

- Cleanup remove callback in event driver
- Explicitly include correct DT header in power driver
- Fix logic around irq = 0 in power driver

* tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx:
  soc: xilinx: Do not check for 0 return after calling platform_get_irq()
  soc: xilinx: Explicitly include correct DT includes
  driver: soc: xilinx: Convert to platform remove callback returning void

Link: https://lore.kernel.org/r/399efa45-df0a-4ec7-e25c-774bb8bf6fb4@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agoMerge tag 'tegra-for-6.6-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
Arnd Bergmann [Sat, 12 Aug 2023 10:01:46 +0000 (12:01 +0200)]
Merge tag 'tegra-for-6.6-soc' of git://git./linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.6-rc1

This contains a selection of minor cleanups.

* tag 'tegra-for-6.6-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: cbb: Remove unnecessary print function dev_err()
  soc/tegra: fuse: Sort includes alphabetically
  bus: tegra-gmi: Convert to devm_platform_ioremap_resource()
  soc/tegra: fuse: Use devm_platform_get_and_ioremap_resource()
  soc/tegra: Explicitly include correct DT includes

Link: https://lore.kernel.org/r/20230728094129.3587109-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 months agosoc: ti: k3-socinfo.c: Add JTAG ID for AM62PX
Vignesh Raghavendra [Fri, 11 Aug 2023 17:01:27 +0000 (22:31 +0530)]
soc: ti: k3-socinfo.c: Add JTAG ID for AM62PX

This adds JTAG ID info for the AM62PX so as to enable SoC detection in
kernel.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Link: https://lore.kernel.org/r/20230811170127.250733-1-vigneshr@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
11 months agodt-bindings: firmware: qcom: scm: Updating VMID list
Gokul krishna Krishnakumar [Mon, 3 Apr 2023 20:44:55 +0000 (13:44 -0700)]
dt-bindings: firmware: qcom: scm: Updating VMID list

Adding the full list of VMID's, which are used by different clients to
pass to the secure world.

Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230403204455.6758-1-quic_gokukris@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agofirmware: imx: scu-irq: support identifying SCU wakeup source from sysfs
Ranjani Vaidyanathan [Mon, 7 Aug 2023 12:14:32 +0000 (20:14 +0800)]
firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs

Record SCU wakeup interrupt in /sys/power/pm_wakeup_irq
The user can further identify the exact wakeup source by using the
following interface:
cat /sys/firmware/scu_wakeup_source/wakeup_src

The above will print the wake groups and the irqs that could have
contributed to waking up the kernel. For example if ON/OFF button was the
wakeup source:
cat /sys/firmware/scu_wakeup_source/wakeup_src
Wakeup source group = 3, irq = 0x1

The user can refer to the SCFW API documentation to identify all the
wake groups and irqs.

Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agofirmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP
Peng Fan [Mon, 7 Aug 2023 12:14:31 +0000 (20:14 +0800)]
firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP

Per SCFW update, update the IMX_SC_IRQ_NUM_GROUP to 9.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agofirmware: imx: scu-irq: add imx_scu_irq_get_status
Peng Fan [Mon, 7 Aug 2023 12:14:30 +0000 (20:14 +0800)]
firmware: imx: scu-irq: add imx_scu_irq_get_status

Extract the scu irq get status code from imx_scu_irq_work_handler and
make into a new function imx_scu_irq_get_status which could be used
by others, such as SECO.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agofirmware: imx: scu-irq: fix RCU complaint after M4 partition reset
Robin Gong [Mon, 7 Aug 2023 12:14:29 +0000 (20:14 +0800)]
firmware: imx: scu-irq: fix RCU complaint after M4 partition reset

Use blocking_notifier_chain instead of atomic_notifier_chain, otherwise
there will be RCU complaint, because unregister/register_virtio_device()
will issue mbox message.

mbox_send_message() is blocking again after received M4 partition reset.

Actually, no need atomic notifier for scu irq notification since this
notifier is called in worker instead of interrupt handler.

[  389.706645] i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: i2c rpmsg driver is removed
[  389.767362] Wait for remote ready timeout, use first_notify.
[  389.774084] ------------[ cut here ]------------
[  389.778729] WARNING: CPU: 0 PID: 397 at kernel/rcu/tree_plugin.h:293 rcu_note_context_switch+0x34/0x338
[  389.788131] Modules linked in:
[  389.791195] CPU: 0 PID: 397 Comm: kworker/0:13 Not tainted 5.4.0-rc5-02977-g08f78722f07b #26
[  389.799633] Hardware name: Freescale i.MX8DXL MEK (DT)
[  389.805481] Workqueue: events imx_scu_irq_work_handler

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agofirmware: imx: scu: use EOPNOTSUPP
Peng Fan [Mon, 7 Aug 2023 12:14:28 +0000 (20:14 +0800)]
firmware: imx: scu: use EOPNOTSUPP

Per checkpatch.pl, "ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP"
So use EOPNOTSUPP to replace ENOTSUPP.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agofirmware: imx: scu: use soc name for soc_id
Peng Fan [Mon, 7 Aug 2023 12:14:27 +0000 (20:14 +0800)]
firmware: imx: scu: use soc name for soc_id

Same as soc-imx8m and soc-imx driver, use soc name for soc_id which is
user friendly.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agofirmware: imx: scu: increase RPC timeout
Dong Aisheng [Mon, 7 Aug 2023 12:14:26 +0000 (20:14 +0800)]
firmware: imx: scu: increase RPC timeout

When system loading is high, we can meet some command timeout
issue occasionally, so increase the timeout to a safe value.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agofirmware: imx: scu: change init level to subsys_initcall_sync
Dong Aisheng [Mon, 7 Aug 2023 12:14:25 +0000 (20:14 +0800)]
firmware: imx: scu: change init level to subsys_initcall_sync

Change firmware init level to subsys_initcall_sync to ensure it's
probed before most devices to avoid unnecessary defer probe.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agobus: ti-sysc: Fix a build warning with W=1 for sysconfig
Tony Lindgren [Wed, 9 Aug 2023 09:53:23 +0000 (12:53 +0300)]
bus: ti-sysc: Fix a build warning with W=1 for sysconfig

Dhruva reported a build warning with W=1 for "Function parameter or member
'sysconfig' not described in 'sysc'". Let's document sysconfig to fix this.

Reported-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 months agobus: ti-sysc: Configure uart quirks for k3 SoC
Tony Lindgren [Fri, 4 Aug 2023 10:38:01 +0000 (13:38 +0300)]
bus: ti-sysc: Configure uart quirks for k3 SoC

Enable the uart quirks similar to the earlier SoCs. Let's assume we are
likely going to need a k3 specific quirk mask separate from the earlier
SoCs, so let's not start changing the revision register mask at this point.

Note that SYSC_QUIRK_LEGACY_IDLE will be needed until we can remove the
need for pm_runtime_irq_safe() from 8250_omap driver.

Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 months agobus: ti-sysc: Build driver for TI K3 SoCs
Tony Lindgren [Fri, 4 Aug 2023 10:38:01 +0000 (13:38 +0300)]
bus: ti-sysc: Build driver for TI K3 SoCs

Allow building ti-sysc also for K3 SoCs. This allows configuring the wkup
domain devices for SYSCONFIG register wake-up events in a generic way.

As this is an interconnect level driver, default to built-in on K3 SoCs
to probe the devices connected to the wkup domain like gpio, uart and
timers.

Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 months agobus: ti-sysc: Fix build warning for 64-bit build
Tony Lindgren [Fri, 4 Aug 2023 10:38:01 +0000 (13:38 +0300)]
bus: ti-sysc: Fix build warning for 64-bit build

Fix "warning: cast from pointer to integer of different size" on 64-bit
builds.

Note that this is a cosmetic fix at this point as the driver is not yet
used for 64-bit systems.

Fixes: feaa8baee82a ("bus: ti-sysc: Implement SoC revision handling")
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 months agosoc: ti: Use devm_platform_ioremap_resource_byname simplify logic
Zhang Zekun [Wed, 9 Aug 2023 08:15:23 +0000 (16:15 +0800)]
soc: ti: Use devm_platform_ioremap_resource_byname simplify logic

platform_get_resource_byname() and devm_ioremap_resource() can be
replaced by devm_platform_ioremap_resource_byname(), which can
simplify the code logic a bit, No functional change here.

Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Link: https://lore.kernel.org/r/20230809081523.26196-1-zhangzekun11@huawei.com
Signed-off-by: Nishanth Menon <nm@ti.com>
11 months agobus: omap_l3_smx: identify timeout cause before rebooting
Sicelo A. Mhlongo [Tue, 1 Aug 2023 19:22:40 +0000 (21:22 +0200)]
bus: omap_l3_smx: identify timeout cause before rebooting

Identify and print the error source before rebooting the board due to an l3
timeout error. This is helpful when debugging, e.g. via serial.

Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Message-ID: <20230801192240.1063764-1-absicsz@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 months agoreset: ti: syscon: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Mon, 7 Aug 2023 11:15:34 +0000 (14:15 +0300)]
reset: ti: syscon: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Acked-by: Andrew Davis <afd@ti.com>
Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230807111534.12392-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: zynqmp: removed unneeded call to platform_set_drvdata()
Andrei Coardos [Mon, 7 Aug 2023 11:43:44 +0000 (14:43 +0300)]
reset: zynqmp: removed unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230807114344.15076-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: zynq: remove unneeded call to platfrom_set_drvdata()
Andrei Coardos [Mon, 7 Aug 2023 11:35:45 +0000 (14:35 +0300)]
reset: zynq: remove unneeded call to platfrom_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230807113545.14743-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: uniphier-glue: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Mon, 7 Aug 2023 11:27:05 +0000 (14:27 +0300)]
reset: uniphier-glue: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230807112705.12862-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: npcm: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Mon, 7 Aug 2023 10:56:30 +0000 (13:56 +0300)]
reset: npcm: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Link: https://lore.kernel.org/r/20230807105630.11638-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: meson: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Mon, 7 Aug 2023 10:54:00 +0000 (13:54 +0300)]
reset: meson: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Link: https://lore.kernel.org/r/20230807105400.11560-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: lpc18xx: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Mon, 7 Aug 2023 10:45:49 +0000 (13:45 +0300)]
reset: lpc18xx: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Link: https://lore.kernel.org/r/20230807104549.11225-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: lantiq: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Thu, 3 Aug 2023 10:42:25 +0000 (13:42 +0300)]
reset: lantiq: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Link: https://lore.kernel.org/r/20230803104225.29740-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: bcm6345: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Thu, 3 Aug 2023 10:41:42 +0000 (13:41 +0300)]
reset: bcm6345: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Link: https://lore.kernel.org/r/20230803104142.29694-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: ath79: remove unneeded call to platform_set_drvdata()
Andrei Coardos [Thu, 3 Aug 2023 10:41:02 +0000 (13:41 +0300)]
reset: ath79: remove unneeded call to platform_set_drvdata()

This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.

Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Link: https://lore.kernel.org/r/20230803104102.29647-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agodoc: soc: hisilicon: Add Kunpeng HCCS driver documentation
Huisong Li [Tue, 8 Aug 2023 02:36:40 +0000 (10:36 +0800)]
doc: soc: hisilicon: Add Kunpeng HCCS driver documentation

Document the sysfs attributes description provided by HCCS driver on
Kunpeng SoC.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
11 months agosoc: hisilicon: add sysfs entry to query information of HCCS
Huisong Li [Tue, 8 Aug 2023 02:36:39 +0000 (10:36 +0800)]
soc: hisilicon: add sysfs entry to query information of HCCS

This patch creates chip, die and port directory based on the actual
hardware implementation of platform. Some sysfs entries under these
directories are created to query the health status and port information
of HCCS.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
11 months agosoc: hisilicon: Support HCCS driver on Kunpeng SoC
Huisong Li [Tue, 8 Aug 2023 02:36:38 +0000 (10:36 +0800)]
soc: hisilicon: Support HCCS driver on Kunpeng SoC

The Huawei Cache Coherence System (HCCS) is a multi-chip interconnection
bus protocol. This driver is aimed to support some features about HCCS on
Kunpeng SoC, like, querying the health status of HCCS.

This patch adds the probing of HCCS driver, and obtains all HCCS port
information by the dimension of chip and die on platform.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
11 months agosoc: sunxi: Explicitly include correct DT includes
Rob Herring [Thu, 3 Aug 2023 22:43:01 +0000 (16:43 -0600)]
soc: sunxi: Explicitly include correct DT includes

The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-21-d8de2cc88bff@kernel.org
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
11 months agomemory: tegra: add MC client for Tegra234 GPU
Sumit Gupta [Tue, 1 Aug 2023 12:10:23 +0000 (17:40 +0530)]
memory: tegra: add MC client for Tegra234 GPU

Add the Non-ISO MC client for the Tegra234 GPU to the
tegra234_mc_clients table.

Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Link: https://lore.kernel.org/r/20230801121023.27841-1-sumitg@nvidia.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11 months agofirmware: meson_sm: fix to avoid potential NULL pointer dereference
Zhang Shurong [Sat, 15 Jul 2023 14:13:38 +0000 (22:13 +0800)]
firmware: meson_sm: fix to avoid potential NULL pointer dereference

of_match_device() may fail and returns a NULL pointer.

Fix this by checking the return value of of_match_device.

Fixes: 8cde3c2153e8 ("firmware: meson_sm: Rework driver as a proper platform driver")
Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/tencent_AA08AAA6C4F34D53ADCE962E188A879B8206@qq.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agosoc: amlogic: Explicitly include correct DT includes
Rob Herring [Fri, 14 Jul 2023 17:51:23 +0000 (11:51 -0600)]
soc: amlogic: Explicitly include correct DT includes

The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230714175124.4066972-1-robh@kernel.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agofirmware: arm_scmi: Add v3.2 perf level indexing mode support
Cristian Marussi [Mon, 17 Jul 2023 16:12:46 +0000 (17:12 +0100)]
firmware: arm_scmi: Add v3.2 perf level indexing mode support

SCMI v3.2 adds PERF protocol support to optionally define performance
domains that cannot be represented on a linear scale; the platform firmware
can declare the performance levels of a domain as being 'level indexed' and
provide an indicative frequency associated to each of those levels, with
such indexes not required anymore to be contiguous nor to satisfy any
linear-scaling constraint: when level-indexing is available for a domain,
the platform will expect to deal with SCMI requests using indexes instead
of performance levels for that domain.

Add level-indexing mode support to the PERF protocol implementation while
maintaining unchanged the protocol operations interface exposed by PERF;
all the required mapping from performamce levels/frequencies to the
corresponding level indexes is carried out transparently by the core PERF
protocol support: as a consequence no change is either required in any
SCMI driver using the PERF protocol, even when using level indexing.

Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Link: https://lore.kernel.org/r/20230717161246.1761777-3-cristian.marussi@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
11 months agofirmware: arm_scmi: Harden perf domain info access
Cristian Marussi [Mon, 17 Jul 2023 16:12:45 +0000 (17:12 +0100)]
firmware: arm_scmi: Harden perf domain info access

Harden internal accesses to domain info in the SCMI perf protocol.

Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Link: https://lore.kernel.org/r/20230717161246.1761777-2-cristian.marussi@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
11 months agoMAINTAINERS: Simplify entries for Arm Vexpress platform and related drivers
Sudeep Holla [Thu, 27 Jul 2023 13:35:51 +0000 (14:35 +0100)]
MAINTAINERS: Simplify entries for Arm Vexpress platform and related drivers

Currently the entries have regexs but in absolute paths. The "N:" entries
can deal with all files and directories irrespective of the depth/path
matching the regex patterns.

Simplifies the entry by making using "N:" and dropping "F:" with absolute
paths.

Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Suggested-by: Tom Rini <trini@konsulko.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://lore.kernel.org/r/20230727133551.648390-1-sudeep.holla@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
11 months agosoc: xilinx: Do not check for 0 return after calling platform_get_irq()
Ruan Jinjie [Thu, 3 Aug 2023 10:48:07 +0000 (18:48 +0800)]
soc: xilinx: Do not check for 0 return after calling platform_get_irq()

There is no possible for platform_get_irq() to
return 0. Use the return value from platform_get_irq().

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
Link: https://lore.kernel.org/r/20230803104807.814005-3-ruanjinjie@huawei.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
11 months agosoc: xilinx: Explicitly include correct DT includes
Rob Herring [Thu, 3 Aug 2023 22:43:02 +0000 (16:43 -0600)]
soc: xilinx: Explicitly include correct DT includes

The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-22-d8de2cc88bff@kernel.org
Signed-off-by: Michal Simek <michal.simek@amd.com>
11 months agodt-bindings: qcom: Update RPMHPD entries for some SoCs
Rohit Agarwal [Thu, 27 Jul 2023 12:43:33 +0000 (18:13 +0530)]
dt-bindings: qcom: Update RPMHPD entries for some SoCs

Update the RPMHPD references with new bindings defined in rpmhpd.h
for Qualcomm SoCs SM8[2345]50.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Link: https://lore.kernel.org/r/1690461813-22564-1-git-send-email-quic_rohiagar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agoMerge branch 'genpd_create_dir' of git://git.kernel.org/pub/scm/linux/kernel/git...
Bjorn Andersson [Thu, 3 Aug 2023 16:27:23 +0000 (09:27 -0700)]
Merge branch 'genpd_create_dir' of git://git./linux/kernel/git/ulfh/linux-pm into drivers-for-6.6

Merge the topic branch that introduces the genpd subsystem into the
Qualcomm soc driver tree, in order to deal with patches landed in the
Qualcomm rpmhpd driver already in this cycle.

11 months agosoc: qcom: qmi_encdec: Restrict string length in decode
Chris Lew [Tue, 1 Aug 2023 06:47:12 +0000 (12:17 +0530)]
soc: qcom: qmi_encdec: Restrict string length in decode

The QMI TLV value for strings in a lot of qmi element info structures
account for null terminated strings with MAX_LEN + 1. If a string is
actually MAX_LEN + 1 length, this will cause an out of bounds access
when the NULL character is appended in decoding.

Fixes: 9b8a11e82615 ("soc: qcom: Introduce QMI encoder/decoder")
Cc: stable@vger.kernel.org
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
Link: https://lore.kernel.org/r/20230801064712.3590128-1-quic_ipkumar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: smem: Fix incompatible types in comparison
Chen Jiahao [Tue, 1 Aug 2023 09:48:07 +0000 (17:48 +0800)]
soc: qcom: smem: Fix incompatible types in comparison

This patch fixes the following sparse error:

drivers/soc/qcom/smem.c:738:30: error: incompatible types in comparison expression (different add        ress spaces):
drivers/soc/qcom/smem.c:738:30:    void *
drivers/soc/qcom/smem.c:738:30:    void [noderef] __iomem *

In addr_in_range(), "base" is of type void __iomem *, converting
void *addr to the same type to fix above sparse error.

Fixes: 20bb6c9de1b7 ("soc: qcom: smem: map only partitions used by local HOST")
Signed-off-by: Chen Jiahao <chenjiahao16@huawei.com>
Link: https://lore.kernel.org/r/20230801094807.4146779-1-chenjiahao16@huawei.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: ocmem: add missing clk_disable_unprepare() in ocmem_dev_probe()
Yang Yingliang [Wed, 2 Aug 2023 02:48:55 +0000 (10:48 +0800)]
soc: qcom: ocmem: add missing clk_disable_unprepare() in ocmem_dev_probe()

Add clk_disable_unprepare(core_clk) when enable iface_clk failed.

Fixes: a7e12e7bda08 ("soc: qcom: ocmem: make iface clock optional")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20230802024855.2521895-1-yangyingliang@huawei.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: ti: k3-ringacc: remove non-fatal probe deferral log
Jayesh Choudhary [Fri, 28 Jul 2023 05:33:56 +0000 (11:03 +0530)]
soc: ti: k3-ringacc: remove non-fatal probe deferral log

Drop the non-fatal probe deferral log for getting MSI domain.
This makes the kernel log clean and we do not get recurring logs
stating: "Failed to get MSI domain".

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Link: https://lore.kernel.org/r/20230728053356.31044-1-j-choudhary@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
11 months agosoc: qcom: socinfo: Add SoC ID for SM7125
David Wronek [Sun, 23 Jul 2023 19:05:05 +0000 (21:05 +0200)]
soc: qcom: socinfo: Add SoC ID for SM7125

Add the SoC ID entry for Qualcomm SM7125.

Signed-off-by: David Wronek <davidwronek@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230723190725.1619193-5-davidwronek@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agodt-bindings: arm: qcom,ids: Add SoC ID for SM7125
David Wronek [Sun, 23 Jul 2023 19:05:03 +0000 (21:05 +0200)]
dt-bindings: arm: qcom,ids: Add SoC ID for SM7125

Add the SoC ID for Qualcomm SM7125.

Signed-off-by: David Wronek <davidwronek@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230723190725.1619193-3-davidwronek@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agodt-bindings: arm: qcom,ids: drop the IPQ5019 SoC ID
Kathiravan T [Mon, 24 Jul 2023 08:37:45 +0000 (14:07 +0530)]
dt-bindings: arm: qcom,ids: drop the IPQ5019 SoC ID

IPQ5019 SoC is never productized. So lets drop it.

Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230724083745.1015321-3-quic_kathirav@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: socinfo: drop the IPQ5019 SoC ID
Kathiravan T [Mon, 24 Jul 2023 08:37:44 +0000 (14:07 +0530)]
soc: qcom: socinfo: drop the IPQ5019 SoC ID

IPQ5019 SoC is never productized. So lets drop it.

Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Link: https://lore.kernel.org/r/20230724083745.1015321-2-quic_kathirav@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: socinfo: add SM4450 ID
Tengfei Fan [Mon, 31 Jul 2023 08:00:43 +0000 (16:00 +0800)]
soc: qcom: socinfo: add SM4450 ID

Add the ID for the Qualcomm SM4450 SoC.

Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230731080043.38552-7-quic_tengfan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agodt-bindings: arm: qcom,ids: add SoC ID for SM4450
Tengfei Fan [Mon, 31 Jul 2023 08:00:42 +0000 (16:00 +0800)]
dt-bindings: arm: qcom,ids: add SoC ID for SM4450

Add the ID for the Qualcomm SM4450 SoC.

Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230731080043.38552-6-quic_tengfan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: pmic_glink: enable altmode for SM8550
Neil Armstrong [Mon, 19 Jun 2023 08:07:15 +0000 (10:07 +0200)]
soc: qcom: pmic_glink: enable altmode for SM8550

Altmode is also supported for SM8550, allow it.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v5-3-9221cd300903@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: pmic_glink_altmode: add retimer-switch support
Neil Armstrong [Mon, 19 Jun 2023 08:07:14 +0000 (10:07 +0200)]
soc: qcom: pmic_glink_altmode: add retimer-switch support

Some boards have a retimer/redriver between the SuperSpeed
PHY and the USB-C connector to compensates signal integrity
losses mainly due to PCB & transmission cables.

Add support for an optional retimer-switch in the USB-C
connector graph.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v5-2-9221cd300903@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: pmic_glink_altmode: handle safe mode when disconnect
Neil Armstrong [Mon, 19 Jun 2023 08:07:13 +0000 (10:07 +0200)]
soc: qcom: pmic_glink_altmode: handle safe mode when disconnect

On some Qcom SoCs, the Altmode event mode is set to 0xff when
the Type-C port is disconnected.

Handle this specific mode and translate it as the SAFE mode.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v5-1-9221cd300903@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc: qcom: rpmhpd: Add SDX75 power domains
Rohit Agarwal [Mon, 31 Jul 2023 11:30:07 +0000 (17:00 +0530)]
soc: qcom: rpmhpd: Add SDX75 power domains

Add the power domains exposed by RPMH in the Qualcomm SDX75 platform.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Link: https://lore.kernel.org/r/1690803007-8640-3-git-send-email-quic_rohiagar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agodt-bindings: power: qcom,rpmpd: Add compatible for sdx75
Rohit Agarwal [Mon, 31 Jul 2023 11:30:06 +0000 (17:00 +0530)]
dt-bindings: power: qcom,rpmpd: Add compatible for sdx75

Add a compatible string for power domains in sdx75.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/1690803007-8640-2-git-send-email-quic_rohiagar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agoMerge tag 'genpd-v6.5-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh...
Neil Armstrong [Mon, 31 Jul 2023 09:53:09 +0000 (11:53 +0200)]
Merge tag 'genpd-v6.5-rc1-1' of git://git./linux/kernel/git/ulfh/linux-pm into v6.6/drivers-genpd

Create the new genpd subsystem and start moving providers

There are currently ~60 users of the genpd provider interface, which
implementations are sprinkled across various subsystems. To help out with
maintenance and to gain a bit better control, this creates a new subsystem
(drivers/genpd) and moves some of the soc/platform specific providers in
here.

11 months agosoc: c3: Add support for power domains controller
Xianwei Zhao [Fri, 7 Jul 2023 00:37:09 +0000 (08:37 +0800)]
soc: c3: Add support for power domains controller

Add support for C3 Power controller. C3 power control
registers are in secure domain, and should be accessed by SMC.

Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230707003710.2667989-4-xianwei.zhao@amlogic.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agodt-bindings: power: add Amlogic C3 power domains
Xianwei Zhao [Fri, 7 Jul 2023 00:37:08 +0000 (08:37 +0800)]
dt-bindings: power: add Amlogic C3 power domains

Add devicetree binding document and related header file for Amlogic C3 secure power domains.

Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230707003710.2667989-3-xianwei.zhao@amlogic.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agosoc: amlogic: use name instead of index as criterion
Xianwei Zhao [Fri, 7 Jul 2023 00:37:07 +0000 (08:37 +0800)]
soc: amlogic: use name instead of index as criterion

The  variate 'index' could be equal to zero in some SoCs. Such as C3 SoC,
PWRC_C3_NNA_ID be defined zero. Use 'name' instead of 'index' as criterion.

Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
Link: https://lore.kernel.org/r/20230707003710.2667989-2-xianwei.zhao@amlogic.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
11 months agobus: sunxi-rsb: Convert to devm_platform_ioremap_resource()
Yangtao Li [Thu, 6 Jul 2023 07:20:36 +0000 (15:20 +0800)]
bus: sunxi-rsb: Convert to devm_platform_ioremap_resource()

Use devm_platform_ioremap_resource() to simplify code.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20230706072042.31296-1-frank.li@vivo.com
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
11 months agogenpd: Makefile: build imx
Peng Fan [Thu, 20 Jul 2023 09:04:43 +0000 (17:04 +0800)]
genpd: Makefile: build imx

The imx genpd was missed to be built out, add it in Makefile

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
11 months agoreset: hisilicon: Use dev_err_probe instead of dev_err
Wang Ming [Wed, 26 Jul 2023 11:45:45 +0000 (19:45 +0800)]
reset: hisilicon: Use dev_err_probe instead of dev_err

The probe process may generate EPROBE_DEFER. In this case,
dev_err_probe can still record err information.
This helps simplify code and standardize error output.

Signed-off-by: Wang Ming <machel@vivo.com>
Link: https://lore.kernel.org/r/20230726114555.5011-1-machel@vivo.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: reset-zynqmp: add support for Versal NET platform
Piyush Mehta [Fri, 21 Jul 2023 04:11:19 +0000 (09:41 +0530)]
reset: reset-zynqmp: add support for Versal NET platform

Updated the reset driver to support Versal NET platform.
As part of adding support for versal NET:
- Added Versal NET specific compatible string.
- Reset Id and number of resets.

Signed-off-by: Piyush Mehta <piyush.mehta@amd.com>
Link: https://lore.kernel.org/r/20230721041119.4058430-3-piyush.mehta@amd.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agodt-bindings: reset: Updated binding for Versal-NET reset driver
Piyush Mehta [Fri, 21 Jul 2023 04:11:18 +0000 (09:41 +0530)]
dt-bindings: reset: Updated binding for Versal-NET reset driver

Added dt-binding documentation for Versal NET platforms.

Versal Net is a new AMD/Xilinx  SoC.

The SoC and its architecture is based on the Versal ACAP device.
The Versal Net  device includes more security features in the
platform management controller (PMC) and increases the number
of CPUs in the application processing unit (APU) and the
real-time processing unit (RPU).

Signed-off-by: Piyush Mehta <piyush.mehta@amd.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230721041119.4058430-2-piyush.mehta@amd.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoreset: Explicitly include correct DT includes
Rob Herring [Fri, 14 Jul 2023 17:49:37 +0000 (11:49 -0600)]
reset: Explicitly include correct DT includes

The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Acked-by: Steen Hegelund <Steen.Hegelund@microchip.com>
Link: https://lore.kernel.org/r/20230714174939.4063667-1-robh@kernel.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
11 months agoMAINTAINERS: mfd: Un-support Maxim and Samsung PMIC drivers
Krzysztof Kozlowski [Fri, 14 Jul 2023 05:03:13 +0000 (07:03 +0200)]
MAINTAINERS: mfd: Un-support Maxim and Samsung PMIC drivers

Since few years no one is really paid to support drivers for: Maxim
MUICs/PMICs for Exynos based boards and Samsung PMICs.  Correct the
status to keep them as maintained.

Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20230714050313.8424-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11 months agofirmware: qcom_scm: Add missing extern specifier
Guru Das Srinagesh [Fri, 28 Jul 2023 00:42:49 +0000 (17:42 -0700)]
firmware: qcom_scm: Add missing extern specifier

Commit 3a99f121fe0b ("firmware: qcom: scm: Introduce pas_metadata
context") left out the `extern` specifier for the API it introduced, so
add it.

Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Link: https://lore.kernel.org/r/bce25c8e215f7cfc7b0780d6965d09f5efe1cc5f.1690503893.git.quic_gurus@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agofirmware: qcom_scm: Convert all symbols to EXPORT_SYMBOL_GPL
Guru Das Srinagesh [Fri, 28 Jul 2023 00:42:48 +0000 (17:42 -0700)]
firmware: qcom_scm: Convert all symbols to EXPORT_SYMBOL_GPL

The `qcom_scm` module is GPL v2-licenced and so there is no reason why
the APIs it exports should not be, too.

Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Reviewed-by: Trilok Soni <quic_tsoni@quicinc.com>
Link: https://lore.kernel.org/r/19d9ac0bf79f957574ef9b3b73246ea0113cc0fd.1690503893.git.quic_gurus@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
11 months agosoc/tegra: cbb: Remove unnecessary print function dev_err()
Jiapeng Chong [Sat, 6 May 2023 09:07:35 +0000 (17:07 +0800)]
soc/tegra: cbb: Remove unnecessary print function dev_err()

The print function dev_err() is redundant because platform_get_irq()
already prints an error.

./drivers/soc/tegra/cbb/tegra-cbb.c:130:3-10: line 130 is redundant because platform_get_irq() already prints an error.
./drivers/soc/tegra/cbb/tegra-cbb.c:140:2-9: line 140 is redundant because platform_get_irq() already prints an error.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4879
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
11 months agosoc/tegra: fuse: Sort includes alphabetically
Thierry Reding [Thu, 27 Jul 2023 14:32:46 +0000 (16:32 +0200)]
soc/tegra: fuse: Sort includes alphabetically

The includes were slightly out of order, so sort them correctly.

Signed-off-by: Thierry Reding <treding@nvidia.com>