mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 19:13:39 -04:00
Merge tag 'arm-drivers-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM driver updates from Arnd Bergmann:
"The drivers branch for 6.1 is a bit larger than for most releases.
Most of the changes come from SoC maintainers for the drivers/soc
subsystem:
- A new driver for error handling on the NVIDIA Tegra 'control
backbone' bus.
- A new driver for Qualcomm LLCC/DDR bandwidth measurement
- New Rockchip rv1126 and rk3588 power domain drivers
- DT binding updates for memory controllers, older Rockchip SoCs,
various Mediatek devices, Qualcomm SCM firmware
- Minor updates to Hisilicon LPC bus, the Allwinner SRAM driver, the
Apple rtkit firmware driver, Tegra firmware
- Minor updates for SoC drivers (Samsung, Mediatek, Renesas, Tegra,
Qualcomm, Broadcom, NXP, ...)
There are also some separate subsystem with downstream maintainers
that merge updates this way:
- Various updates and new drivers in the memory controller subsystem
for Mediatek and Broadcom SoCs
- Small set of changes in preparation to add support for FF-A v1.1
specification later, in the Arm FF-A firmware subsystem
- debugfs support in the PSCI firmware subsystem"
* tag 'arm-drivers-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (149 commits)
ARM: remove check for CONFIG_DEBUG_LL_SER3
firmware/psci: Add debugfs support to ease debugging
firmware/psci: Print a warning if PSCI doesn't accept PC mode
dt-bindings: memory: snps,dw-umctl2-ddrc: Extend schema with IRQs/resets/clocks props
dt-bindings: memory: snps,dw-umctl2-ddrc: Replace opencoded numbers with macros
dt-bindings: memory: snps,dw-umctl2-ddrc: Use more descriptive device name
dt-bindings: memory: synopsys,ddrc-ecc: Detach Zynq DDRC controller support
soc: sunxi: sram: Add support for the D1 system control
soc: sunxi: sram: Export the LDO control register
soc: sunxi: sram: Save a pointer to the OF match data
soc: sunxi: sram: Return void from the release function
soc: apple: rtkit: Add apple_rtkit_poll
soc: imx: add i.MX93 media blk ctrl driver
soc: imx: add i.MX93 SRC power domain driver
soc: imx: imx8m-blk-ctrl: Use genpd_xlate_onecell
soc: imx: imx8mp-blk-ctrl: handle PCIe PHY resets
soc: imx: imx8m-blk-ctrl: add i.MX8MP VPU blk ctrl
soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV_MWR
soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
soc: imx: add icc paths for i.MX8MP media blk ctrl
...
This commit is contained in:
@@ -11,6 +11,11 @@
|
||||
|
||||
#if IS_ENABLED(CONFIG_MTK_SMI)
|
||||
|
||||
enum iommu_atf_cmd {
|
||||
IOMMU_ATF_CMD_CONFIG_SMI_LARB, /* For mm master to en/disable iommu */
|
||||
IOMMU_ATF_CMD_MAX,
|
||||
};
|
||||
|
||||
#define MTK_SMI_MMU_EN(port) BIT(port)
|
||||
|
||||
struct mtk_smi_larb_iommu {
|
||||
|
||||
@@ -58,6 +58,7 @@ u32 tegra_read_chipid(void);
|
||||
u8 tegra_get_chip_id(void);
|
||||
u8 tegra_get_platform(void);
|
||||
bool tegra_is_silicon(void);
|
||||
int tegra194_miscreg_mask_serror(void);
|
||||
#else
|
||||
static struct tegra_sku_info tegra_sku_info __maybe_unused;
|
||||
|
||||
@@ -95,6 +96,11 @@ static inline bool tegra_is_silicon(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline int tegra194_miscreg_mask_serror(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct device *tegra_soc_device_register(void);
|
||||
|
||||
47
include/soc/tegra/tegra-cbb.h
Normal file
47
include/soc/tegra/tegra-cbb.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved
|
||||
*/
|
||||
|
||||
#ifndef TEGRA_CBB_H
|
||||
#define TEGRA_CBB_H
|
||||
|
||||
#include <linux/list.h>
|
||||
|
||||
struct tegra_cbb_error {
|
||||
const char *code;
|
||||
const char *source;
|
||||
const char *desc;
|
||||
};
|
||||
|
||||
struct tegra_cbb {
|
||||
struct device *dev;
|
||||
const struct tegra_cbb_ops *ops;
|
||||
struct list_head node;
|
||||
};
|
||||
|
||||
struct tegra_cbb_ops {
|
||||
int (*debugfs_show)(struct tegra_cbb *cbb, struct seq_file *s, void *v);
|
||||
int (*interrupt_enable)(struct tegra_cbb *cbb);
|
||||
void (*error_enable)(struct tegra_cbb *cbb);
|
||||
void (*fault_enable)(struct tegra_cbb *cbb);
|
||||
void (*stall_enable)(struct tegra_cbb *cbb);
|
||||
void (*error_clear)(struct tegra_cbb *cbb);
|
||||
u32 (*get_status)(struct tegra_cbb *cbb);
|
||||
};
|
||||
|
||||
int tegra_cbb_get_irq(struct platform_device *pdev, unsigned int *nonsec_irq,
|
||||
unsigned int *sec_irq);
|
||||
__printf(2, 3)
|
||||
void tegra_cbb_print_err(struct seq_file *file, const char *fmt, ...);
|
||||
|
||||
void tegra_cbb_print_cache(struct seq_file *file, u32 cache);
|
||||
void tegra_cbb_print_prot(struct seq_file *file, u32 prot);
|
||||
int tegra_cbb_register(struct tegra_cbb *cbb);
|
||||
|
||||
void tegra_cbb_fault_enable(struct tegra_cbb *cbb);
|
||||
void tegra_cbb_stall_enable(struct tegra_cbb *cbb);
|
||||
void tegra_cbb_error_clear(struct tegra_cbb *cbb);
|
||||
u32 tegra_cbb_get_status(struct tegra_cbb *cbb);
|
||||
|
||||
#endif /* TEGRA_CBB_H */
|
||||
Reference in New Issue
Block a user