/linux/Documentation/devicetree/bindings/display/ |
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 …]
|
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# 10 - Eric Anholt <eric@anholt.net> 14 with HDMI output and the HVS (Hardware Video Scaler) for compositing 20 - brcm,bcm2711-vc5 21 - brcm,bcm2835-vc4 22 - brcm,cygnus-vc4 25 - compatible [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>; 16 compatible = "brcm,bcm2711-vc5"; 20 clk_27MHz: clk-27M { 21 #clock-cells = <0>; 22 compatible = "fixed-clock"; [all …]
|
H A D | bcm2835-rpi-b.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 3 #include "bcm2835.dtsi" 4 #include "bcm2835-rpi.dtsi" 5 #include "bcm2835-rpi-common.dtsi" 6 #include "bcm283x-rpi-led-deprecated.dtsi" 7 #include "bcm283x-rpi-smsc9512.dtsi" 8 #include "bcm283x-rpi-usb-host.dtsi" 11 compatible = "raspberrypi,model-b", "brcm,bcm2835"; 22 * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf [all …]
|
H A D | bcm2835-rpi-zero.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 6 /dts-v1/; 7 #include "bcm2835.dtsi" 8 #include "bcm2835-rpi.dtsi" 9 #include "bcm2835-rpi-common.dtsi" 10 #include "bcm283x-rpi-led-deprecated.dtsi" 11 #include "bcm283x-rpi-usb-otg.dtsi" 14 compatible = "raspberrypi,model-zero", "brcm,bcm2835"; 31 gpio-line-names = "ID_SDA", 88 pinctrl-names = "default"; [all …]
|
H A D | bcm2835-rpi-b-plus.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 3 #include "bcm2835.dtsi" 4 #include "bcm2835-rpi.dtsi" 5 #include "bcm2835-rpi-common.dtsi" 6 #include "bcm283x-rpi-led-deprecated.dtsi" 7 #include "bcm283x-rpi-smsc9514.dtsi" 8 #include "bcm283x-rpi-usb-host.dtsi" 11 compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; 22 * Taken from Raspberry-Pi-B-Plus-V1.2-Schematics.pdf [all …]
|
H A D | bcm2835-rpi-zero-w.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 6 /dts-v1/; 7 #include "bcm2835.dtsi" 8 #include "bcm2835-rpi.dtsi" 9 #include "bcm2835-rpi-common.dtsi" 10 #include "bcm283x-rpi-led-deprecated.dtsi" 11 #include "bcm283x-rpi-usb-otg.dtsi" 12 #include "bcm283x-rpi-wifi-bt.dtsi" 15 compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; 25 stdout-path = "serial1:115200n8"; [all …]
|
H A D | bcm2835-rpi-b-rev2.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 3 #include "bcm2835.dtsi" 4 #include "bcm2835-rpi.dtsi" 5 #include "bcm2835-rpi-common.dtsi" 6 #include "bcm283x-rpi-led-deprecated.dtsi" 7 #include "bcm283x-rpi-smsc9512.dtsi" 8 #include "bcm283x-rpi-usb-host.dtsi" 11 compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835"; 22 * Taken from Raspberry-Pi-Rev-2.0-Model-AB-Schematics.pdf [all …]
|
H A D | bcm2835-rpi-a.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 3 #include "bcm2835.dtsi" 4 #include "bcm2835-rpi.dtsi" 5 #include "bcm2835-rpi-common.dtsi" 6 #include "bcm283x-rpi-led-deprecated.dtsi" 7 #include "bcm283x-rpi-usb-host.dtsi" 10 compatible = "raspberrypi,model-a", "brcm,bcm2835"; 21 * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf 28 gpio-line-names = "SDA0", [all …]
|
H A D | bcm2835-rpi-a-plus.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 3 #include "bcm2835.dtsi" 4 #include "bcm2835-rpi.dtsi" 5 #include "bcm2835-rpi-common.dtsi" 6 #include "bcm283x-rpi-led-deprecated.dtsi" 7 #include "bcm283x-rpi-usb-host.dtsi" 10 compatible = "raspberrypi,model-a-plus", "brcm,bcm2835"; 27 gpio-line-names = "ID_SDA", 84 pinctrl-names = "default"; [all …]
|
H A D | bcm2835-rpi-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 * bcm2835, bcm2836 and bcm2837 implementations that interact with RPi's 8 #include <dt-bindings/power/raspberrypi-power.h> 10 &hdmi { 13 clock-names = "pixel", "hdmi"; 17 power-domains = <&power RPI_POWER_DOMAIN_V3D>;
|
H A D | bcm2835-rpi-cm1-io1.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 3 #include "bcm2835-rpi-cm1.dtsi" 4 #include "bcm283x-rpi-usb-host.dtsi" 7 compatible = "raspberrypi,compute-module", "brcm,bcm2835"; 19 gpio-line-names = "GPIO0", 76 pinctrl-names = "default"; 77 pinctrl-0 = <&gpioout &alt0>; 80 &hdmi { 81 hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; [all …]
|
H A D | bcm2711-rpi.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include "bcm2835-rpi.dtsi" 4 #include <dt-bindings/power/raspberrypi-power.h> 5 #include <dt-bindings/reset/raspberrypi,firmware-reset.h> 21 i2c0mux: i2c-mux0 { 22 compatible = "i2c-mux-pinctrl"; 23 #address-cells = <1>; 24 #size-cells = <0>; 26 i2c-parent = <&i2c0>; 28 pinctrl-names = "i2c0", "i2c0-vc"; [all …]
|
/linux/drivers/staging/vc04_services/bcm2835-audio/ |
H A D | bcm2835.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/dma-mapping.h> 10 #include "bcm2835.h" 17 MODULE_PARM_DESC(enable_hdmi, "Enables HDMI virtual audio device"); 38 return -ENOMEM; in bcm2835_devm_add_vchi_ctx() 95 .shortname = "bcm2835 HDMI", 96 .longname = "bcm2835 HDMI", 108 .shortname = "bcm2835 Headphones", 109 .longname = "bcm2835 Headphones", 145 err = snd_card_new(dev, -1, NULL, THIS_MODULE, sizeof(*chip), &card); in snd_add_child_device() [all …]
|
/linux/Documentation/devicetree/bindings/clock/ |
H A D | brcm,bcm2835-cprman.txt | 1 Broadcom BCM2835 CPRMAN clocks 4 Documentation/devicetree/bindings/clock/clock-bindings.txt 7 of the BCM2835. There is a level of PLLs deriving from an external 9 few PLLs, and a level of mostly-generic clock generators sourcing from 11 clock generators, but a few (like the ARM or HDMI) will source from 15 - compatible: should be one of the following, 16 "brcm,bcm2711-cprman" 17 "brcm,bcm2835-cprman" 18 - #clock-cells: Should be <1>. The permitted clock-specifier values can be 19 found in include/dt-bindings/clock/bcm2835.h [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 11 * OpenGL ES 2.0-compatible 3D engine called V3D, and a highly 12 * configurable display output pipeline that supports HDMI, DSI, DPI, 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> 69 int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8); in vc4_dumb_fixup_args() 71 if (args->pitch < min_pitch) in vc4_dumb_fixup_args() 72 args->pitch = min_pitch; in vc4_dumb_fixup_args() [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 16 * HDMI infoframes are kept within a small packet ram, where each 19 * HDMI audio is implemented entirely within the HDMI IP block. A 20 * register in the HDMI encoder takes SPDIF frames from the DMA engine 21 * and transfers them over an internal MAI (multi-channel audio 25 * The driver's HDMI encoder does not yet support power management. 26 * The HDMI encoder's power domain and the HSM/pixel clocks are kept 27 * continuously running, and only the HDMI logic and packet ram are [all …]
|
H A D | vc4_crtc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 * image domain can feed either HDMI or the SDTV controller. The 22 * pixel valve chooses from the CPRMAN clocks (HSM for HDMI, VEC for 27 * output-specific clock. Since the encoders also directly consume 57 writel(val, vc4_crtc->regs + (offset)); \ 63 readl(vc4_crtc->regs + (offset)); \ 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() 103 struct drm_device *dev = crtc->dev; in vc4_crtc_get_scanout_position() [all …]
|
H A D | vc4_vec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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)); \ 219 writel(val, vec->regs + (offset)); \ [all …]
|
/linux/drivers/clk/bcm/ |
H A D | clk-raspberrypi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Even though clk-bcm2835 provides an interface to the hardware registers for 8 * over-temperature and under-voltage protections provided by the firmware. 14 #include <linux/clk-provider.h> 19 #include <soc/bcm2835/raspberrypi-firmware.h> 35 [RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb", 92 * HDMI connector, the firmware will skip the HSM 103 * The clock is shared between the two HDMI controllers 141 * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface 154 .id = cpu_to_le32(data->id), in raspberrypi_clock_property() [all …]
|
H A D | clk-bcm2835.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 * DOC: BCM2835 CPRMAN (clock manager for the "audio" domain) 13 * and "HDMI displays". Those 5 PLLs each can divide their output to 15 * be consumed by other hardware components (like "H264" or "HDMI 27 #include <linux/clk-provider.h> 38 #include <dt-bindings/clock/bcm2835.h> 45 # define CM_DIV_FRAC_MASK GENMASK(CM_DIV_FRAC_BITS - 1, 0) 253 # define A2W_PLL_FRAC_MASK ((1 << A2W_PLL_FRAC_BITS) - 1) 337 writel(CM_PASSWORD | val, cprman->regs + reg); in cprman_write() 342 return readl(cprman->regs + reg); in cprman_read() [all …]
|
/linux/Documentation/gpu/ |
H A D | vc4.rst | 5 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_drv.c 16 ---------------------- 18 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_crtc.c 22 --- 24 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hvs.c 28 ---------- 30 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_plane.c 33 HDMI encoder 34 ------------ 36 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hdmi.c [all …]
|
/linux/drivers/pmdomain/bcm/ |
H A D | raspberrypi-power.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <dt-bindings/power/raspberrypi-power.h> 14 #include <soc/bcm2835/raspberrypi-firmware.h> 55 bool old_interface = rpi_domain->old_interface; in rpi_firmware_set_power() 59 packet.domain = rpi_domain->domain; in rpi_firmware_set_power() 62 ret = rpi_firmware_property(rpi_domain->fw, old_interface ? in rpi_firmware_set_power() 67 dev_err(&domain->dev, "Failed to set %s to %u (%d)\n", in rpi_firmware_set_power() 70 dev_dbg(&domain->dev, "Set %s to %u\n", in rpi_firmware_set_power() 89 struct rpi_power_domain *dom = &rpi_domains->domains[xlate_index]; in rpi_common_init_power_domain() 91 dom->fw = rpi_domains->fw; in rpi_common_init_power_domain() [all …]
|
H A D | bcm2835-power.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Power domain driver for Broadcom BCM2835 8 #include <dt-bindings/soc/bcm2835-pm.h> 12 #include <linux/mfd/bcm2835-pm.h> 16 #include <linux/reset-controller.h> 109 #define PM_READ(reg) readl(power->base + (reg)) 110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg)) 154 void __iomem *base = power->asb; in bcm2835_asb_control() 163 if (power->rpivid_asb) in bcm2835_asb_control() 164 base = power->rpivid_asb; in bcm2835_asb_control() [all …]
|