Home
last modified time | relevance | path

Searched +full:bcm2835 +full:- +full:pm (Results 1 – 25 of 25) sorted by relevance

/linux-6.12.1/drivers/mfd/
Dbcm2835-pm.c1 // SPDX-License-Identifier: GPL-2.0+
3 * PM MFD driver for Broadcom BCM2835
5 * This driver binds to the PM block and creates the MFD device for
11 #include <linux/mfd/bcm2835-pm.h>
21 { .name = "bcm2835-wdt" },
25 { .name = "bcm2835-power" },
29 struct bcm2835_pm *pm) in bcm2835_pm_get_pdata() argument
31 if (of_property_present(pm->dev->of_node, "reg-names")) { in bcm2835_pm_get_pdata()
34 pm->base = devm_platform_ioremap_resource_byname(pdev, "pm"); in bcm2835_pm_get_pdata()
35 if (IS_ERR(pm->base)) in bcm2835_pm_get_pdata()
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0
6 88pm860x-objs := 88pm860x-core.o 88pm860x-i2c.o
7 obj-$(CONFIG_MFD_88PM860X) += 88pm860x.o
8 obj-$(CONFIG_MFD_88PM800) += 88pm800.o 88pm80x.o
9 obj-$(CONFIG_MFD_88PM805) += 88pm805.o 88pm80x.o
10 obj-$(CONFIG_MFD_88PM886_PMIC) += 88pm886.o
11 obj-$(CONFIG_MFD_ACT8945A) += act8945a.o
12 obj-$(CONFIG_MFD_SM501) += sm501.o
13 obj-$(CONFIG_ARCH_BCM2835) += bcm2835-pm.o
14 obj-$(CONFIG_MFD_BCM590XX) += bcm590xx.o
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/soc/bcm/
Dbrcm,bcm2835-pm.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: BCM2835 PM (Power domains, watchdog)
10 The PM block controls power domains and some reset lines, and includes a
14 - Nicolas Saenz Julienne <nsaenz@kernel.org>
17 - $ref: /schemas/watchdog/watchdog.yaml#
22 - enum:
23 - brcm,bcm2835-pm
[all …]
/linux-6.12.1/arch/arm/boot/dts/broadcom/
Dbcm2835-common.dtsi1 // SPDX-License-Identifier: GPL-2.0
4 * bcm2835, bcm2836 and bcm2837 implementations.
8 interrupt-parent = <&intc>;
11 dma: dma-controller@7e007000 {
12 compatible = "brcm,bcm2835-dma";
25 /* dma channel 11-14 share one irq */
32 interrupt-names = "dma0",
47 "dma-shared-all";
48 #dma-cells = <1>;
49 brcm,dma-channel-mask = <0x7f35>;
[all …]
Dbcm2711.dtsi1 // SPDX-License-Identifier: GPL-2.0
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/soc/bcm2835-pm.h>
10 #address-cells = <2>;
11 #size-cells = <1>;
13 interrupt-parent = <&gicv2>;
16 compatible = "brcm,bcm2711-vc5";
20 clk_27MHz: clk-27M {
21 #clock-cells = <0>;
22 compatible = "fixed-clock";
[all …]
Dbcm283x.dtsi1 #include <dt-bindings/pinctrl/bcm2835.h>
2 #include <dt-bindings/clock/bcm2835.h>
3 #include <dt-bindings/clock/bcm2835-aux.h>
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/interrupt-controller/irq.h>
6 #include <dt-bindings/soc/bcm2835-pm.h>
8 /* firmware-provided startup stubs live here, where the secondary CPUs are
14 * bcm2835 and bcm2836 implementations, leaving the CPU configuration to
15 * bcm2835.dtsi and bcm2836.dtsi.
19 compatible = "brcm,bcm2835";
[all …]
/linux-6.12.1/drivers/watchdog/
Dbcm2835_wdt.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Watchdog driver for Broadcom BCM2835
6 * branch "rpi-3.6.y" of git://github.com/raspberrypi/linux.git was used
7 * as a hardware reference for the Broadcom BCM2835 watchdog timer.
15 #include <linux/mfd/bcm2835-pm.h>
61 cur = readl(wdt->base + PM_RSTC); in bcm2835_wdt_is_running()
72 spin_lock_irqsave(&wdt->lock, flags); in bcm2835_wdt_start()
74 writel_relaxed(PM_PASSWORD | (SECS_TO_WDOG_TICKS(wdog->timeout) & in bcm2835_wdt_start()
75 PM_WDOG_TIME_SET), wdt->base + PM_WDOG); in bcm2835_wdt_start()
76 cur = readl_relaxed(wdt->base + PM_RSTC); in bcm2835_wdt_start()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
16 on-line as fast as possible after a lock-up. There's both a watchdog
21 <file:Documentation/watchdog/watchdog-api.rst> in the kernel source.
51 bool "Update boot-enabled watchdog until userspace takes over"
77 bool "Enable watchdog hrtimer-based pretimeouts"
198 tristate "ChromeOS EC-based watchdog"
252 tristate "Watchdog device controlled through GPIO-line"
257 controlled through GPIO-line.
280 will be called lenovo-se10-wdt.
394 module will be called mlx-wdt.
[all …]
/linux-6.12.1/drivers/pmdomain/bcm/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Broadcom PM Domains"
5 bool "BCM2835 power domain driver"
8 select PM_GENERIC_DOMAINS if PM
11 This enables support for the BCM2835 power domains and reset
20 select PM_GENERIC_DOMAINS if PM
29 select PM_GENERIC_DOMAINS if PM
37 select PM_GENERIC_DOMAINS if PM
Dbcm2835-power.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Power domain driver for Broadcom BCM2835
8 #include <dt-bindings/soc/bcm2835-pm.h>
12 #include <linux/mfd/bcm2835-pm.h>
16 #include <linux/reset-controller.h>
109 #define PM_READ(reg) readl(power->base + (reg))
110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg))
140 /* PM registers. */
154 void __iomem *base = power->asb; in bcm2835_asb_control()
163 if (power->rpivid_asb) in bcm2835_asb_control()
[all …]
/linux-6.12.1/drivers/media/platform/broadcom/
DKconfig1 # SPDX-License-Identifier: GPL-2.0
6 depends on COMMON_CLK && PM
13 Say Y here to enable support for the BCM283x/BCM271x CSI-2 receiver.
14 This is a V4L2 driver that controls the CSI-2 receiver directly,
17 This driver is mutually exclusive with the use of bcm2835-camera. The
19 firmware if it finds a DT node using it, and bcm2835-camera will
23 called bcm2835-unicam.
Dbcm2835-unicam.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2017-2020 - Raspberry Pi (Trading) Ltd.
6 * Copyright (C) 2024 - Ideas on Board
18 * There are two camera drivers in the kernel for BCM283x - this one and
19 * bcm2835-camera (currently in staging).
21 * This driver directly controls the Unicam peripheral - there is no
22 * involvement with the VideoCore firmware. Unicam receives CSI-2 or CCP2 data
37 #include <linux/dma-mapping.h>
49 #include <media/mipi-csi2.h>
50 #include <media/v4l2-async.h>
[all …]
/linux-6.12.1/drivers/tty/serial/8250/
D8250_bcm2835aux.c1 // SPDX-License-Identifier: GPL-2.0
10 * The bcm2835aux is capable of RTS auto flow-control, but this driver doesn't
38 * struct bcm2835aux_data - driver private data of BCM2835 auxiliary UART
51 if (!(up->port.rs485.flags & SER_RS485_RX_DURING_TX)) { in bcm2835aux_rs485_start_tx()
52 struct bcm2835aux_data *data = dev_get_drvdata(up->port.dev); in bcm2835aux_rs485_start_tx()
54 data->cntl &= ~BCM2835_AUX_UART_CNTL_RXEN; in bcm2835aux_rs485_start_tx()
55 serial_out(up, BCM2835_AUX_UART_CNTL, data->cntl); in bcm2835aux_rs485_start_tx()
60 * flags besides RTS. So no need for a read-modify-write. in bcm2835aux_rs485_start_tx()
62 if (up->port.rs485.flags & SER_RS485_RTS_ON_SEND) in bcm2835aux_rs485_start_tx()
70 if (up->port.rs485.flags & SER_RS485_RTS_AFTER_SEND) in bcm2835aux_rs485_stop_tx()
[all …]
D8250_port.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Base port operations for 8250/16550-type serial ports
244 * tx_loadsz is set to 63-bytes instead of 64-bytes to implement
245 * workaround of errata A-008006 which states that tx_loadsz should
257 .name = "Palmchip BK-3103",
343 offset = offset << p->regshift; in hub6_serial_in()
344 outb(p->hub6 - 1 + offset, p->iobase); in hub6_serial_in()
345 return inb(p->iobase + 1); in hub6_serial_in()
350 offset = offset << p->regshift; in hub6_serial_out()
351 outb(p->hub6 - 1 + offset, p->iobase); in hub6_serial_out()
[all …]
/linux-6.12.1/drivers/pwm/
Dpwm-bcm2835.c1 // SPDX-License-Identifier: GPL-2.0
42 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_request()
43 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_request()
44 value |= (PWM_MODE << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_request()
45 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_request()
55 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_free()
56 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_free()
57 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_free()
82 * <=> period <= ceil((U32_MAX * NSEC_PER_SEC + NSEC_PER_SEC/2) / rate) - 1 in bcm2835_pwm_apply()
84 max_period = DIV_ROUND_UP_ULL((u64)U32_MAX * NSEC_PER_SEC + NSEC_PER_SEC / 2, pc->rate) - 1; in bcm2835_pwm_apply()
[all …]
/linux-6.12.1/drivers/gpu/drm/vc4/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
11 depends on PM
25 VC4 GPU, such as the Raspberry Pi or other BCM2708/BCM2835.
51 Documentation/dev-tools/kunit/.
Dvc4_dsi.c1 // SPDX-License-Identifier: GPL-2.0-only
9 * BCM2835 contains two DSI modules, DSI0 and DSI1. DSI0 is a
10 * single-lane DSI controller, while DSI1 is a more modern 4-lane DSI
16 * This driver has been tested for DSI1 video-mode display only
21 #include <linux/clk-provider.h>
25 #include <linux/dma-mapping.h>
146 * of going to LP-STOP.
149 /* Transmit blanking packet only during vblank, instead of allowing LP-STOP. */
151 /* Transmit blanking packet only during HFP, instead of allowing LP-STOP. */
153 /* Transmit blanking packet only during HBP, instead of allowing LP-STOP. */
[all …]
Dvc4_v3d.c1 // SPDX-License-Identifier: GPL-2.0-only
99 struct drm_debugfs_entry *entry = m->private; in vc4_v3d_debugfs_ident()
100 struct drm_device *dev = entry->dev; in vc4_v3d_debugfs_ident()
130 if (WARN_ON_ONCE(vc4->is_vc5)) in vc4_v3d_pm_get()
131 return -ENODEV; in vc4_v3d_pm_get()
133 mutex_lock(&vc4->power_lock); in vc4_v3d_pm_get()
134 if (vc4->power_refcount++ == 0) { in vc4_v3d_pm_get()
135 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get()
138 vc4->power_refcount--; in vc4_v3d_pm_get()
139 mutex_unlock(&vc4->power_lock); in vc4_v3d_pm_get()
[all …]
Dvc4_hdmi.c1 // SPDX-License-Identifier: GPL-2.0-only
12 * The HDMI core has a state machine and a PHY. On BCM2835, most of
21 * and transfers them over an internal MAI (multi-channel audio
52 #include <sound/hdmi-codec.h>
116 struct drm_display_info *display = &vc4_hdmi->connector.display_info; in vc4_hdmi_supports_scrambling()
118 lockdep_assert_held(&vc4_hdmi->mutex); in vc4_hdmi_supports_scrambling()
120 if (!display->is_hdmi) in vc4_hdmi_supports_scrambling()
123 if (!display->hdmi.scdc.supported || in vc4_hdmi_supports_scrambling()
124 !display->hdmi.scdc.scrambling.supported) in vc4_hdmi_supports_scrambling()
141 struct drm_debugfs_entry *entry = m->private; in vc4_hdmi_debugfs_regs()
[all …]
/linux-6.12.1/arch/arm64/
DKconfig.platforms1 # SPDX-License-Identifier: GPL-2.0-only
19 bool "Allwinner sunxi 64-bit SoC Family"
40 This enables support for Apple's in-house ARM SoC family, starting
49 bool "Broadcom BCM2835 family"
74 Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
77 This enables support for Broadcom BCA ARM-based broadband chipsets,
81 bool "Broadcom Set-Top-Box SoCs"
112 select PM_GENERIC_DOMAINS if PM
122 This enables support for the Microchip Sparx5 ARMv8-based
123 SoC family of TSN-capable gigabit switches.
[all …]
/linux-6.12.1/drivers/mailbox/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
6 on-chip processors through queued messages and interrupt driven
37 will be discovered and possibly managed at probe-time.
71 running on the Cortex-M3 rWTM secure processor of the Armada 37xx
88 This driver provides support for inter-processor communication
114 tristate "BCM2835 Mailbox"
119 BCM2835 Mailbox.
176 module will be called mailbox-mpfs.
185 providing an interface for invoking the inter-process communication
198 tristate "APM SoC X-Gene SLIMpro Mailbox Controller"
[all …]
/linux-6.12.1/drivers/irqchip/
DMakefile1 # SPDX-License-Identifier: GPL-2.0
2 obj-$(CONFIG_IRQCHIP) += irqchip.o
4 obj-$(CONFIG_AL_FIC) += irq-al-fic.o
5 obj-$(CONFIG_ALPINE_MSI) += irq-alpine-msi.o
6 obj-$(CONFIG_ATH79) += irq-ath79-cpu.o
7 obj-$(CONFIG_ATH79) += irq-ath79-misc.o
8 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o
9 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o
10 obj-$(CONFIG_ARCH_ACTIONS) += irq-owl-sirq.o
11 obj-$(CONFIG_DAVINCI_CP_INTC) += irq-davinci-cp-intc.o
[all …]
/linux-6.12.1/drivers/mmc/host/
Dsdhci-iproc.c1 // SPDX-License-Identifier: GPL-2.0-only
14 #include "sdhci-pltfm.h"
36 u32 val = readl(host->ioaddr + reg); in sdhci_iproc_readl()
39 mmc_hostname(host->mmc), reg, val); in sdhci_iproc_readl()
50 if ((reg == SDHCI_TRANSFER_MODE) && iproc_host->is_cmd_shadowed) { in sdhci_iproc_readw()
52 val = iproc_host->shadow_cmd; in sdhci_iproc_readw()
54 iproc_host->is_blk_shadowed) { in sdhci_iproc_readw()
56 val = iproc_host->shadow_blk; in sdhci_iproc_readw()
74 mmc_hostname(host->mmc), reg, val); in sdhci_iproc_writel()
76 writel(val, host->ioaddr + reg); in sdhci_iproc_writel()
[all …]
/linux-6.12.1/arch/arm/
DKconfig.debug1 # SPDX-License-Identifier: GPL-2.0
44 once the kernel has booted up - it's a one time check.
104 1 - undefined instruction events
105 2 - system calls
106 4 - invalid data aborts
107 8 - SIGSEGV faults
108 16 - SIGBUS faults
112 bool "Kernel low-level debugging functions (read help!)"
125 prompt "Kernel low-level debugging port"
129 bool "Kernel low-level debugging messages via Alpine UART0"
[all …]
/linux-6.12.1/
DMAINTAINERS5 ---------------------------------------------------
21 W: *Web-page* with status/info
23 B: URI for where to file *bugs*. A web-page with detailed bug
28 patches to the given subsystem. This is either an in-tree file,
29 or a URI. See Documentation/maintainer/maintainer-entry-profile.rst
46 N: [^a-z]tegra all files whose path contains tegra
64 ----------------
83 3WARE SAS/SATA-RAID SCSI DRIVERS (3W-XXXX, 3W-9XXX, 3W-SAS)
85 L: linux-scsi@vger.kernel.org
88 F: drivers/scsi/3w-*
[all …]