dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU
@ 2022-04-14  2:50 Nick Fan
  2022-04-14  2:50 ` [PATCH v6 2/2] arm64: dts: mt8192: Add node for the Mali GPU Nick Fan
  2022-04-14 11:51 ` [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU AngeloGioacchino Del Regno
  0 siblings, 2 replies; 6+ messages in thread
From: Nick Fan @ 2022-04-14  2:50 UTC (permalink / raw)
  To: Rob Herring, Matthias Brugger
  Cc: devicetree, srv_heupstream, fshao, David Airlie, linux-kernel,
	dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek,
	alyssa.rosenzweig, wenst, Nick Fan, linux-arm-kernel

Add devicetree schema for Arm Mali Valhall GPU

Define a compatible string for the Mali Valhall GPU
for MediaTek's SoC platform.

Signed-off-by: Nick Fan <Nick.Fan@mediatek.com>
---
 .../bindings/gpu/arm,mali-valhall.yaml        | 201 ++++++++++++++++++
 1 file changed, 201 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/gpu/arm,mali-valhall.yaml

diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-valhall.yaml b/Documentation/devicetree/bindings/gpu/arm,mali-valhall.yaml
new file mode 100644
index 000000000000..526384d1e3ff
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpu/arm,mali-valhall.yaml
@@ -0,0 +1,201 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2020 MediaTek Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpu/arm,mali-valhall.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM Mali Valhall GPU
+
+maintainers:
+  - Rob Herring <robh@kernel.org>
+
+properties:
+  $nodename:
+    pattern: '^gpu@[a-f0-9]+$'
+
+  compatible:
+    items:
+      - enum:
+          - mediatek,mt8192-mali
+      - const: arm,mali-valhall
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    items:
+      - description: Job interrupt
+      - description: MMU interrupt
+      - description: GPU interrupt
+
+  interrupt-names:
+    items:
+      - const: job
+      - const: mmu
+      - const: gpu
+
+  clocks:
+    minItems: 1
+
+  power-domains:
+    minItems: 1
+    maxItems: 5
+
+  mali-supply: true
+  sram-supply: true
+
+  operating-points-v2: true
+  opp-table: true
+
+  "#cooling-cells":
+    const: 2
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - interrupt-names
+  - clocks
+
+additionalProperties: false
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mediatek,mt8192-mali
+    then:
+      properties:
+        power-domains:
+          minItems: 5
+          maxItems: 5
+
+        power-domain-names:
+          items:
+            - const: core0
+            - const: core1
+            - const: core2
+            - const: core3
+            - const: core4
+
+      required:
+        - sram-supply
+        - power-domains
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    gpu@13000000 {
+        compatible = "mediatek,mt8192-mali", "arm,mali-valhall";
+        reg = <0x13000000 0x4000>;
+        interrupts =
+            <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH 0>,
+            <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH 0>,
+            <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH 0>;
+        interrupt-names =
+            "gpu",
+            "mmu",
+            "job";
+
+        clocks = <&mfgcfg 0>;
+
+        power-domains =
+            <&spm 4>,
+            <&spm 5>,
+            <&spm 6>,
+            <&spm 7>,
+            <&spm 8>;
+
+        operating-points-v2 = <&gpu_opp_table>;
+        mali-supply = <&mt6315_7_vbuck1>;
+        sram-supply = <&mt6359_vsram_others_ldo_reg>;
+        gpu_opp_table: opp_table {
+            compatible = "operating-points-v2";
+            opp-shared;
+
+            opp-358000000 {
+                opp-hz = /bits/ 64 <358000000>;
+                opp-microvolt = <606250>, <750000>;
+            };
+
+            opp-399000000 {
+                opp-hz = /bits/ 64 <399000000>;
+                opp-microvolt = <618750>, <750000>;
+            };
+
+            opp-440000000 {
+                opp-hz = /bits/ 64 <440000000>;
+                opp-microvolt = <631250>, <750000>;
+            };
+
+            opp-482000000 {
+                opp-hz = /bits/ 64 <482000000>;
+                opp-microvolt = <643750>, <750000>;
+            };
+
+            opp-523000000 {
+                opp-hz = /bits/ 64 <523000000>;
+                opp-microvolt = <656250>, <750000>;
+            };
+
+            opp-564000000 {
+                opp-hz = /bits/ 64 <564000000>;
+                opp-microvolt = <668750>, <750000>;
+            };
+
+            opp-605000000 {
+                opp-hz = /bits/ 64 <605000000>;
+                opp-microvolt = <681250>, <750000>;
+            };
+
+            opp-647000000 {
+                opp-hz = /bits/ 64 <647000000>;
+                opp-microvolt = <693750>, <750000>;
+            };
+
+            opp-688000000 {
+                opp-hz = /bits/ 64 <688000000>;
+                opp-microvolt = <706250>, <750000>;
+            };
+
+            opp-724000000 {
+                opp-hz = /bits/ 64 <724000000>;
+                opp-microvolt = <725000>, <750000>;
+            };
+
+            opp-748000000 {
+                opp-hz = /bits/ 64 <748000000>;
+                opp-microvolt = <737500>, <750000>;
+            };
+
+            opp-772000000 {
+                opp-hz = /bits/ 64 <772000000>;
+                opp-microvolt = <750000>, <750000>;
+            };
+
+            opp-795000000 {
+                opp-hz = /bits/ 64 <795000000>;
+                opp-microvolt = <762500>, <762500>;
+            };
+
+            opp-819000000 {
+                opp-hz = /bits/ 64 <819000000>;
+                opp-microvolt = <775000>, <775000>;
+            };
+
+            opp-843000000 {
+                opp-hz = /bits/ 64 <843000000>;
+                opp-microvolt = <787500>, <787500>;
+            };
+
+            opp-866000000 {
+                opp-hz = /bits/ 64 <866000000>;
+                opp-microvolt = <800000>, <800000>;
+            };
+        };
+    };
+...
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v6 2/2] arm64: dts: mt8192: Add node for the Mali GPU
  2022-04-14  2:50 [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU Nick Fan
@ 2022-04-14  2:50 ` Nick Fan
  2022-04-18  6:16   ` Fei Shao
  2022-04-14 11:51 ` [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU AngeloGioacchino Del Regno
  1 sibling, 1 reply; 6+ messages in thread
From: Nick Fan @ 2022-04-14  2:50 UTC (permalink / raw)
  To: Rob Herring, Matthias Brugger
  Cc: devicetree, srv_heupstream, fshao, David Airlie, linux-kernel,
	dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek,
	alyssa.rosenzweig, wenst, Nick Fan, linux-arm-kernel

Add a basic GPU node for mt8192.

Signed-off-by: Nick Fan <Nick.Fan@mediatek.com>
---
This patch depends on MediaTek power and regulator support.

Listed as following.

[1]https://patchwork.kernel.org/project/linux-mediatek/patch/1612678457-11548-4-git-send-email-hsin-hsiung.wang@mediatek.com/
[2]https://patchwork.kernel.org/project/linux-mediatek/patch/1622011927-359-9-git-send-email-hsin-hsiung.wang@mediatek.com/
[3]https://patchwork.kernel.org/project/linux-mediatek/patch/20220318144534.17996-3-allen-kh.cheng@mediatek.com/
[4]https://patchwork.kernel.org/project/linux-mediatek/patch/1605700894-32699-6-git-send-email-hsin-hsiung.wang@mediatek.com/
---
---
 arch/arm64/boot/dts/mediatek/mt8192-evb.dts |   7 ++
 arch/arm64/boot/dts/mediatek/mt8192.dtsi    | 124 ++++++++++++++++++++
 2 files changed, 131 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8192-evb.dts b/arch/arm64/boot/dts/mediatek/mt8192-evb.dts
index 3369cd962f11..e232089688b8 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8192-evb.dts
@@ -5,6 +5,7 @@
  */
 /dts-v1/;
 #include "mt8192.dtsi"
+#include "mt6359.dtsi"
 
 / {
 	model = "MediaTek MT8192 evaluation board";
@@ -69,6 +70,12 @@
 	};
 };
 
+&gpu {
+	supply-names = "mali","sram";
+	mali-supply = <&mt6315_7_vbuck1>;
+	sram-supply = <&mt6359_vsram_others_ldo_reg>;
+};
+
 &uart0 {
 	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
index 6150f99a9b87..5514f31f1aa2 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
@@ -899,6 +899,130 @@
 			#clock-cells = <1>;
 		};
 
+		gpu: mali@13000000 {
+			compatible = "mediatek,mt8192-mali", "arm,mali-valhall";
+			reg = <0 0x13000000 0 0x4000>;
+			interrupts =
+				<GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH 0>,
+				<GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH 0>,
+				<GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH 0>;
+			interrupt-names =
+				"gpu",
+				"mmu",
+				"job";
+
+			clocks =
+				<&apmixedsys CLK_APMIXED_MFGPLL>,
+				<&topckgen CLK_TOP_MFG_PLL_SEL>,
+				<&topckgen CLK_TOP_MFG_REF_SEL>,
+				<&mfgcfg CLK_MFG_BG3D>;
+			clock-names =
+				"clk_main_parent",
+				"clk_mux",
+				"clk_sub_parent",
+				"subsys_mfg_cg";
+
+			power-domains =
+				<&spm MT8192_POWER_DOMAIN_MFG2>,
+				<&spm MT8192_POWER_DOMAIN_MFG3>,
+				<&spm MT8192_POWER_DOMAIN_MFG4>,
+				<&spm MT8192_POWER_DOMAIN_MFG5>,
+				<&spm MT8192_POWER_DOMAIN_MFG6>;
+			power-domain-names = "core0",
+					     "core1",
+					     "core2",
+					     "core3",
+					     "core4";
+
+			operating-points-v2 = <&gpu_opp_table>;
+			#cooling-cells = <2>;
+
+			gpu_opp_table: opp_table0 {
+				compatible = "operating-points-v2";
+				opp-shared;
+
+				opp-358000000 {
+					opp-hz = /bits/ 64 <358000000>;
+					opp-microvolt = <606250>, <750000>;
+				};
+
+				opp-399000000 {
+					opp-hz = /bits/ 64 <399000000>;
+					opp-microvolt = <618750>, <750000>;
+				};
+
+				opp-440000000 {
+					opp-hz = /bits/ 64 <440000000>;
+					opp-microvolt = <631250>, <750000>;
+				};
+
+				opp-482000000 {
+					opp-hz = /bits/ 64 <482000000>;
+					opp-microvolt = <643750>, <750000>;
+				};
+
+				opp-523000000 {
+					opp-hz = /bits/ 64 <523000000>;
+					opp-microvolt = <656250>, <750000>;
+				};
+
+				opp-564000000 {
+					opp-hz = /bits/ 64 <564000000>;
+					opp-microvolt = <668750>, <750000>;
+				};
+
+				opp-605000000 {
+					opp-hz = /bits/ 64 <605000000>;
+					opp-microvolt = <681250>, <750000>;
+				};
+
+				opp-647000000 {
+					opp-hz = /bits/ 64 <647000000>;
+					opp-microvolt = <693750>, <750000>;
+				};
+
+				opp-688000000 {
+					opp-hz = /bits/ 64 <688000000>;
+					opp-microvolt = <706250>, <750000>;
+				};
+
+				opp-724000000 {
+					opp-hz = /bits/ 64 <724000000>;
+					opp-microvolt = <725000>, <750000>;
+				};
+
+				opp-748000000 {
+					opp-hz = /bits/ 64 <748000000>;
+					opp-microvolt = <743750>, <750000>;
+				};
+
+				opp-772000000 {
+					opp-hz = /bits/ 64 <772000000>;
+					opp-microvolt = <750000>, <750000>;
+				};
+
+				opp-795000000 {
+					opp-hz = /bits/ 64 <795000000>;
+					opp-microvolt = <762500>, <762500>;
+				};
+
+				opp-819000000 {
+					opp-hz = /bits/ 64 <819000000>;
+					opp-microvolt = <775000>, <775000>;
+				};
+
+				opp-843000000 {
+					opp-hz = /bits/ 64 <843000000>;
+					opp-microvolt = <787500>, <787500>;
+				};
+
+				opp-866000000 {
+					opp-hz = /bits/ 64 <866000000>;
+					opp-microvolt = <800000>, <800000>;
+				};
+			};
+		};
+
 		mfgcfg: clock-controller@13fbf000 {
 			compatible = "mediatek,mt8192-mfgcfg";
 			reg = <0 0x13fbf000 0 0x1000>;
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU
  2022-04-14  2:50 [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU Nick Fan
  2022-04-14  2:50 ` [PATCH v6 2/2] arm64: dts: mt8192: Add node for the Mali GPU Nick Fan
@ 2022-04-14 11:51 ` AngeloGioacchino Del Regno
  2022-04-14 12:47   ` Steven Price
  1 sibling, 1 reply; 6+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-04-14 11:51 UTC (permalink / raw)
  To: Nick Fan, Rob Herring, Matthias Brugger
  Cc: devicetree, srv_heupstream, David Airlie, linux-kernel,
	dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek,
	alyssa.rosenzweig, wenst, linux-arm-kernel

Il 14/04/22 04:50, Nick Fan ha scritto:
> Add devicetree schema for Arm Mali Valhall GPU
> 
> Define a compatible string for the Mali Valhall GPU
> for MediaTek's SoC platform.
> 
> Signed-off-by: Nick Fan <Nick.Fan@mediatek.com>

Hello Nick,
Unfortunately, this binding is completely wrong.

First of all, there's no arm,mali-valhall driver upstream - this will be managed
by panfrost later, yes, but right now there's no support.
Then, you're also setting opp-microvolt in a way that will never (or, at least,
not anytime soon) be supported by the upstream driver, as it manages only one
supply for devfreq scaling.

