| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/display/ |
| D | brcm,bcm-vc4.txt | 1 Broadcom VC4 (VideoCore4) GPU 3 The VC4 device present on the Raspberry Pi includes a display system 7 Required properties for VC4: 8 - compatible: Should be "brcm,bcm2835-vc4" or "brcm,cygnus-vc4" 11 - compatible: Should be one of "brcm,bcm2835-pixelvalve0", 12 "brcm,bcm2835-pixelvalve1", or "brcm,bcm2835-pixelvalve2" 13 - reg: Physical base address and length of the PV's registers 14 - interrupts: The interrupt number 15 See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt 18 - compatible: Should be "brcm,bcm2835-hvs" [all …]
|
| /kernel/linux/linux-5.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 …]
|
| /kernel/linux/linux-5.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 …]
|
| /kernel/linux/linux-5.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 …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/vc4/ |
| D | vc4_v3d.c | 113 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_v3d_debugfs_regs() 114 struct drm_device *dev = node->minor->dev; in vc4_v3d_debugfs_regs() 115 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_regs() local 129 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_v3d_debugfs_ident() 130 struct drm_device *dev = node->minor->dev; in vc4_v3d_debugfs_ident() 131 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_ident() local 151 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_init_hw() local 160 int vc4_v3d_get_bin_slot(struct vc4_dev *vc4) in vc4_v3d_get_bin_slot() argument 162 struct drm_device *dev = vc4->dev; in vc4_v3d_get_bin_slot() 169 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_v3d_get_bin_slot() [all …]
|
| D | vc4_dpi.c | 18 * DOC: VC4 DPI module 20 * The VC4 DPI hardware supports MIPI DPI type 4 and Nokia ViSSI 21 * signals. On BCM2835, these can be routed out to GPIO0-27 with the 51 /* The format field takes the ORDER-shuffled pixel valve data and 87 /* Power gate to the device, full reset at 0 -> 1 transition */ 106 #define DPI_READ(offset) readl(dpi->regs + (offset)) 107 #define DPI_WRITE(offset, val) writel(val, dpi->regs + (offset)) 109 /* VC4 DPI encoder KMS struct */ 133 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_dpi_debugfs_regs() 134 struct drm_device *dev = node->minor->dev; in vc4_dpi_debugfs_regs() [all …]
|
| D | vc4_drv.c | 2 * Copyright (C) 2014-2015 Broadcom 11 * DOC: Broadcom VC4 Graphics Driver 14 * OpenGL ES 2.0-compatible 3D engine called V3D, and a highly 19 * compute shader-style jobs using the same shader processor as is 41 #define DRIVER_NAME "vc4" 42 #define DRIVER_DESC "Broadcom VC4 graphics" 55 map = devm_ioremap_resource(&dev->dev, res); in vc4_ioremap_regs() 67 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_param_ioctl() local 71 if (args->pad != 0) in vc4_get_param_ioctl() 72 return -EINVAL; in vc4_get_param_ioctl() [all …]
|
| D | vc4_hvs.c | 10 * DOC: VC4 HVS module. 69 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_dump_state() local 82 readl((u32 __iomem *)vc4->hvs->dlist + i + 0), in vc4_hvs_dump_state() 83 readl((u32 __iomem *)vc4->hvs->dlist + i + 1), in vc4_hvs_dump_state() 84 readl((u32 __iomem *)vc4->hvs->dlist + i + 2), in vc4_hvs_dump_state() 85 readl((u32 __iomem *)vc4->hvs->dlist + i + 3)); in vc4_hvs_dump_state() 92 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_hvs_debugfs_regs() 93 struct drm_device *dev = node->minor->dev; in vc4_hvs_debugfs_regs() 94 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_regs() local 107 /* The filter kernel is composed of dwords each containing 3 9-bit [all …]
|
| D | vc4_hdmi.c | 21 * DOC: VC4 Falcon HDMI module 23 * The HDMI core has a state machine and a PHY. On BCM2835, most of 32 * and transfers them over an internal MAI (multi-channel audio 102 #define HDMI_READ(offset) readl(vc4->hdmi->hdmicore_regs + offset) 103 #define HDMI_WRITE(offset, val) writel(val, vc4->hdmi->hdmicore_regs + offset) 104 #define HD_READ(offset) readl(vc4->hdmi->hd_regs + offset) 105 #define HD_WRITE(offset, val) writel(val, vc4->hdmi->hd_regs + offset) 107 /* VC4 HDMI encoder KMS struct */ 121 /* VC4 HDMI connector KMS struct */ 198 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_hdmi_debugfs_regs() [all …]
|
| D | vc4_crtc.c | 10 * DOC: VC4 CRTC module 12 * In VC4, the Pixel Valve is what most closely corresponds to the 30 * output-specific clock. Since the encoders also directly consume 59 #define CRTC_WRITE(offset, val) writel(val, vc4_crtc->regs + (offset)) 60 #define CRTC_READ(offset) readl(vc4_crtc->regs + (offset)) 96 struct drm_info_node *node = (struct drm_info_node *)m->private; in vc4_crtc_debugfs_regs() 97 struct drm_device *dev = node->minor->dev; in vc4_crtc_debugfs_regs() 98 int crtc_index = (uintptr_t)node->info_ent->data; in vc4_crtc_debugfs_regs() 104 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in vc4_crtc_debugfs_regs() 128 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_get_scanoutpos() local [all …]
|
| /kernel/linux/linux-4.19/arch/arm/boot/dts/ |
| D | bcm283x.dtsi | 1 #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> 7 /* firmware-provided startup stubs live here, where the secondary CPUs are 13 * bcm2835 and bcm2836 implementations, leaving the CPU configuration to 14 * bcm2835.dtsi and bcm2836.dtsi. 18 compatible = "brcm,bcm2835"; 19 model = "BCM2835"; [all …]
|
| /kernel/linux/linux-5.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>;
|
| /kernel/linux/linux-4.19/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>;
|