/Linux-v5.10/Documentation/devicetree/bindings/display/ |
D | brcm,bcm2835-vc4.yaml | 1 # 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 …]
|
D | brcm,bcm2835-pixelvalve0.yaml | 1 # 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 …]
|
D | brcm,bcm2835-vec.yaml | 1 # 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 …]
|
D | brcm,bcm2835-v3d.yaml | 1 # 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 …]
|
D | brcm,bcm2835-txp.yaml | 1 # 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 …]
|
D | brcm,bcm2835-dpi.yaml | 1 # 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 …]
|
D | brcm,bcm2835-hvs.yaml | 1 # 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 …]
|
D | brcm,bcm2835-dsi0.yaml | 1 # 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 …]
|
D | brcm,bcm2835-hdmi.yaml | 1 # 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/ |
D | bcm2835-common.dtsi | 1 // 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 …]
|
D | bcm2711-rpi-4-b.dts | 1 // 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 …]
|
D | bcm2711.dtsi | 1 // 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/ |
D | Kconfig | 1 # 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
|
D | vc4_v3d.c | 1 // 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 …]
|
D | vc4_dpi.c | 1 // 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 …]
|
D | vc4_drv.c | 1 // 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 …]
|
D | vc4_crtc.c | 1 // 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 …]
|
D | vc4_hvs.c | 1 // 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 …]
|
D | vc4_dsi.c | 1 // 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 …]
|
D | vc4_vec.c | 1 // 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 …]
|
D | vc4_hdmi.c | 1 // 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 …]
|
D | vc4_txp.c | 1 // 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/ |
D | raspberrypi,firmware-gpio.txt | 3 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/ |
D | TODO | 6 - 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/ |
D | gpio-raspberrypi-exp.c | 1 // 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 …]
|