Home
last modified time | relevance | path

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

123

/linux-6.8/Documentation/devicetree/bindings/arm/bcm/
Draspberrypi,bcm2835-firmware.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/arm/bcm/raspberrypi,bcm2835-firmware.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Raspberry Pi VideoCore firmware driver
10 - Eric Anholt <eric@anholt.net>
11 - Stefan Wahren <wahrenst@gmx.net>
17 const: raspberrypi,bcm2835-firmware
20 - compatible
25 - const: raspberrypi,bcm2835-firmware
[all …]
/linux-6.8/Documentation/devicetree/bindings/dma/
Dbrcm,bcm2835-dma.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/dma/brcm,bcm2835-dma.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: BCM2835 DMA controller
10 - Nicolas Saenz Julienne <nsaenz@kernel.org>
13 The BCM2835 DMA controller has 16 channels in total. Only the lower
15 VideoCore firmware (1,3,6,7 in the current firmware version). The channels
19 - $ref: dma-controller.yaml#
23 const: brcm,bcm2835-dma
[all …]
/linux-6.8/arch/arm/boot/dts/broadcom/
Dbcm2835-rpi.dtsi1 #include <dt-bindings/power/raspberrypi-power.h>
5 firmware: firmware { label
6 compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
7 #address-cells = <1>;
8 #size-cells = <1>;
11 dma-ranges;
15 compatible = "raspberrypi,bcm2835-power";
16 firmware = <&firmware>;
17 #power-domain-cells = <1>;
21 compatible = "brcm,bcm2835-vchiq";
[all …]
Dbcm2835-rpi-zero.dts1 // SPDX-License-Identifier: GPL-2.0+
6 /dts-v1/;
7 #include "bcm2835.dtsi"
8 #include "bcm2835-rpi.dtsi"
9 #include "bcm2835-rpi-common.dtsi"
10 #include "bcm283x-rpi-led-deprecated.dtsi"
11 #include "bcm283x-rpi-usb-otg.dtsi"
14 compatible = "raspberrypi,model-zero", "brcm,bcm2835";
25 * This is based on the official GPU firmware DT blob.
31 gpio-line-names = "ID_SDA",
[all …]
Dbcm2835-rpi-zero-w.dts1 // SPDX-License-Identifier: GPL-2.0+
6 /dts-v1/;
7 #include "bcm2835.dtsi"
8 #include "bcm2835-rpi.dtsi"
9 #include "bcm2835-rpi-common.dtsi"
10 #include "bcm283x-rpi-led-deprecated.dtsi"
11 #include "bcm283x-rpi-usb-otg.dtsi"
12 #include "bcm283x-rpi-wifi-bt.dtsi"
15 compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
25 stdout-path = "serial1:115200n8";
[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 …]
Dbcm2835-rpi-cm1-io1.dts1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3 #include "bcm2835-rpi-cm1.dtsi"
4 #include "bcm283x-rpi-usb-host.dtsi"
7 compatible = "raspberrypi,compute-module", "brcm,bcm2835";
13 * This is based on the official GPU firmware DT blob.
19 gpio-line-names = "GPIO0",
76 pinctrl-names = "default";
77 pinctrl-0 = <&gpioout &alt0>;
81 hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
[all …]
Dbcm2835-rpi-common.dtsi1 // SPDX-License-Identifier: GPL-2.0
4 * bcm2835, bcm2836 and bcm2837 implementations that interact with RPi's
5 * firmware interface.
8 #include <dt-bindings/power/raspberrypi-power.h>
10 &firmware {
12 compatible = "raspberrypi,firmware-clocks";
13 #clock-cells = <1>;
20 clock-names = "pixel", "hdmi";
24 power-domains = <&power RPI_POWER_DOMAIN_V3D>;
Dbcm2711-rpi.dtsi1 // SPDX-License-Identifier: GPL-2.0
2 #include "bcm2835-rpi.dtsi"
4 #include <dt-bindings/power/raspberrypi-power.h>
5 #include <dt-bindings/reset/raspberrypi,firmware-reset.h>
22 &firmware {
24 compatible = "raspberrypi,firmware-clocks";
25 #clock-cells = <1>;
29 compatible = "raspberrypi,firmware-gpio";
30 gpio-controller;
31 #gpio-cells = <2>;
[all …]
/linux-6.8/drivers/staging/vc04_services/
DKconfig1 # SPDX-License-Identifier: GPL-2.0
9 the BCM2835 family of products which is used
15 tristate "BCM2835 VCHIQ"
19 Broadcom BCM2835 and similar SoCs have a VPU called VideoCore. This config
21 the kernel and the firmware running on VideoCore. Other drivers use this
24 API, which is in turn used by several multimedia services on the BCM2835
38 userspace but only by other kernel modules (like bcm2835-audio). If not
43 source "drivers/staging/vc04_services/bcm2835-audio/Kconfig"
45 source "drivers/staging/vc04_services/bcm2835-camera/Kconfig"
47 source "drivers/staging/vc04_services/vchiq-mmal/Kconfig"
/linux-6.8/Documentation/devicetree/bindings/soc/bcm/
Draspberrypi,bcm2835-power.txt5 - compatible: Should be "raspberrypi,bcm2835-power".
6 - firmware: Reference to the RPi firmware device node.
7 - #power-domain-cells: Should be <1>, we providing multiple power domains.
38 compatible = "raspberrypi,bcm2835-power";
39 firmware = <&firmware>;
40 #power-domain-cells = <1>;
46 power-domains = <&power RPI_POWER_DOMAIN_USB>;
Dbrcm,bcm2835-vchiq.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-vchiq.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VCHIQ firmware services
10 - Nicolas Saenz Julienne <nsaenz@kernel.org>
14 to communicate with the VPU-side OS services.
19 - description: BCM2835 based boards
21 - enum:
22 - brcm,bcm2835-vchiq
[all …]
/linux-6.8/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>
37 * The Raspberry Pi firmware uses the RSTS register to know which partition
39 * Partition 63 is a special partition used by the firmware to indicate halt.
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()
[all …]
/linux-6.8/drivers/gpu/drm/vc4/
Dvc4_drv.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2014-2015 Broadcom
11 * OpenGL ES 2.0-compatible 3D engine called V3D, and a highly
16 * compute shader-style jobs using the same shader processor as is
26 #include <linux/dma-mapping.h>
39 #include <soc/bcm2835/raspberrypi-firmware.h>
67 int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8); in vc4_dumb_fixup_args()
69 if (args->pitch < min_pitch) in vc4_dumb_fixup_args()
70 args->pitch = min_pitch; in vc4_dumb_fixup_args()
72 if (args->size < args->pitch * args->height) in vc4_dumb_fixup_args()
[all …]
/linux-6.8/drivers/pmdomain/bcm/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
5 bool "BCM2835 power domain driver"
11 This enables support for the BCM2835 power domains and reset
13 firmware means that Linux usage of the same power domain
23 or disabled via the RPi firmware.
Draspberrypi-power.c1 // SPDX-License-Identifier: GPL-2.0
13 #include <dt-bindings/power/raspberrypi-power.h>
14 #include <soc/bcm2835/raspberrypi-firmware.h>
17 * Firmware indices for the old power domains interface. Only a few
48 * Asks the firmware to enable or disable power on a specific power
55 packet.domain = rpi_domain->domain; in rpi_firmware_set_power()
57 return rpi_firmware_property(rpi_domain->fw, in rpi_firmware_set_power()
58 rpi_domain->old_interface ? in rpi_firmware_set_power()
83 struct rpi_power_domain *dom = &rpi_domains->domains[xlate_index]; in rpi_common_init_power_domain()
85 dom->fw = rpi_domains->fw; in rpi_common_init_power_domain()
[all …]
/linux-6.8/drivers/staging/vc04_services/bcm2835-audio/
DKconfig1 # SPDX-License-Identifier: GPL-2.0
3 tristate "BCM2835 Audio"
8 Say Y or M if you want to support BCM2835 built in audio.
10 the VCHIQ messaging interface between the kernel and the firmware
/linux-6.8/drivers/clk/bcm/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
15 bool "Broadcom BCM2835 clock support"
20 Enable common clock framework support for Broadcom BCM2835
107 tristate "Raspberry Pi firmware based clock support"
110 Enable common clock framework support for Raspberry Pi's firmware
Dclk-raspberrypi.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Raspberry Pi driver for firmware controlled clocks
5 * Even though clk-bcm2835 provides an interface to the hardware registers for
6 * the system clocks we've had to factor out 'pllb' as the firmware 'owns' it.
8 * over-temperature and under-voltage protections provided by the firmware.
14 #include <linux/clk-provider.h>
19 #include <soc/bcm2835/raspberrypi-firmware.h>
35 [RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb",
46 struct rpi_firmware *firmware; member
92 * HDMI connector, the firmware will skip the HSM
[all …]
/linux-6.8/drivers/firmware/
Draspberrypi.c1 // SPDX-License-Identifier: GPL-2.0
3 * Defines interfaces for interacting with the Raspberry Pi firmware's
9 #include <linux/dma-mapping.h>
17 #include <soc/bcm2835/raspberrypi-firmware.h>
41 complete(&fw->c); in response_callback()
45 * Sends a request to the firmware through the BCM2835 mailbox driver,
57 reinit_completion(&fw->c); in rpi_firmware_transaction()
58 ret = mbox_send_message(fw->chan, &message); in rpi_firmware_transaction()
60 if (wait_for_completion_timeout(&fw->c, HZ)) { in rpi_firmware_transaction()
63 ret = -ETIMEDOUT; in rpi_firmware_transaction()
[all …]
/linux-6.8/drivers/mailbox/
Dbcm2835-mailbox.c1 // SPDX-License-Identifier: GPL-2.0
4 * Copyright (C) 2013-2014 Lubomir Rintel
8 * - arch/arm/mach-bcm2708/vcio.c file written by Gray Girling that was
9 * obtained from branch "rpi-3.6.y" of git://github.com/raspberrypi/
11 * - drivers/mailbox/bcm2835-ipc.c by Lubomir Rintel at
12 * https://github.com/hackerspace/rpi-linux/blob/lr-raspberry-pi/drivers/
13 * mailbox/bcm2835-ipc.c
14 * - documentation available on the following web site:
15 * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface
19 #include <linux/dma-mapping.h>
[all …]
/linux-6.8/Documentation/devicetree/bindings/input/touchscreen/
Draspberrypi,firmware-ts.txt1 Raspberry Pi firmware based 7" touchscreen
5 - compatible: "raspberrypi,firmware-ts"
8 - firmware: Reference to RPi's firmware device node
9 - touchscreen-size-x: See touchscreen.txt
10 - touchscreen-size-y: See touchscreen.txt
11 - touchscreen-inverted-x: See touchscreen.txt
12 - touchscreen-inverted-y: See touchscreen.txt
13 - touchscreen-swapped-x-y: See touchscreen.txt
17 firmware: firmware-rpi {
18 compatible = "raspberrypi,bcm2835-firmware";
[all …]
/linux-6.8/Documentation/devicetree/bindings/gpio/
Draspberrypi,firmware-gpio.txt3 The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The
4 firmware exposes a mailbox interface that allows the ARM core to control the
8 firmware node.
12 - compatible : Should be "raspberrypi,firmware-gpio"
13 - gpio-controller : Marks the device node as a gpio controller
14 - #gpio-cells : Should be two. The first cell is the pin number, and
21 firmware: firmware-rpi {
22 compatible = "raspberrypi,bcm2835-firmware";
26 compatible = "raspberrypi,firmware-gpio";
27 gpio-controller;
[all …]
/linux-6.8/drivers/i2c/busses/
Di2c-bcm2835.c1 // SPDX-License-Identifier: GPL-2.0
3 * BCM2835 master mode driver
8 #include <linux/clk-provider.h>
27 * 16-bit field for the number of SCL cycles to wait after rising SCL
76 writel(val, i2c_dev->regs + reg); in bcm2835_i2c_writel()
81 return readl(i2c_dev->regs + reg); in bcm2835_i2c_readl()
104 return -EINVAL; in clk_bcm2835_i2c_calc_divider()
116 if (divider == -EINVAL) in clk_bcm2835_i2c_set_rate()
117 return -EINVAL; in clk_bcm2835_i2c_set_rate()
119 bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_DIV, divider); in clk_bcm2835_i2c_set_rate()
[all …]
/linux-6.8/drivers/staging/vc04_services/interface/
DTESTING7 - BCM2835 ( e.g. Raspberry Pi Zero W )
8 - BCM2836 ( e.g. Raspberry Pi 2 )
9 - BCM2837 ( e.g. Raspberry Pi 3 B+ )
14 There are no specific requirements to the VideoCore firmware to get VCHIQ
24 1. BCM2835 target SoC (ARM 32 bit)
44 Command: vchiq_test -f 10
47 Functional test - iters:10
55 Command: vchiq_test -p 1
58 Ping test - service:echo, iters:1, version 3
59 vchi ping (size 0) -> 57.000000us
[all …]

123