Besides, please don't push bindings that have no upstream driver, especially if
these are for downstream drivers requiring proprietary components, while a
completely open source implementation is in the works.

Regards,
Angelo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU
  2022-04-14 11:51 ` [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU AngeloGioacchino Del Regno
@ 2022-04-14 12:47   ` Steven Price
  2022-04-21  8:49     ` Chen-Yu Tsai
  0 siblings, 1 reply; 6+ messages in thread
From: Steven Price @ 2022-04-14 12:47 UTC (permalink / raw)
  To: AngeloGioacchino Del Regno, Nick Fan, Rob Herring, Matthias Brugger
  Cc: devicetree, srv_heupstream, David Airlie, linux-kernel,
	dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek,
	alyssa.rosenzweig, wenst, linux-arm-kernel

On 14/04/2022 12:51, AngeloGioacchino Del Regno wrote:
> Il 14/04/22 04:50, Nick Fan ha scritto:
>> Add devicetree schema for Arm Mali Valhall GPU
>>
>> Define a compatible string for the Mali Valhall GPU
>> for MediaTek's SoC platform.
>>
>> Signed-off-by: Nick Fan <Nick.Fan@mediatek.com>
> 
> Hello Nick,
> Unfortunately, this binding is completely wrong.

I think that's unfair, although there is room for improvement.

> First of all, there's no arm,mali-valhall driver upstream - this will be
> managed
> by panfrost later, yes, but right now there's no support.

We need a binding agreed upon before support can be added.

> Then, you're also setting opp-microvolt in a way that will never (or, at
> least,
> not anytime soon) be supported by the upstream driver, as it manages
> only one
> supply for devfreq scaling.

The mt8183 binding (already in tree) is very similar. The binding also
should be describing the hardware not what the driver supports. There
are indeed limitations in Panfrost for supporting multiple supplies, but
that's something that needs improving in the driver not a reason to
block a (presumably correct) description of the hardware. I can't
comments on whether the specifics of the mt8192 are correct.

> Besides, please don't push bindings that have no upstream driver,
> especially if
> these are for downstream drivers requiring proprietary components, while a
> completely open source implementation is in the works.

More constructively, Alyssa has already posted a patch (as part of the
series adding driver support) which would extend the existing Bifrost
bindings to (pre-CSF) Valhall:

https://lore.kernel.org/dri-devel/20220211202728.6146-2-alyssa.rosenzweig@collabora.com/

I'm not sure I see the point of having a separate binding document for
Valhall considering the (pre-CSF) hardware is the same from the kernel
perspective.

Thanks,

Steve

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 2/2] arm64: dts: mt8192: Add node for the Mali GPU
  2022-04-14  2:50 ` [PATCH v6 2/2] arm64: dts: mt8192: Add node for the Mali GPU Nick Fan
