Re: [RFC 3/3] arm64: dts: renesas: r8a774a1: Add GPU Node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Adam,

On Tue, May 30, 2023 at 1:21 PM Adam Ford <aford173@xxxxxxxxx> wrote:
> With the 3dge and ZG clocks now available, the generic GPU node can
> be added.  Until proper firmware is made, it is not usable.
>
> Signed-off-by: Adam Ford <aford173@xxxxxxxxx>
> ---
> This is based on the assumption that the Rogue 6250 could use
> generic driver [1] and firmware [2] being implemebted by the Mesa group
> and others.  In practice, the firmware isn't really compatible since
> the 6250 in the RZ/G2M appears to be a different variant.
>
> [1] - https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/powervr-next
> [2] - https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/tree/powervr/powervr

Thanks for your patch!

> --- a/arch/arm64/boot/dts/renesas/r8a774a1.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a774a1.dtsi
> @@ -226,6 +226,27 @@ extalr_clk: extalr {
>                 clock-frequency = <0>;
>         };
>
> +       gpu_opp_table: opp-table {
> +               compatible = "operating-points-v2";
> +
> +               opp-200000000 {
> +                       opp-hz = /bits/ 64 <200000000>;
> +                       opp-microvolt = <830000>;
> +               };
> +               opp-300000000 {
> +                       opp-hz = /bits/ 64 <300000000>;
> +                       opp-microvolt = <830000>;
> +               };
> +               opp-400000000 {
> +                       opp-hz = /bits/ 64 <400000000>;
> +                       opp-microvolt = <830000>;
> +               };
> +               opp-600000000 {
> +                       opp-hz = /bits/ 64 <600000000>;
> +                       opp-microvolt = <830000>;
> +               };
> +       };
> +
>         /* External PCIe clock - can be overridden by the board */
>         pcie_bus_clk: pcie_bus {
>                 compatible = "fixed-clock";
> @@ -2347,6 +2368,18 @@ gic: interrupt-controller@f1010000 {
>                         resets = <&cpg 408>;
>                 };
>
> +               gpu@fd000000 {
> +                       compatible = "img,powervr-series6xt";
> +                       reg = <0 0xfd000000 0 0x40000>;
> +                       interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 112>, <&cpg CPG_MOD 112>,<&cpg CPG_MOD 112>;
> +                       clock-names = "core", "mem", "sys";
> +                       interrupt-names = "gpu";
> +                       operating-points-v2 = <&gpu_opp_table>;
> +                       power-domains = <&sysc R8A774A1_PD_3DG_B>;
> +                       resets = <&cpg 112>;
> +               };
> +
>                 pciec0: pcie@fe000000 {
>                         compatible = "renesas,pcie-r8a774a1",
>                                      "renesas,pcie-rcar-gen3";

LGTM.  But obviously I cannot take this as-is, as there are no DT bindings
for this device, and it didn't work for you...

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux