* [PATCH v3 00/15] Raspberry PI 4 V3D enablement
@ 2021-02-17 11:47 Nicolas Saenz Julienne
2021-02-17 11:47 ` [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema Nicolas Saenz Julienne
` (6 more replies)
0 siblings, 7 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:47 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel
Cc: f.fainelli, linux-rpi-kernel, phil, wahrenst,
bcm-kernel-feedback-list, mripard, eric, robh,
Nicolas Saenz Julienne, dri-devel, devicetree
This series attempts to enable V3D on BCM2711, the SoC available on the
Raspberry Pi 4 family of boards.
Due to the lack of documentation some things are taken as it from
testing/downstream implementation[1], which I'm hilighting here:
- It's not clear that the following is 100% true, maybe someone can confirm:
"In BCM2711 the new ARGON ASB took over V3D. The old ASB is still
present with the ISP and H264 bits, and V3D is in the same place in the
new ASB as the old one."
- Patch #9 ("soc: bcm: bcm2835-power: Bypass power_on/off() calls"), I
took as is from the downstream implementation, I can't really provide
an exact explanation on what changed HW wise.
- Ultimately, I need confirmation from the Broadcom folks that they are alright
with patch #11 ("drm/v3d: Get rid of pm code")
With all this, I get a more or less stable experience using mesa 20.3.4 and
X11/Gnome.
Regards,
Nicolas
---
Changes since v2:
- Correct ASB names
- Address dt-binding comments
Changes since v1:
- Use 'reg-names'
- Correct ASB names
- Add missing binding patch for V3D
- Address Stefan's comments
Nicolas Saenz Julienne (15):
dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema
dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names
dt-bindings: soc: bcm: bcm2835-pm: Add support for bcm2711
ARM: dts: bcm2835/bcm2711: Introduce reg-names in watchdog node
ARM: dts: bcm2711: Use proper compatible in PM/Watchdog node
mfd: bcm2835-pm: Use 'reg-names' to get resources
mfd: bcm2835-pm: Add support for BCM2711
soc: bcm: bcm2835-power: Add support for BCM2711's RPiVid ASB
soc: bcm: bcm2835-power: Bypass power_on/off() calls
dt-bindings: gpu: v3d: Add BCM2711's compatible
drm/v3d: Get rid of pm code
drm/v3d: Add support for bcm2711
ARM: dts: bcm2711: Enable V3D
ARM: configs: Enable DRM_V3D
arm64: config: Enable DRM_V3D
.../devicetree/bindings/gpu/brcm,bcm-v3d.yaml | 1 +
.../bindings/soc/bcm/brcm,bcm2835-pm.txt | 46 ----------
.../bindings/soc/bcm/brcm,bcm2835-pm.yaml | 87 +++++++++++++++++++
arch/arm/boot/dts/bcm2711.dtsi | 15 +++-
arch/arm/boot/dts/bcm2835-common.dtsi | 1 +
arch/arm/configs/multi_v7_defconfig | 1 +
arch/arm64/configs/defconfig | 1 +
drivers/gpu/drm/v3d/Kconfig | 2 +-
drivers/gpu/drm/v3d/v3d_debugfs.c | 18 +---
drivers/gpu/drm/v3d/v3d_drv.c | 12 +--
drivers/gpu/drm/v3d/v3d_gem.c | 9 --
drivers/mfd/bcm2835-pm.c | 80 ++++++++++++-----
drivers/soc/bcm/bcm2835-power.c | 74 ++++++++++------
include/linux/mfd/bcm2835-pm.h | 1 +
14 files changed, 217 insertions(+), 131 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt
create mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
--
2.30.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
@ 2021-02-17 11:47 ` Nicolas Saenz Julienne
2021-03-05 22:28 ` Rob Herring
2021-02-17 11:47 ` [PATCH v3 02/15] dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names Nicolas Saenz Julienne
` (5 subsequent siblings)
6 siblings, 1 reply; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:47 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, Nicolas Saenz Julienne,
Florian Fainelli, Ray Jui, Scott Branden,
bcm-kernel-feedback-list
Cc: linux-rpi-kernel, phil, wahrenst, mripard, eric, robh,
Rob Herring, devicetree
This converts the brcm,bcm2835-pm bindings from text to proper schema.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
Changes since v2:
- Slightly change things to make it less dependent on next commits
.../bindings/soc/bcm/brcm,bcm2835-pm.txt | 46 -----------
.../bindings/soc/bcm/brcm,bcm2835-pm.yaml | 79 +++++++++++++++++++
2 files changed, 79 insertions(+), 46 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt
create mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt
deleted file mode 100644
index 72ff033565e5..000000000000
--- a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-BCM2835 PM (Power domains, watchdog)
-
-The PM block controls power domains and some reset lines, and includes
-a watchdog timer. This binding supersedes the brcm,bcm2835-pm-wdt
-binding which covered some of PM's register range and functionality.
-
-Required properties:
-
-- compatible: Should be "brcm,bcm2835-pm"
-- reg: Specifies base physical address and size of the two
- register ranges ("PM" and "ASYNC_BRIDGE" in that
- order)
-- clocks: a) v3d: The V3D clock from CPRMAN
- b) peri_image: The PERI_IMAGE clock from CPRMAN
- c) h264: The H264 clock from CPRMAN
- d) isp: The ISP clock from CPRMAN
-- #reset-cells: Should be 1. This property follows the reset controller
- bindings[1].
-- #power-domain-cells: Should be 1. This property follows the power domain
- bindings[2].
-
-Optional properties:
-
-- timeout-sec: Contains the watchdog timeout in seconds
-- system-power-controller: Whether the watchdog is controlling the
- system power. This node follows the power controller bindings[3].
-
-[1] Documentation/devicetree/bindings/reset/reset.txt
-[2] Documentation/devicetree/bindings/power/power-domain.yaml
-[3] Documentation/devicetree/bindings/power/power-controller.txt
-
-Example:
-
-pm {
- compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
- #power-domain-cells = <1>;
- #reset-cells = <1>;
- reg = <0x7e100000 0x114>,
- <0x7e00a000 0x24>;
- clocks = <&clocks BCM2835_CLOCK_V3D>,
- <&clocks BCM2835_CLOCK_PERI_IMAGE>,
- <&clocks BCM2835_CLOCK_H264>,
- <&clocks BCM2835_CLOCK_ISP>;
- clock-names = "v3d", "peri_image", "h264", "isp";
- system-power-controller;
-};
diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
new file mode 100644
index 000000000000..47b9c266ddd1
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: BCM2835 PM (Power domains, watchdog)
+
+description: |
+ The PM block controls power domains and some reset lines, and includes a
+ watchdog timer.
+
+maintainers:
+ - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+
+allOf:
+ - $ref: ../../watchdog/watchdog.yaml#
+
+properties:
+ compatible:
+ items:
+ - const: brcm,bcm2835-pm
+ - const: brcm,bcm2835-pm-wdt
+
+ reg:
+ minItems: 1
+ maxItems: 2
+ items:
+ - description: PM registers
+ - description: ASB registers
+
+ "#power-domain-cells":
+ const: 1
+
+ "#reset-cells":
+ const: 1
+
+ clocks:
+ minItems: 4
+ maxItems: 4
+
+ clock-names:
+ items:
+ - const: v3d
+ - const: peri_image
+ - const: h264
+ - const: isp
+
+ system-power-controller:
+ type: boolean
+
+ timeout-sec: true
+
+required:
+ - compatible
+ - reg
+ - "#power-domain-cells"
+ - "#reset-cells"
+ - clocks
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/bcm2835.h>
+
+ watchdog@7e100000 {
+ compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
+ #power-domain-cells = <1>;
+ #reset-cells = <1>;
+ reg = <0x7e100000 0x114>,
+ <0x7e00a000 0x24>;
+ clocks = <&clocks BCM2835_CLOCK_V3D>,
+ <&clocks BCM2835_CLOCK_PERI_IMAGE>,
+ <&clocks BCM2835_CLOCK_H264>,
+ <&clocks BCM2835_CLOCK_ISP>;
+ clock-names = "v3d", "peri_image", "h264", "isp";
+ system-power-controller;
+ };
--
2.30.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 02/15] dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
2021-02-17 11:47 ` [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema Nicolas Saenz Julienne
@ 2021-02-17 11:47 ` Nicolas Saenz Julienne
2021-03-05 22:28 ` Rob Herring
2021-02-17 11:47 ` [PATCH v3 03/15] dt-bindings: soc: bcm: bcm2835-pm: Add support for bcm2711 Nicolas Saenz Julienne
` (4 subsequent siblings)
6 siblings, 1 reply; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:47 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, Nicolas Saenz Julienne,
Florian Fainelli, Ray Jui, Scott Branden,
bcm-kernel-feedback-list
Cc: linux-rpi-kernel, phil, wahrenst, mripard, eric, robh,
Rob Herring, devicetree
Anticipating the introduction of BCM2711, of which we'll need to support
its new RPiVid ASB, introduce reg-names into bcm2835-pm's binding. This
will help to have a consistent mapping between resources and their
meaning.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
.../devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
index 47b9c266ddd1..837963e9f219 100644
--- a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
+++ b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
@@ -25,9 +25,13 @@ properties:
reg:
minItems: 1
maxItems: 2
+
+ reg-names:
+ minItems: 1
+ maxItems: 2
items:
- - description: PM registers
- - description: ASB registers
+ - const: pm
+ - const: asb
"#power-domain-cells":
const: 1
@@ -70,6 +74,7 @@ examples:
#reset-cells = <1>;
reg = <0x7e100000 0x114>,
<0x7e00a000 0x24>;
+ reg-names = "pm", "asb";
clocks = <&clocks BCM2835_CLOCK_V3D>,
<&clocks BCM2835_CLOCK_PERI_IMAGE>,
<&clocks BCM2835_CLOCK_H264>,
--
2.30.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 03/15] dt-bindings: soc: bcm: bcm2835-pm: Add support for bcm2711
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
2021-02-17 11:47 ` [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema Nicolas Saenz Julienne
2021-02-17 11:47 ` [PATCH v3 02/15] dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names Nicolas Saenz Julienne
@ 2021-02-17 11:47 ` Nicolas Saenz Julienne
2021-02-17 11:47 ` [PATCH v3 04/15] ARM: dts: bcm2835/bcm2711: Introduce reg-names in watchdog node Nicolas Saenz Julienne
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:47 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, Nicolas Saenz Julienne,
Florian Fainelli, Ray Jui, Scott Branden,
bcm-kernel-feedback-list
Cc: linux-rpi-kernel, phil, wahrenst, mripard, eric, robh,
Rob Herring, devicetree
Add a new compatible string for BCM2711 and the option to provide a
third reg property for the board's new RPiVid ASB.
In BCM2711 the new RPiVid ASB took over V3D, which is our only consumer
of this driver so far. The old ASB is still be present with ISP and H264
bits but no V3D.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Changes since v2:
- Correct names s/argon/rpivid/
.../devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
index 837963e9f219..0dd264f80fb3 100644
--- a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
+++ b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
@@ -19,19 +19,22 @@ allOf:
properties:
compatible:
items:
- - const: brcm,bcm2835-pm
+ - enum:
+ - brcm,bcm2835-pm
+ - brcm,bcm2711-pm
- const: brcm,bcm2835-pm-wdt
reg:
minItems: 1
- maxItems: 2
+ maxItems: 3
reg-names:
minItems: 1
- maxItems: 2
+ maxItems: 3
items:
- const: pm
- const: asb
+ - const: rpivid_asb
"#power-domain-cells":
const: 1
@@ -74,7 +77,7 @@ examples:
#reset-cells = <1>;
reg = <0x7e100000 0x114>,
<0x7e00a000 0x24>;
- reg-names = "pm", "asb";
+ reg-names = "pm", "asb", "rpivid_asb";
clocks = <&clocks BCM2835_CLOCK_V3D>,
<&clocks BCM2835_CLOCK_PERI_IMAGE>,
<&clocks BCM2835_CLOCK_H264>,
--
2.30.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 04/15] ARM: dts: bcm2835/bcm2711: Introduce reg-names in watchdog node
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
` (2 preceding siblings ...)
2021-02-17 11:47 ` [PATCH v3 03/15] dt-bindings: soc: bcm: bcm2835-pm: Add support for bcm2711 Nicolas Saenz Julienne
@ 2021-02-17 11:47 ` Nicolas Saenz Julienne
2021-02-17 11:48 ` [PATCH v3 05/15] ARM: dts: bcm2711: Use proper compatible in PM/Watchdog node Nicolas Saenz Julienne
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:47 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, Rob Herring,
Nicolas Saenz Julienne, Florian Fainelli, Ray Jui, Scott Branden,
bcm-kernel-feedback-list
Cc: linux-rpi-kernel, phil, wahrenst, mripard, eric, robh, devicetree
bcm2835-pm's bindings now support explicitly setting 'reg-names,' so use
them.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
arch/arm/boot/dts/bcm2711.dtsi | 1 +
arch/arm/boot/dts/bcm2835-common.dtsi | 1 +
2 files changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index 462b1dfb0385..e4bbc1a83452 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -113,6 +113,7 @@ pm: watchdog@7e100000 {
reg = <0x7e100000 0x114>,
<0x7e00a000 0x24>,
<0x7ec11000 0x20>;
+ reg-names = "pm", "asb", "rpivid_asb";
clocks = <&clocks BCM2835_CLOCK_V3D>,
<&clocks BCM2835_CLOCK_PERI_IMAGE>,
<&clocks BCM2835_CLOCK_H264>,
diff --git a/arch/arm/boot/dts/bcm2835-common.dtsi b/arch/arm/boot/dts/bcm2835-common.dtsi
index 4119271c979d..db0ed88edec2 100644
--- a/arch/arm/boot/dts/bcm2835-common.dtsi
+++ b/arch/arm/boot/dts/bcm2835-common.dtsi
@@ -62,6 +62,7 @@ pm: watchdog@7e100000 {
#reset-cells = <1>;
reg = <0x7e100000 0x114>,
<0x7e00a000 0x24>;
+ reg-names = "pm", "asb";
clocks = <&clocks BCM2835_CLOCK_V3D>,
<&clocks BCM2835_CLOCK_PERI_IMAGE>,
<&clocks BCM2835_CLOCK_H264>,
--
2.30.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 05/15] ARM: dts: bcm2711: Use proper compatible in PM/Watchdog node
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
` (3 preceding siblings ...)
2021-02-17 11:47 ` [PATCH v3 04/15] ARM: dts: bcm2835/bcm2711: Introduce reg-names in watchdog node Nicolas Saenz Julienne
@ 2021-02-17 11:48 ` Nicolas Saenz Julienne
2021-02-17 11:48 ` [PATCH v3 10/15] dt-bindings: gpu: v3d: Add BCM2711's compatible Nicolas Saenz Julienne
2021-02-17 11:48 ` [PATCH v3 13/15] ARM: dts: bcm2711: Enable V3D Nicolas Saenz Julienne
6 siblings, 0 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, Rob Herring,
Nicolas Saenz Julienne
Cc: f.fainelli, linux-rpi-kernel, phil, wahrenst,
bcm-kernel-feedback-list, mripard, eric, robh, devicetree
A new compatible string was introduced specifically for BCM2711, so make
use of it.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
arch/arm/boot/dts/bcm2711.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index e4bbc1a83452..e864974b10c9 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -107,7 +107,7 @@ dma: dma@7e007000 {
};
pm: watchdog@7e100000 {
- compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
+ compatible = "brcm,bcm2711-pm", "brcm,bcm2835-pm-wdt";
#power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x7e100000 0x114>,
--
2.30.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 10/15] dt-bindings: gpu: v3d: Add BCM2711's compatible
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
` (4 preceding siblings ...)
2021-02-17 11:48 ` [PATCH v3 05/15] ARM: dts: bcm2711: Use proper compatible in PM/Watchdog node Nicolas Saenz Julienne
@ 2021-02-17 11:48 ` Nicolas Saenz Julienne
2021-02-17 11:48 ` [PATCH v3 13/15] ARM: dts: bcm2711: Enable V3D Nicolas Saenz Julienne
6 siblings, 0 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, David Airlie, Daniel Vetter,
Eric Anholt, Saenz Julienne
Cc: f.fainelli, linux-rpi-kernel, phil, wahrenst,
bcm-kernel-feedback-list, mripard, robh, Rob Herring, dri-devel,
devicetree
BCM2711, Raspberry Pi 4's SoC, contains a V3D core. So add its specific
compatible to the bindings.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
index 9d72264fa90a..8401385bb33c 100644
--- a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
+++ b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
@@ -18,6 +18,7 @@ properties:
enum:
- brcm,7268-v3d
- brcm,7278-v3d
+ - brcm,bcm2711-v3d
reg:
items:
--
2.30.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 13/15] ARM: dts: bcm2711: Enable V3D
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
` (5 preceding siblings ...)
2021-02-17 11:48 ` [PATCH v3 10/15] dt-bindings: gpu: v3d: Add BCM2711's compatible Nicolas Saenz Julienne
@ 2021-02-17 11:48 ` Nicolas Saenz Julienne
6 siblings, 0 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-17 11:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, Rob Herring,
Nicolas Saenz Julienne
Cc: f.fainelli, linux-rpi-kernel, phil, wahrenst,
bcm-kernel-feedback-list, mripard, eric, robh, devicetree
This enables V3D for bcm2711 (used in the Raspberry Pi 4).
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
Changes since v1:
- Correct node's name address
arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index e864974b10c9..d2bbfc7c4daa 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -549,6 +549,18 @@ genet_mdio: mdio@e14 {
#size-cells = <0x1>;
};
};
+
+ v3d: gpu@7ec00000 {
+ compatible = "brcm,bcm2711-v3d";
+ reg = <0x0 0x7ec00000 0x4000>,
+ <0x0 0x7ec04000 0x4000>;
+ reg-names = "hub", "core0";
+
+ power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
+ resets = <&pm BCM2835_RESET_V3D>;
+ clocks = <&firmware_clocks 5>;
+ interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
+ };
};
};
--
2.30.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema
2021-02-17 11:47 ` [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema Nicolas Saenz Julienne
@ 2021-03-05 22:28 ` Rob Herring
0 siblings, 0 replies; 10+ messages in thread
From: Rob Herring @ 2021-03-05 22:28 UTC (permalink / raw)
To: Nicolas Saenz Julienne
Cc: Rob Herring, phil, linux-rpi-kernel, mripard, linux-kernel,
bcm-kernel-feedback-list, Scott Branden, devicetree, wahrenst,
Florian Fainelli, Ray Jui, linux-arm-kernel, eric
On Wed, 17 Feb 2021 12:47:56 +0100, Nicolas Saenz Julienne wrote:
> This converts the brcm,bcm2835-pm bindings from text to proper schema.
>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>
> ---
>
> Changes since v2:
> - Slightly change things to make it less dependent on next commits
>
> .../bindings/soc/bcm/brcm,bcm2835-pm.txt | 46 -----------
> .../bindings/soc/bcm/brcm,bcm2835-pm.yaml | 79 +++++++++++++++++++
> 2 files changed, 79 insertions(+), 46 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt
> create mode 100644 Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 02/15] dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names
2021-02-17 11:47 ` [PATCH v3 02/15] dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names Nicolas Saenz Julienne
@ 2021-03-05 22:28 ` Rob Herring
0 siblings, 0 replies; 10+ messages in thread
From: Rob Herring @ 2021-03-05 22:28 UTC (permalink / raw)
To: Nicolas Saenz Julienne
Cc: bcm-kernel-feedback-list, Ray Jui, devicetree, linux-rpi-kernel,
wahrenst, Scott Branden, Rob Herring, linux-kernel,
Florian Fainelli, eric, phil, linux-arm-kernel, mripard
On Wed, 17 Feb 2021 12:47:57 +0100, Nicolas Saenz Julienne wrote:
> Anticipating the introduction of BCM2711, of which we'll need to support
> its new RPiVid ASB, introduce reg-names into bcm2835-pm's binding. This
> will help to have a consistent mapping between resources and their
> meaning.
>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> ---
> .../devicetree/bindings/soc/bcm/brcm,bcm2835-pm.yaml | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-03-05 22:30 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-17 11:47 [PATCH v3 00/15] Raspberry PI 4 V3D enablement Nicolas Saenz Julienne
2021-02-17 11:47 ` [PATCH v3 01/15] dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema Nicolas Saenz Julienne
2021-03-05 22:28 ` Rob Herring
2021-02-17 11:47 ` [PATCH v3 02/15] dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names Nicolas Saenz Julienne
2021-03-05 22:28 ` Rob Herring
2021-02-17 11:47 ` [PATCH v3 03/15] dt-bindings: soc: bcm: bcm2835-pm: Add support for bcm2711 Nicolas Saenz Julienne
2021-02-17 11:47 ` [PATCH v3 04/15] ARM: dts: bcm2835/bcm2711: Introduce reg-names in watchdog node Nicolas Saenz Julienne
2021-02-17 11:48 ` [PATCH v3 05/15] ARM: dts: bcm2711: Use proper compatible in PM/Watchdog node Nicolas Saenz Julienne
2021-02-17 11:48 ` [PATCH v3 10/15] dt-bindings: gpu: v3d: Add BCM2711's compatible Nicolas Saenz Julienne
2021-02-17 11:48 ` [PATCH v3 13/15] ARM: dts: bcm2711: Enable V3D Nicolas Saenz Julienne
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).