@ 2022-04-18  6:16   ` Fei Shao
  0 siblings, 0 replies; 6+ messages in thread
From: Fei Shao @ 2022-04-18  6:16 UTC (permalink / raw)
  To: Nick Fan
  Cc: devicetree, srv_heupstream, David Airlie, linux-kernel,
	DRI Development, Project_Global_Chrome_Upstream_Group,
	Rob Herring, moderated list:ARM/Mediatek SoC support,
	alyssa.rosenzweig, wenst, Matthias Brugger, Linux ARM,
	AngeloGioacchino Del Regno

On Thu, Apr 14, 2022 at 10:53 AM Nick Fan <Nick.Fan@mediatek.com> wrote:
>
> Add a basic GPU node for mt8192.
>
> Signed-off-by: Nick Fan <Nick.Fan@mediatek.com>

Reviewed-by: Fei Shao <fshao@chromium.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU
  2022-04-14 12:47   ` Steven Price
@ 2022-04-21  8:49     ` Chen-Yu Tsai
  0 siblings, 0 replies; 6+ messages in thread
From: Chen-Yu Tsai @ 2022-04-21  8:49 UTC (permalink / raw)
  To: Steven Price, AngeloGioacchino Del Regno, Nick Fan
  Cc: devicetree, srv_heupstream, David Airlie, linux-kernel,
	dri-devel, Project_Global_Chrome_Upstream_Group, Rob Herring,
	linux-mediatek, alyssa.rosenzweig, Matthias Brugger,
	linux-arm-kernel

On Thu, Apr 14, 2022 at 8:47 PM Steven Price <steven.price@arm.com> wrote:
>
> On 14/04/2022 12:51, AngeloGioacchino Del Regno wrote:
> > Il 14/04/22 04:50, Nick Fan ha scritto:
> >> Add devicetree schema for Arm Mali Valhall GPU
> >>
> >> Define a compatible string for the Mali Valhall GPU
> >> for MediaTek's SoC platform.
> >>
> >> Signed-off-by: Nick Fan <Nick.Fan@mediatek.com>
> >
> > Hello Nick,
> > Unfortunately, this binding is completely wrong.
>
> I think that's unfair, although there is room for improvement.
>
> > First of all, there's no arm,mali-valhall driver upstream - this will be
> > managed
> > by panfrost later, yes, but right now there's no support.
>
> We need a binding agreed upon before support can be added.

+1. I asked them to send an updated binding for their hardware so that
we could have a discussion about it and converge on something.

> > Then, you're also setting opp-microvolt in a way that will never (or, at
> > least,
> > not anytime soon) be supported by the upstream driver, as it manages
> > only one
> > supply for devfreq scaling.
>
> The mt8183 binding (already in tree) is very similar. The binding also
> should be describing the hardware not what the driver supports. There
> are indeed limitations in Panfrost for supporting multiple supplies, but
> that's something that needs improving in the driver not a reason to
> block a (presumably correct) description of the hardware. I can't
> comments on whether the specifics of the mt8192 are correct.

Having an agreed upon binding also means that we can bring our downstream
driver into alignment, instead of having to maintain a device tree fork.

And +1 to being able to handle just one supply is a limitation of the
driver. Panfrost in its current state would just not enable devfreq
if more than supply is given [1]. Looking deeper, the OPP core currently
doesn't support more than one regulator for a given device.

> > Besides, please don't push bindings that have no upstream driver,
> > especially if
> > these are for downstream drivers requiring proprietary components, while a
> > completely open source implementation is in the works.
>
> More constructively, Alyssa has already posted a patch (as part of the
> series adding driver support) which would extend the existing Bifrost
> bindings to (pre-CSF) Valhall:
>
> https://lore.kernel.org/dri-devel/20220211202728.6146-2-alyssa.rosenzweig@collabora.com/
>
> I'm not sure I see the point of having a separate binding document for
> Valhall considering the (pre-CSF) hardware is the same from the kernel
> perspective.

So I suppose the next step should be to move the required MediaTek
specific changes into the existing binding instead of having a new
one?

Separately I think we would need a new binding to spell out the
requirements of MediaTek's two supply OPP table? Or maybe this could
be in the description of the Mali binding?


Thanks
ChenYu

[1] https://patchwork.freedesktop.org/patch/429782/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-04-21  8:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-14  2:50 [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU Nick Fan
2022-04-14  2:50 ` [PATCH v6 2/2] arm64: dts: mt8192: Add node for the Mali GPU Nick Fan
2022-04-18  6:16   ` Fei Shao
2022-04-14 11:51 ` [PATCH v6 1/2] dt-bindings: Add DT schema for Arm Mali Valhall GPU AngeloGioacchino Del Regno
2022-04-14 12:47   ` Steven Price
2022-04-21  8:49     ` Chen-Yu Tsai

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).