| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/broadcom/ |
| 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 …]
|
| 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> 12 compatible = "raspberrypi,firmware-clocks"; 13 #clock-cells = <1>; 20 clock-names = "pixel", "hdmi"; 23 &v3d { 24 power-domains = <&power RPI_POWER_DOMAIN_V3D>;
|
| D | bcm2711-rpi.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include "bcm2835-rpi.dtsi" 4 #include <dt-bindings/reset/raspberrypi,firmware-reset.h> 23 compatible = "raspberrypi,firmware-clocks"; 24 #clock-cells = <1>; 28 compatible = "raspberrypi,firmware-gpio"; 29 gpio-controller; 30 #gpio-cells = <2>; 35 compatible = "raspberrypi,firmware-reset"; 36 #reset-cells = <1>; [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>; 16 compatible = "brcm,bcm2711-vc5"; 20 clk_27MHz: clk-27M { 21 #clock-cells = <0>; 22 compatible = "fixed-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 …]
|
| 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 &v3d { 11 power-domains = <&power RPI_POWER_DOMAIN_V3D>;
|
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/soc/bcm/ |
| D | brcm,bcm2835-pm.txt | 1 BCM2835 PM (Power domains, watchdog) 4 a watchdog timer. This binding supersedes the brcm,bcm2835-pm-wdt 9 - compatible: Should be "brcm,bcm2835-pm" 10 - reg: Specifies base physical address and size of the two 13 - clocks: a) v3d: The V3D clock from CPRMAN 17 - #reset-cells: Should be 1. This property follows the reset controller 19 - #power-domain-cells: Should be 1. This property follows the power domain 24 - timeout-sec: Contains the watchdog timeout in seconds 25 - system-power-controller: Whether the watchdog is controlling the 29 [2] Documentation/devicetree/bindings/power/power-domain.yaml [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/soc/bcm/ |
| D | brcm,bcm2835-pm.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: BCM2835 PM (Power domains, watchdog) 14 - Nicolas Saenz Julienne <nsaenz@kernel.org> 17 - $ref: /schemas/watchdog/watchdog.yaml# 22 - enum: 23 - brcm,bcm2835-pm 24 - brcm,bcm2711-pm [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/vc4/ |
| 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 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> 67 int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8); in vc4_dumb_fixup_args() 69 if (args->pitch < min_pitch) in vc4_dumb_fixup_args() 70 args->pitch = min_pitch; in vc4_dumb_fixup_args() 72 if (args->size < args->pitch * args->height) in vc4_dumb_fixup_args() [all …]
|
| 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() 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() 134 if (vc4->power_refcount++ == 0) { in vc4_v3d_pm_get() 135 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get() 138 vc4->power_refcount--; in vc4_v3d_pm_get() 139 mutex_unlock(&vc4->power_lock); in vc4_v3d_pm_get() [all …]
|
| D | vc4_crtc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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() 105 struct vc4_hvs *hvs = vc4->hvs; in vc4_crtc_get_scanout_position() 107 struct vc4_crtc_state *vc4_crtc_state = to_vc4_crtc_state(crtc->state); in vc4_crtc_get_scanout_position() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/vc4/ |
| 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 16 * compute shader-style jobs using the same shader processor as is 26 #include <linux/dma-mapping.h> 58 map = devm_ioremap_resource(&dev->dev, res); in vc4_ioremap_regs() 74 if (args->pad != 0) in vc4_get_param_ioctl() 75 return -EINVAL; in vc4_get_param_ioctl() 77 if (!vc4->v3d) in vc4_get_param_ioctl() 78 return -ENODEV; in vc4_get_param_ioctl() [all …]
|
| 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() 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() 137 vc4->power_refcount--; in vc4_v3d_pm_get() 138 mutex_unlock(&vc4->power_lock); in vc4_v3d_pm_get() 142 mutex_unlock(&vc4->power_lock); in vc4_v3d_pm_get() 150 mutex_lock(&vc4->power_lock); in vc4_v3d_pm_put() [all …]
|
| D | vc4_crtc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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)) 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() 91 struct vc4_crtc_state *vc4_crtc_state = to_vc4_crtc_state(crtc->state); in vc4_crtc_get_scanout_position() 108 val = HVS_READ(SCALER_DISPSTATX(vc4_crtc_state->assigned_channel)); in vc4_crtc_get_scanout_position() 120 if (mode->flags & DRM_MODE_FLAG_INTERLACE) { in vc4_crtc_get_scanout_position() [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 …]
|
| /kernel/linux/linux-6.6/Documentation/gpu/ |
| 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 34 ------------ 36 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hdmi.c 40 ----------- [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/bcm/ |
| 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 packet.domain = rpi_domain->domain; in rpi_firmware_set_power() 57 return rpi_firmware_property(rpi_domain->fw, in rpi_firmware_set_power() 58 rpi_domain->old_interface ? in rpi_firmware_set_power() 83 struct rpi_power_domain *dom = &rpi_domains->domains[xlate_index]; in rpi_common_init_power_domain() 85 dom->fw = rpi_domains->fw; in rpi_common_init_power_domain() 87 dom->base.name = name; in rpi_common_init_power_domain() 88 dom->base.power_on = rpi_domain_on; in rpi_common_init_power_domain() [all …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/soc/bcm/ |
| 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 packet.domain = rpi_domain->domain; in rpi_firmware_set_power() 57 return rpi_firmware_property(rpi_domain->fw, in rpi_firmware_set_power() 58 rpi_domain->old_interface ? in rpi_firmware_set_power() 83 struct rpi_power_domain *dom = &rpi_domains->domains[xlate_index]; in rpi_common_init_power_domain() 85 dom->fw = rpi_domains->fw; in rpi_common_init_power_domain() 87 dom->base.name = name; in rpi_common_init_power_domain() 88 dom->base.power_on = rpi_domain_on; in rpi_common_init_power_domain() [all …]
|
| 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)) 129 #define ASB_READ(reg) readl(power->asb + (reg)) 130 #define ASB_WRITE(reg, val) writel(PM_PASSWORD | (val), power->asb + (reg)) 164 if (ktime_get_ns() - start >= 1000) in bcm2835_asb_enable() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/bcm/ |
| 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> 44 [RPI_FIRMWARE_V3D_CLK_ID] = "v3d", 53 [RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb", 85 * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface 98 .id = cpu_to_le32(data->id), in raspberrypi_clock_property() 117 struct raspberrypi_clk *rpi = data->rpi; in raspberrypi_fw_is_prepared() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/bcm/ |
| 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> 26 [RPI_FIRMWARE_V3D_CLK_ID] = "v3d", 35 [RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb", 141 * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface 154 .id = cpu_to_le32(data->id), in raspberrypi_clock_property() 173 struct raspberrypi_clk *rpi = data->rpi; in raspberrypi_fw_is_prepared() [all …]
|