Home
last modified time | relevance | path

Searched +full:bcm2835 +full:- +full:v3d (Results 1 – 25 of 30) sorted by relevance

12

/kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/
Dbrcm,bcm2835-v3d.yaml1 # 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/
Dbrcm,bcm2835-v3d.yaml1 # 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/
Dbcm2835-common.dtsi1 // 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 …]
Dbcm2835-rpi-common.dtsi1 // 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>;
Dbcm2711-rpi.dtsi1 // 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 …]
Dbcm2711.dtsi1 // 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/
Dbcm2835-common.dtsi1 // 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 …]
Dbcm2835-rpi-common.dtsi1 // 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>;
Dbcm2711.dtsi1 // 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/
Dbrcm,bcm2835-pm.txt1 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/
Dbrcm,bcm2835-pm.yaml1 # 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/
Dvc4_drv.c1 // 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 …]
Dvc4_v3d.c1 // 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 …]
Dvc4_crtc.c1 // 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/
Dvc4_drv.c1 // 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 …]
Dvc4_v3d.c1 // 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 …]
Dvc4_crtc.c1 // 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 …]
Dvc4_txp.c1 // 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/
Dvc4.rst5 .. 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/
Draspberrypi-power.c1 // 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 …]
Dbcm2835-power.c1 // 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/
Draspberrypi-power.c1 // 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 …]
Dbcm2835-power.c1 // 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/
Dclk-raspberrypi.c1 // 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/
Dclk-raspberrypi.c1 // 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 …]

12