/linux/Documentation/devicetree/bindings/display/ |
H A 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,bcm2712-vc6 22 - brcm,bcm2835-vc4 [all …]
|
H A 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 …]
|
H A 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> 15 - brcm,bcm2711-vec 16 - brcm,bcm2835-vec 27 power-domains: 31 - compatible [all …]
|
H A 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> 15 - brcm,bcm2712-mop 16 - brcm,bcm2712-moplet 17 - brcm,bcm2835-txp 26 - compatible [all …]
|
H A 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 …]
|
H A 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 27 power-domains: 31 - compatible [all …]
|
H A 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,bcm2711-dsi1 22 - brcm,bcm2835-dsi0 [all …]
|
H A 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,bcm2712-hvs 17 - brcm,bcm2835-hvs 30 - compatible [all …]
|
H A 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/drivers/gpu/drm/vc4/ |
H A 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 27 #include <linux/dma-mapping.h> 41 #include <soc/bcm2835/raspberrypi-firmware.h> 48 #define DRIVER_NAME "vc4" 49 #define DRIVER_DESC "Broadcom VC4 graphics" 68 int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8); in vc4_dumb_fixup_args() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "Broadcom VC4 Graphics" 27 VC4 GPU, such as the Raspberry Pi or other BCM2708/BCM2835. 34 bool "Broadcom VC4 HDMI CEC Support" 38 Choose this option if you have a Broadcom VC4 GPU 42 tristate "KUnit tests for VC4" if !KUNIT_ALL_TESTS 47 This builds unit tests for the VC4 DRM/KMS driver. This option is 49 developers working on the VC4 driver. 53 Documentation/dev-tools/kunit/.
|
H A 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 57 writel(val, vc4_crtc->regs + (offset)); \ 63 readl(vc4_crtc->regs + (offset)); \ 83 vc4_crtc_get_cob_allocation(struct vc4_dev *vc4, unsigned int channel) in vc4_crtc_get_cob_allocation() argument 85 struct vc4_hvs *hvs = vc4->hvs; in vc4_crtc_get_cob_allocation() 88 /* Top/base are supposed to be 4-pixel aligned, but the in vc4_crtc_get_cob_allocation() 93 if (vc4->gen >= VC4_GEN_6_C) { in vc4_crtc_get_cob_allocation() [all …]
|
H A D | vc4_v3d.c | 1 // 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() 101 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_ident() local 102 int ret = vc4_v3d_pm_get(vc4); in vc4_v3d_debugfs_ident() 117 vc4_v3d_pm_put(vc4); in vc4_v3d_debugfs_ident() 128 vc4_v3d_pm_get(struct vc4_dev *vc4) in vc4_v3d_pm_get() argument 130 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_v3d_pm_get() 131 return -ENODEV; in vc4_v3d_pm_get() 133 mutex_lock(&vc4->power_lock); in vc4_v3d_pm_get() [all …]
|
H A 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 24 #include <linux/media-bus-format.h> 43 /* The format field takes the ORDER-shuffled pixel valve data and 79 /* Power gate to the device, full reset at 0 -> 1 transition */ 106 readl(dpi->regs + (offset)); \ 112 writel(val, dpi->regs + (offset)); \ 122 struct drm_device *dev = encoder->dev; in vc4_dpi_encoder_disable() [all …]
|
H A D | vc4_hvs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * DOC: VC4 HVS module. 31 #include <soc/bcm2835/raspberrypi-firmware.h> 206 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_dump_state() 207 struct drm_printer p = drm_info_printer(&hvs->pdev->dev); in vc4_hvs_dump_state() 213 drm_print_regset32(&p, &hvs->regset); in vc4_hvs_dump_state() 219 readl((u32 __iomem *)hvs->dlist + i + 0), in vc4_hvs_dump_state() 220 readl((u32 __iomem *)hvs->dlist + i + 1), in vc4_hvs_dump_state() 221 readl((u32 __iomem *)hvs->dlist + i + 2), in vc4_hvs_dump_state() 222 readl((u32 __iomem *)hvs->dlist + i + 3)); in vc4_hvs_dump_state() [all …]
|
H A 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 …]
|
H A 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 53 #include <sound/hdmi-codec.h> 117 struct drm_display_info *display = &vc4_hdmi->connector.display_info; in vc4_hdmi_supports_scrambling() 119 lockdep_assert_held(&vc4_hdmi->mutex); in vc4_hdmi_supports_scrambling() 121 if (!display->is_hdmi) in vc4_hdmi_supports_scrambling() 124 if (!display->hdmi.scdc.supported || in vc4_hdmi_supports_scrambling() 125 !display->hdmi.scdc.scrambling.supported) in vc4_hdmi_supports_scrambling() [all …]
|
H A D | vc4_txp.c | 1 // SPDX-License-Identifier: GPL-2.0 31 /* Base address of the output. Raster formats must be 4-byte aligned, 32 * T and LT must be 16-byte aligned or maybe utile-aligned (docs are 37 /* Pitch in bytes for raster images, 16-byte aligned. For tiled, it's 41 /* For T-tiled imgaes, DST_PITCH should be the number of tiles wide, 45 /* For LT-tiled images, DST_PITCH should be the number of utiles wide, 50 /* Pre-rotation width/height of the image. Must match HVS config. 52 * If TFORMAT and 32-bit, limit is 1920 for 32-bit and 3840 to 16-bit 53 * and width/height must be tile or utile-aligned as appropriate. If 69 /* Bits 22-23 are set to 0x01 */ [all …]
|
H A 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. 85 * VEC_FREQ1_0 contains the most significant 16-bit half-word, 86 * VEC_FREQ3_2 contains the least significant 16-bit half-word. 92 * NTSC (3579545.[45] Hz) - 0x21F07C1F 93 * PAL (4433618.75 Hz) - 0x2A098ACB 94 * PAL-M (3575611.[888111] Hz) - 0x21E6EFE3 95 * PAL-N (3582056.25 Hz) - 0x21F69446 213 readl(vec->regs + (offset)); \ [all …]
|
/linux/arch/arm/boot/dts/broadcom/ |
H A D | bcm2835-common.dtsi | 1 // 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 …]
|
H A 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/drivers/media/platform/broadcom/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 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, 15 independently from the VC4 firmware. 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.
|
/linux/Documentation/gpu/ |
H A D | vc4.rst | 2 drm/vc4 Broadcom VC4 Graphics Driver 5 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_drv.c 6 :doc: Broadcom VC4 Graphics Driver 16 ---------------------- 18 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_crtc.c 19 :doc: VC4 CRTC module 22 --- 24 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hvs.c 25 :doc: VC4 HVS module. 28 ---------- [all …]
|
/linux/drivers/gpio/ |
H A 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 …]
|
/linux/arch/arm64/boot/dts/broadcom/ |
H A D | bcm2712.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #address-cells = <2>; 8 #size-cells = <2>; 10 interrupt-parent = <&gicv2>; 14 clk_osc: clk-osc { 15 compatible = "fixed-clock"; 16 #clock-cells = <0>; 17 clock-output-names = "osc"; 18 clock-frequency = <54000000>; [all …]
|