/openbmc/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,bcm2835-vc4 22 - brcm,cygnus-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> 14 const: brcm,bcm2835-txp 23 - compatible 24 - reg 25 - interrupts [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-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-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 …]
|
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-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 …]
|
/openbmc/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 26 #include <linux/dma-mapping.h> 39 #include <soc/bcm2835/raspberrypi-firmware.h> 46 #define DRIVER_NAME "vc4" 47 #define DRIVER_DESC "Broadcom VC4 graphics" 67 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" 24 VC4 GPU, such as the Raspberry Pi or other BCM2708/BCM2835. 31 bool "Broadcom VC4 HDMI CEC Support" 35 Choose this option if you have a Broadcom VC4 GPU 39 tristate "KUnit tests for VC4" if !KUNIT_ALL_TESTS 44 This builds unit tests for the VC4 DRM/KMS driver. This option is 46 developers working on the VC4 driver. 50 Documentation/dev-tools/kunit/.
|
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->is_vc5)) 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_hvs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * DOC: VC4 HVS module. 31 #include <soc/bcm2835/raspberrypi-firmware.h> 72 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_dump_state() 73 struct drm_printer p = drm_info_printer(&hvs->pdev->dev); in vc4_hvs_dump_state() 79 drm_print_regset32(&p, &hvs->regset); in vc4_hvs_dump_state() 85 readl((u32 __iomem *)hvs->dlist + i + 0), in vc4_hvs_dump_state() 86 readl((u32 __iomem *)hvs->dlist + i + 1), in vc4_hvs_dump_state() 87 readl((u32 __iomem *)hvs->dlist + i + 2), in vc4_hvs_dump_state() 88 readl((u32 __iomem *)hvs->dlist + i + 3)); in vc4_hvs_dump_state() [all …]
|
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() 87 /* Top/base are supposed to be 4-pixel aligned, but the in vc4_crtc_get_cob_allocation() 94 return top - base + 4; in vc4_crtc_get_cob_allocation() [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_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 50 #include <sound/hdmi-codec.h> 133 struct drm_display_info *display = &vc4_hdmi->connector.display_info; in vc4_hdmi_supports_scrambling() 135 lockdep_assert_held(&vc4_hdmi->mutex); in vc4_hdmi_supports_scrambling() 137 if (!display->is_hdmi) in vc4_hdmi_supports_scrambling() 140 if (!display->hdmi.scdc.supported || in vc4_hdmi_supports_scrambling() 141 !display->hdmi.scdc.scrambling.supported) in vc4_hdmi_supports_scrambling() [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A 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> 6 /* firmware-provided startup stubs live here, where the secondary CPUs are 12 * bcm2835 and bcm2836 implementations, leaving the CPU configuration to 13 * bcm2835.dtsi and bcm2836.dtsi. 17 compatible = "brcm,bcm2835"; 18 model = "BCM2835"; 19 interrupt-parent = <&intc>; [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/gpio/ |
H A 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>;
|
/openbmc/qemu/include/hw/arm/ |
H A D | raspi_platform.h | 2 * bcm2708 aka bcm2835/2836 aka Raspberry Pi/Pi2 SoC platform defines 5 * arch/arm/mach-{bcm2708,bcm2709}/include/mach/platform.h 23 * Various undocumented addresses and names come from Herman Hermitage's VC4 25 * https://github.com/hermanhermitage/videocoreiv/wiki/MMIO-Register-map 34 /* Registered machine type (matches RPi Foundation bootloader and U-Boot) */ 37 #define TYPE_RASPI_BASE_MACHINE MACHINE_TYPE_NAME("raspi-base") 73 #define MPHI_OFFSET 0x6000 /* Message-based Parallel Host Intf. */ 74 #define DMA_OFFSET 0x7000 /* DMA controller, channels 0-14 */ 213 * TODO: this is really SoC-specific; we might want to 214 * set it per-SoC if it turns out any guests care.
|
/openbmc/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 …]
|
/openbmc/openbmc/meta-raspberrypi/docs/ |
H A D | extra-build-config.md | 6 <http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html> 32 See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#memory-options> 34 ## VC4 section in Optional build configuration 36 …vc4` for graphics. This will in turn sets mesa as provider for `gl` libraries. `DISABLE_VC4GRAPHIC… 50 See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#licence-key-and-codec-opt… 85 …b`. The "mmc" is required to load an image from the SD card, following the u-boot specification. S… 108 See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#overclocking-options> 125 See: <https://www.raspberrypi.com/documentation/computers/configuration.html#hdmi-configuration> 140 This will enable the firmware to fall back to off-line compositing of Dispmanx 141 elements. Normally the compositing is done on-line, during scanout, but cannot [all …]
|