Home
last modified time | relevance | path

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

12

/Linux-v5.10/Documentation/devicetree/bindings/display/
Dbrcm,bcm2835-vc4.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-vc4.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) GPU
10 - Eric Anholt <eric@anholt.net>
13 The VC4 device present on the Raspberry Pi includes a display system
20 - brcm,bcm2711-vc5
21 - brcm,bcm2835-vc4
22 - brcm,cygnus-vc4
[all …]
Dbrcm,bcm2835-pixelvalve0.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-pixelvalve0.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) PixelValve
10 - Eric Anholt <eric@anholt.net>
15 - brcm,bcm2835-pixelvalve0
16 - brcm,bcm2835-pixelvalve1
17 - brcm,bcm2835-pixelvalve2
18 - brcm,bcm2711-pixelvalve0
[all …]
Dbrcm,bcm2835-vec.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-vec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) VEC
10 - Eric Anholt <eric@anholt.net>
14 const: brcm,bcm2835-vec
26 - compatible
27 - reg
28 - clocks
[all …]
Dbrcm,bcm2835-v3d.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-v3d.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) V3D GPU
10 - Eric Anholt <eric@anholt.net>
15 - brcm,bcm2835-v3d
16 - brcm,cygnus-v3d
28 - compatible
29 - reg
[all …]
Dbrcm,bcm2835-txp.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-txp.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) TXP (writeback) Controller
10 - Eric Anholt <eric@anholt.net>
14 const: brcm,bcm2835-txp
23 - compatible
24 - reg
25 - interrupts
[all …]
Dbrcm,bcm2835-dpi.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-dpi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) DPI Controller
10 - Eric Anholt <eric@anholt.net>
14 const: brcm,bcm2835-dpi
21 - description: The core clock the unit runs on
22 - description: The pixel clock that feeds the pixelvalve
24 clock-names:
[all …]
Dbrcm,bcm2835-hvs.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-hvs.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) Hardware Video Scaler
10 - Eric Anholt <eric@anholt.net>
15 - brcm,bcm2711-hvs
16 - brcm,bcm2835-hvs
29 - compatible
30 - reg
[all …]
Dbrcm,bcm2835-dsi0.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-dsi0.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) DSI Controller
10 - Eric Anholt <eric@anholt.net>
13 - $ref: dsi-controller.yaml#
16 "#clock-cells":
21 - brcm,bcm2835-dsi0
22 - brcm,bcm2835-dsi1
[all …]
Dbrcm,bcm2835-hdmi.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-hdmi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Broadcom VC4 (VideoCore4) HDMI Controller
10 - Eric Anholt <eric@anholt.net>
14 const: brcm,bcm2835-hdmi
18 - description: HDMI register range
19 - description: HD register range
26 - description: The pixel clock
[all …]
/Linux-v5.10/arch/arm/boot/dts/
Dbcm2835-common.dtsi1 // SPDX-License-Identifier: GPL-2.0
4 * bcm2835, bcm2836 and bcm2837 implementations.
8 interrupt-parent = <&intc>;
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>;
52 intc: interrupt-controller@7e00b200 {
[all …]
Dbcm2711-rpi-4-b.dts1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
4 #include "bcm2835-rpi.dtsi"
5 #include "bcm283x-rpi-usb-peripheral.dtsi"
7 #include <dt-bindings/reset/raspberrypi,firmware-reset.h>
10 compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
15 stdout-path = "serial1:115200n8";
38 default-state = "keep";
39 linux,default-trigger = "default-on";
43 wifi_pwrseq: wifi-pwrseq {
[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>;
15 vc4: gpu { label
16 compatible = "brcm,bcm2711-vc5";
20 clk_27MHz: clk-27M {
21 #clock-cells = <0>;
[all …]
/Linux-v5.10/drivers/gpu/drm/vc4/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "Broadcom VC4 Graphics"
18 VC4 GPU, such as the Raspberry Pi or other BCM2708/BCM2835.
25 bool "Broadcom VC4 HDMI CEC Support"
29 Choose this option if you have a Broadcom VC4 GPU
Dvc4_v3d.c1 // SPDX-License-Identifier: GPL-2.0-only
101 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_v3d_debugfs_ident()
102 struct drm_device *dev = node->minor->dev; in vc4_v3d_debugfs_ident()
103 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_ident() local
104 int ret = vc4_v3d_pm_get(vc4); in vc4_v3d_debugfs_ident()
119 vc4_v3d_pm_put(vc4); in vc4_v3d_debugfs_ident()
130 vc4_v3d_pm_get(struct vc4_dev *vc4) in vc4_v3d_pm_get() argument
132 mutex_lock(&vc4->power_lock); in vc4_v3d_pm_get()
133 if (vc4->power_refcount++ == 0) { in vc4_v3d_pm_get()
134 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get()
[all …]
Dvc4_dpi.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * DOC: VC4 DPI module
9 * The VC4 DPI hardware supports MIPI DPI type 4 and Nokia ViSSI
10 * signals. On BCM2835, these can be routed out to GPIO0-27 with the
41 /* The format field takes the ORDER-shuffled pixel valve data and
77 /* Power gate to the device, full reset at 0 -> 1 transition */
98 #define DPI_READ(offset) readl(dpi->regs + (offset))
99 #define DPI_WRITE(offset, val) writel(val, dpi->regs + (offset))
101 /* VC4 DPI encoder KMS struct */
121 struct vc4_dpi *dpi = vc4_encoder->dpi; in vc4_dpi_encoder_disable()
[all …]
Dvc4_drv.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2014-2015 Broadcom
8 * DOC: Broadcom VC4 Graphics Driver
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>
44 #define DRIVER_NAME "vc4"
45 #define DRIVER_DESC "Broadcom VC4 graphics"
58 map = devm_ioremap_resource(&dev->dev, res); in vc4_ioremap_regs()
70 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_param_ioctl() local
[all …]
Dvc4_crtc.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * DOC: VC4 CRTC module
9 * In VC4, the Pixel Valve is what most closely corresponds to the
27 * output-specific clock. Since the encoders also directly consume
49 #define CRTC_WRITE(offset, val) writel(val, vc4_crtc->regs + (offset))
50 #define CRTC_READ(offset) readl(vc4_crtc->regs + (offset))
69 vc4_crtc_get_cob_allocation(struct vc4_dev *vc4, unsigned int channel) in vc4_crtc_get_cob_allocation() argument
72 /* Top/base are supposed to be 4-pixel aligned, but the in vc4_crtc_get_cob_allocation()
79 return top - base + 4; in vc4_crtc_get_cob_allocation()
88 struct drm_device *dev = crtc->dev; in vc4_crtc_get_scanout_position()
[all …]
Dvc4_hvs.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * DOC: VC4 HVS module.
69 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_dump_state() local
70 struct drm_printer p = drm_info_printer(&vc4->hvs->pdev->dev); in vc4_hvs_dump_state()
73 drm_print_regset32(&p, &vc4->hvs->regset); in vc4_hvs_dump_state()
79 readl((u32 __iomem *)vc4->hvs->dlist + i + 0), in vc4_hvs_dump_state()
80 readl((u32 __iomem *)vc4->hvs->dlist + i + 1), in vc4_hvs_dump_state()
81 readl((u32 __iomem *)vc4->hvs->dlist + i + 2), in vc4_hvs_dump_state()
82 readl((u32 __iomem *)vc4->hvs->dlist + i + 3)); in vc4_hvs_dump_state()
88 struct drm_info_node *node = m->private; in vc4_hvs_debugfs_underrun()
[all …]
Dvc4_dsi.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * DOC: VC4 DSI0/DSI1 module
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. */
[all …]
Dvc4_vec.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * DOC: VC4 SDTV module
13 * PAL and PAL-M or NTSC and NTSC-J.
173 #define VEC_READ(offset) readl(vec->regs + (offset))
174 #define VEC_WRITE(offset, val) writel(val, vec->regs + (offset))
176 /* VC4 VEC encoder KMS struct */
188 /* VC4 VEC connector KMS struct */
319 struct drm_connector_state *state = connector->state; in vc4_vec_connector_get_modes()
322 mode = drm_mode_duplicate(connector->dev, in vc4_vec_connector_get_modes()
323 vc4_vec_tv_modes[state->tv.mode].mode); in vc4_vec_connector_get_modes()
[all …]
Dvc4_hdmi.c1 // SPDX-License-Identifier: GPL-2.0-only
10 * DOC: VC4 Falcon HDMI module
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
87 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_hdmi_debugfs_regs()
88 struct vc4_hdmi *vc4_hdmi = node->info_ent->data; in vc4_hdmi_debugfs_regs()
91 drm_print_regset32(&p, &vc4_hdmi->hdmi_regset); in vc4_hdmi_debugfs_regs()
92 drm_print_regset32(&p, &vc4_hdmi->hd_regset); in vc4_hdmi_debugfs_regs()
114 reset_control_reset(vc4_hdmi->reset); in vc5_hdmi_reset()
127 if (vc4_hdmi->hpd_gpio) { in vc4_hdmi_connector_detect()
[all …]
Dvc4_txp.c1 // SPDX-License-Identifier: GPL-2.0
28 /* Base address of the output. Raster formats must be 4-byte aligned,
29 * T and LT must be 16-byte aligned or maybe utile-aligned (docs are
34 /* Pitch in bytes for raster images, 16-byte aligned. For tiled, it's
38 /* For T-tiled imgaes, DST_PITCH should be the number of tiles wide,
42 /* For LT-tiled images, DST_PITCH should be the number of utiles wide,
47 /* Pre-rotation width/height of the image. Must match HVS config.
49 * If TFORMAT and 32-bit, limit is 1920 for 32-bit and 3840 to 16-bit
50 * and width/height must be tile or utile-aligned as appropriate. If
66 /* Bits 22-23 are set to 0x01 */
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/gpio/
Draspberrypi,firmware-gpio.txt3 The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The
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;
28 #gpio-cells = <2>;
/Linux-v5.10/drivers/staging/vc04_services/interface/
DTODO6 - vc_mem (https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/char/broadcom/vc_mem.c)
12 - VCSM (https://github.com/raspberrypi/linux/tree/rpi-4.4.y/drivers/char/broadcom/vc_sm)
16 to manage these buffers as dmabufs so that we can zero-copy import
17 camera images into vc4 for rendering/display.
19 2) Garbage-collect unused code
23 days. Once we have the set of VCHI-using drivers we want in tree, we
32 vchiq_test -f 1
38 Even the VPU firmware doesn't support a VCHI re-connect, the driver
50 A short top-down description of this driver's architecture (function of
76 able to use bcm2835-audio without having /dev/vchiq created. One could argue
[all …]
/Linux-v5.10/drivers/gpio/
Dgpio-raspberrypi-exp.c1 // SPDX-License-Identifier: GPL-2.0+
15 #include <soc/bcm2835/raspberrypi-firmware.h>
17 #define MODULE_NAME "raspberrypi-exp-gpio"
30 /* VC4 firmware mailbox interface data structures */
64 ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_CONFIG, in rpi_exp_gpio_get_polarity()
67 dev_err(gc->parent, "Failed to get GPIO %u config (%d %x)\n", in rpi_exp_gpio_get_polarity()
69 return ret ? ret : -EIO; in rpi_exp_gpio_get_polarity()
93 ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_CONFIG, in rpi_exp_gpio_dir_in()
96 dev_err(gc->parent, "Failed to set GPIO %u to input (%d %x)\n", in rpi_exp_gpio_dir_in()
98 return ret ? ret : -EIO; in rpi_exp_gpio_dir_in()
[all …]

12