* [PATCH 0/3] thermal/drivers/imx91: minor updates
@ 2025-12-12 7:51 Peng Fan (OSS)
2025-12-12 7:51 ` [PATCH 1/3] thermal/drivers/imx91: Check status before reading data Peng Fan (OSS)
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Peng Fan (OSS) @ 2025-12-12 7:51 UTC (permalink / raw)
To: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frank Li
Cc: linux-pm, imx, linux-arm-kernel, linux-kernel, Peng Fan
patch 1: wait status ready before reading data
patch 2 and 3: minor cleanup
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Peng Fan (3):
thermal/drivers/imx91: Check status before reading data
thermal/drivers/imx91: Drop extra spaces
thermal/drivers/imx91: Drop macro for continues mode
drivers/thermal/imx91_thermal.c | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
---
base-commit: 008d3547aae5bc86fac3eda317489169c3fda112
change-id: 20251211-imx91-thermal-a0d185587349
Best regards,
--
Peng Fan <peng.fan@nxp.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] thermal/drivers/imx91: Check status before reading data
2025-12-12 7:51 [PATCH 0/3] thermal/drivers/imx91: minor updates Peng Fan (OSS)
@ 2025-12-12 7:51 ` Peng Fan (OSS)
2025-12-12 17:25 ` Frank Li
2025-12-12 7:51 ` [PATCH 2/3] thermal/drivers/imx91: Drop extra spaces Peng Fan (OSS)
2025-12-12 7:51 ` [PATCH 3/3] thermal/drivers/imx91: Drop macro for continues mode Peng Fan (OSS)
2 siblings, 1 reply; 7+ messages in thread
From: Peng Fan (OSS) @ 2025-12-12 7:51 UTC (permalink / raw)
To: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frank Li
Cc: linux-pm, imx, linux-arm-kernel, linux-kernel, Peng Fan
From: Peng Fan <peng.fan@nxp.com>
Per periodic mode from reference mannual:
Write 1b to CTRL1[START]. Wait until STATm[DRDYn] becomes 1.
Read DATAn[DATA_VAL]. It clears the corresponding STATm[DRDYn].
DATAn[DATA_VAL] and STATm[DRDYn_IF] keep refreshing at a periodic interval
of time, corresponding to PERIOD_CTRL[MEAS_FREQ].
Need to check STAT[DRDY] before reading the DATA register.
And check the returned temperature to make sure it fits into the supported
range (-40°C to +125°C).
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
drivers/thermal/imx91_thermal.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/thermal/imx91_thermal.c b/drivers/thermal/imx91_thermal.c
index 9b20be03d6dec18553967548d0ca31d1c1fb387c..77e8e6a921c6af308b830c36721293c007256ca6 100644
--- a/drivers/thermal/imx91_thermal.c
+++ b/drivers/thermal/imx91_thermal.c
@@ -108,10 +108,20 @@ static int imx91_tmu_get_temp(struct thermal_zone_device *tz, int *temp)
{
struct imx91_tmu *tmu = thermal_zone_device_priv(tz);
s16 data;
+ int ret;
+ u32 val;
+
+ ret = readl_relaxed_poll_timeout(tmu->base + IMX91_TMU_STAT0, val,
+ val & IMX91_TMU_STAT0_DRDY0_IF_MASK, 1000,
+ 40000);
+ if (ret)
+ return -EAGAIN;
/* DATA0 is 16bit signed number */
data = readw_relaxed(tmu->base + IMX91_TMU_DATA0);
*temp = imx91_tmu_to_mcelsius(data);
+ if (*temp < IMX91_TMU_TEMP_LOW_LIMIT || *temp > IMX91_TMU_TEMP_HIGH_LIMIT)
+ return -EAGAIN;
return 0;
}
--
2.37.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] thermal/drivers/imx91: Drop extra spaces
2025-12-12 7:51 [PATCH 0/3] thermal/drivers/imx91: minor updates Peng Fan (OSS)
2025-12-12 7:51 ` [PATCH 1/3] thermal/drivers/imx91: Check status before reading data Peng Fan (OSS)
@ 2025-12-12 7:51 ` Peng Fan (OSS)
2025-12-12 17:29 ` Frank Li
2025-12-12 7:51 ` [PATCH 3/3] thermal/drivers/imx91: Drop macro for continues mode Peng Fan (OSS)
2 siblings, 1 reply; 7+ messages in thread
From: Peng Fan (OSS) @ 2025-12-12 7:51 UTC (permalink / raw)
To: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frank Li
Cc: linux-pm, imx, linux-arm-kernel, linux-kernel, Peng Fan
From: Peng Fan <peng.fan@nxp.com>
Unify the code style, drop extra spaces for the macros.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
drivers/thermal/imx91_thermal.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/thermal/imx91_thermal.c b/drivers/thermal/imx91_thermal.c
index 77e8e6a921c6af308b830c36721293c007256ca6..768c5acc384eca1c2203098bd4749628d9ffb8e6 100644
--- a/drivers/thermal/imx91_thermal.c
+++ b/drivers/thermal/imx91_thermal.c
@@ -22,17 +22,17 @@
#define REG_TOG 0xc
#define IMX91_TMU_CTRL0 0x0
-#define IMX91_TMU_CTRL0_THR1_IE BIT(9)
-#define IMX91_TMU_CTRL0_THR1_MASK GENMASK(3, 2)
-#define IMX91_TMU_CTRL0_CLR_FLT1 BIT(21)
+#define IMX91_TMU_CTRL0_THR1_IE BIT(9)
+#define IMX91_TMU_CTRL0_THR1_MASK GENMASK(3, 2)
+#define IMX91_TMU_CTRL0_CLR_FLT1 BIT(21)
#define IMX91_TMU_THR_MODE_LE 0
#define IMX91_TMU_THR_MODE_GE 1
#define IMX91_TMU_STAT0 0x10
-#define IMX91_TMU_STAT0_THR1_IF BIT(9)
-#define IMX91_TMU_STAT0_THR1_STAT BIT(13)
-#define IMX91_TMU_STAT0_DRDY0_IF_MASK BIT(16)
+#define IMX91_TMU_STAT0_THR1_IF BIT(9)
+#define IMX91_TMU_STAT0_THR1_STAT BIT(13)
+#define IMX91_TMU_STAT0_DRDY0_IF_MASK BIT(16)
#define IMX91_TMU_DATA0 0x20
@@ -42,12 +42,12 @@
#define IMX91_TMU_CTRL1_STOP BIT(29)
#define IMX91_TMU_CTRL1_RES_MASK GENMASK(19, 18)
#define IMX91_TMU_CTRL1_MEAS_MODE_MASK GENMASK(25, 24)
-#define IMX91_TMU_CTRL1_MEAS_MODE_SINGLE 0
-#define IMX91_TMU_CTRL1_MEAS_MODE_CONTINUES 1
-#define IMX91_TMU_CTRL1_MEAS_MODE_PERIODIC 2
+#define IMX91_TMU_CTRL1_MEAS_MODE_SINGLE 0
+#define IMX91_TMU_CTRL1_MEAS_MODE_CONTINUES 1
+#define IMX91_TMU_CTRL1_MEAS_MODE_PERIODIC 2
#define IMX91_TMU_THR_CTRL01 0x30
-#define IMX91_TMU_THR_CTRL01_THR1_MASK GENMASK(31, 16)
+#define IMX91_TMU_THR_CTRL01_THR1_MASK GENMASK(31, 16)
#define IMX91_TMU_REF_DIV 0x280
#define IMX91_TMU_DIV_EN BIT(31)
@@ -67,7 +67,7 @@
#define IMX91_TMU_DEFAULT_TRIM2_CONFIG 0x65d4
#define IMX91_TMU_PERIOD_CTRL 0x270
-#define IMX91_TMU_PERIOD_CTRL_MEAS_MASK GENMASK(23, 0)
+#define IMX91_TMU_PERIOD_CTRL_MEAS_MASK GENMASK(23, 0)
#define IMX91_TMP_FRAC 64
--
2.37.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] thermal/drivers/imx91: Drop macro for continues mode
2025-12-12 7:51 [PATCH 0/3] thermal/drivers/imx91: minor updates Peng Fan (OSS)
2025-12-12 7:51 ` [PATCH 1/3] thermal/drivers/imx91: Check status before reading data Peng Fan (OSS)
2025-12-12 7:51 ` [PATCH 2/3] thermal/drivers/imx91: Drop extra spaces Peng Fan (OSS)
@ 2025-12-12 7:51 ` Peng Fan (OSS)
2 siblings, 0 replies; 7+ messages in thread
From: Peng Fan (OSS) @ 2025-12-12 7:51 UTC (permalink / raw)
To: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Frank Li
Cc: linux-pm, imx, linux-arm-kernel, linux-kernel, Peng Fan
From: Peng Fan <peng.fan@nxp.com>
i.MX91 TMU measure mode register definition as below:
00b Single One-Shot Measurement
01b Reserved
10b Periodic One-Shot Measurement
11b Reserved
Drop the definition of continues mode which does not exists.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
drivers/thermal/imx91_thermal.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/thermal/imx91_thermal.c b/drivers/thermal/imx91_thermal.c
index 768c5acc384eca1c2203098bd4749628d9ffb8e6..aa45eb83f9c7b58badd596d2d433592a9ee9e041 100644
--- a/drivers/thermal/imx91_thermal.c
+++ b/drivers/thermal/imx91_thermal.c
@@ -43,7 +43,6 @@
#define IMX91_TMU_CTRL1_RES_MASK GENMASK(19, 18)
#define IMX91_TMU_CTRL1_MEAS_MODE_MASK GENMASK(25, 24)
#define IMX91_TMU_CTRL1_MEAS_MODE_SINGLE 0
-#define IMX91_TMU_CTRL1_MEAS_MODE_CONTINUES 1
#define IMX91_TMU_CTRL1_MEAS_MODE_PERIODIC 2
#define IMX91_TMU_THR_CTRL01 0x30
--
2.37.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] thermal/drivers/imx91: Check status before reading data
2025-12-12 7:51 ` [PATCH 1/3] thermal/drivers/imx91: Check status before reading data Peng Fan (OSS)
@ 2025-12-12 17:25 ` Frank Li
2025-12-15 1:36 ` Peng Fan
0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2025-12-12 17:25 UTC (permalink / raw)
To: Peng Fan (OSS)
Cc: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
linux-pm, imx, linux-arm-kernel, linux-kernel, Peng Fan
On Fri, Dec 12, 2025 at 03:51:14PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> Per periodic mode from reference mannual:
> Write 1b to CTRL1[START]. Wait until STATm[DRDYn] becomes 1.
> Read DATAn[DATA_VAL]. It clears the corresponding STATm[DRDYn].
> DATAn[DATA_VAL] and STATm[DRDYn_IF] keep refreshing at a periodic interval
> of time, corresponding to PERIOD_CTRL[MEAS_FREQ].
It should get last time sample value without check DRDYn_IF bit. it should
only be a PERIOD_CTRL[MEAS_FREQ] delay.
worst case get value at previous's PERIOD_CTRL[MEAS_FREQ] sample.
PERIOD_CTRL[MEAS_FREQ] is quite short compare to call get_temp frequency.
Do you get invalidate data?
>
> Need to check STAT[DRDY] before reading the DATA register.
>
> And check the returned temperature to make sure it fits into the supported
> range (-40°C to +125°C).
https://lore.kernel.org/imx/aAIkAF_AHta8_vuS@mai.linaro.org/
Do you answer Daniel Lezcano's question
""When the measured temperature can be out of limits ?" at v6 resend
patch.
Frank
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> drivers/thermal/imx91_thermal.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/thermal/imx91_thermal.c b/drivers/thermal/imx91_thermal.c
> index 9b20be03d6dec18553967548d0ca31d1c1fb387c..77e8e6a921c6af308b830c36721293c007256ca6 100644
> --- a/drivers/thermal/imx91_thermal.c
> +++ b/drivers/thermal/imx91_thermal.c
> @@ -108,10 +108,20 @@ static int imx91_tmu_get_temp(struct thermal_zone_device *tz, int *temp)
> {
> struct imx91_tmu *tmu = thermal_zone_device_priv(tz);
> s16 data;
> + int ret;
> + u32 val;
> +
> + ret = readl_relaxed_poll_timeout(tmu->base + IMX91_TMU_STAT0, val,
> + val & IMX91_TMU_STAT0_DRDY0_IF_MASK, 1000,
> + 40000);
> + if (ret)
> + return -EAGAIN;
>
> /* DATA0 is 16bit signed number */
> data = readw_relaxed(tmu->base + IMX91_TMU_DATA0);
> *temp = imx91_tmu_to_mcelsius(data);
> + if (*temp < IMX91_TMU_TEMP_LOW_LIMIT || *temp > IMX91_TMU_TEMP_HIGH_LIMIT)
> + return -EAGAIN;
>
> return 0;
> }
>
> --
> 2.37.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/3] thermal/drivers/imx91: Drop extra spaces
2025-12-12 7:51 ` [PATCH 2/3] thermal/drivers/imx91: Drop extra spaces Peng Fan (OSS)
@ 2025-12-12 17:29 ` Frank Li
0 siblings, 0 replies; 7+ messages in thread
From: Frank Li @ 2025-12-12 17:29 UTC (permalink / raw)
To: Peng Fan (OSS)
Cc: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
linux-pm, imx, linux-arm-kernel, linux-kernel, Peng Fan
On Fri, Dec 12, 2025 at 03:51:15PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> Unify the code style, drop extra spaces for the macros.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> drivers/thermal/imx91_thermal.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/thermal/imx91_thermal.c b/drivers/thermal/imx91_thermal.c
> index 77e8e6a921c6af308b830c36721293c007256ca6..768c5acc384eca1c2203098bd4749628d9ffb8e6 100644
> --- a/drivers/thermal/imx91_thermal.c
> +++ b/drivers/thermal/imx91_thermal.c
> @@ -22,17 +22,17 @@
> #define REG_TOG 0xc
>
> #define IMX91_TMU_CTRL0 0x0
> -#define IMX91_TMU_CTRL0_THR1_IE BIT(9)
> -#define IMX91_TMU_CTRL0_THR1_MASK GENMASK(3, 2)
> -#define IMX91_TMU_CTRL0_CLR_FLT1 BIT(21)
> +#define IMX91_TMU_CTRL0_THR1_IE BIT(9)
> +#define IMX91_TMU_CTRL0_THR1_MASK GENMASK(3, 2)
> +#define IMX91_TMU_CTRL0_CLR_FLT1 BIT(21)
It is used for register field. Many new driver use this style.
#define REGISTER_NAME
#define REGISTER_FIELD
So register defination looks like tree. Reader can quick search field and
register name.
Frank
>
> #define IMX91_TMU_THR_MODE_LE 0
> #define IMX91_TMU_THR_MODE_GE 1
>
> #define IMX91_TMU_STAT0 0x10
> -#define IMX91_TMU_STAT0_THR1_IF BIT(9)
> -#define IMX91_TMU_STAT0_THR1_STAT BIT(13)
> -#define IMX91_TMU_STAT0_DRDY0_IF_MASK BIT(16)
> +#define IMX91_TMU_STAT0_THR1_IF BIT(9)
> +#define IMX91_TMU_STAT0_THR1_STAT BIT(13)
> +#define IMX91_TMU_STAT0_DRDY0_IF_MASK BIT(16)
>
> #define IMX91_TMU_DATA0 0x20
>
> @@ -42,12 +42,12 @@
> #define IMX91_TMU_CTRL1_STOP BIT(29)
> #define IMX91_TMU_CTRL1_RES_MASK GENMASK(19, 18)
> #define IMX91_TMU_CTRL1_MEAS_MODE_MASK GENMASK(25, 24)
> -#define IMX91_TMU_CTRL1_MEAS_MODE_SINGLE 0
> -#define IMX91_TMU_CTRL1_MEAS_MODE_CONTINUES 1
> -#define IMX91_TMU_CTRL1_MEAS_MODE_PERIODIC 2
> +#define IMX91_TMU_CTRL1_MEAS_MODE_SINGLE 0
> +#define IMX91_TMU_CTRL1_MEAS_MODE_CONTINUES 1
> +#define IMX91_TMU_CTRL1_MEAS_MODE_PERIODIC 2
>
> #define IMX91_TMU_THR_CTRL01 0x30
> -#define IMX91_TMU_THR_CTRL01_THR1_MASK GENMASK(31, 16)
> +#define IMX91_TMU_THR_CTRL01_THR1_MASK GENMASK(31, 16)
>
> #define IMX91_TMU_REF_DIV 0x280
> #define IMX91_TMU_DIV_EN BIT(31)
> @@ -67,7 +67,7 @@
> #define IMX91_TMU_DEFAULT_TRIM2_CONFIG 0x65d4
>
> #define IMX91_TMU_PERIOD_CTRL 0x270
> -#define IMX91_TMU_PERIOD_CTRL_MEAS_MASK GENMASK(23, 0)
> +#define IMX91_TMU_PERIOD_CTRL_MEAS_MASK GENMASK(23, 0)
>
> #define IMX91_TMP_FRAC 64
>
>
> --
> 2.37.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] thermal/drivers/imx91: Check status before reading data
2025-12-12 17:25 ` Frank Li
@ 2025-12-15 1:36 ` Peng Fan
0 siblings, 0 replies; 7+ messages in thread
From: Peng Fan @ 2025-12-15 1:36 UTC (permalink / raw)
To: Frank Li
Cc: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
linux-pm, imx, linux-arm-kernel, linux-kernel, Peng Fan
On Fri, Dec 12, 2025 at 12:25:48PM -0500, Frank Li wrote:
>On Fri, Dec 12, 2025 at 03:51:14PM +0800, Peng Fan (OSS) wrote:
>> From: Peng Fan <peng.fan@nxp.com>
>>
>> Per periodic mode from reference mannual:
>> Write 1b to CTRL1[START]. Wait until STATm[DRDYn] becomes 1.
>> Read DATAn[DATA_VAL]. It clears the corresponding STATm[DRDYn].
>> DATAn[DATA_VAL] and STATm[DRDYn_IF] keep refreshing at a periodic interval
>> of time, corresponding to PERIOD_CTRL[MEAS_FREQ].
>
>It should get last time sample value without check DRDYn_IF bit. it should
>only be a PERIOD_CTRL[MEAS_FREQ] delay.
>
>worst case get value at previous's PERIOD_CTRL[MEAS_FREQ] sample.
>
>PERIOD_CTRL[MEAS_FREQ] is quite short compare to call get_temp frequency.
>
>Do you get invalidate data?
No, this is just to align what we tested in LTS tree.
It should be fine to use last value, so drop this patch.
Thanks,
Peng
>
>>
>> Need to check STAT[DRDY] before reading the DATA register.
>>
>> And check the returned temperature to make sure it fits into the supported
>> range (-40°C to +125°C).
>
>https://lore.kernel.org/imx/aAIkAF_AHta8_vuS@mai.linaro.org/
>
>Do you answer Daniel Lezcano's question
> ""When the measured temperature can be out of limits ?" at v6 resend
>patch.
>
>Frank
>>
>> Signed-off-by: Peng Fan <peng.fan@nxp.com>
>> ---
>> drivers/thermal/imx91_thermal.c | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/drivers/thermal/imx91_thermal.c b/drivers/thermal/imx91_thermal.c
>> index 9b20be03d6dec18553967548d0ca31d1c1fb387c..77e8e6a921c6af308b830c36721293c007256ca6 100644
>> --- a/drivers/thermal/imx91_thermal.c
>> +++ b/drivers/thermal/imx91_thermal.c
>> @@ -108,10 +108,20 @@ static int imx91_tmu_get_temp(struct thermal_zone_device *tz, int *temp)
>> {
>> struct imx91_tmu *tmu = thermal_zone_device_priv(tz);
>> s16 data;
>> + int ret;
>> + u32 val;
>> +
>> + ret = readl_relaxed_poll_timeout(tmu->base + IMX91_TMU_STAT0, val,
>> + val & IMX91_TMU_STAT0_DRDY0_IF_MASK, 1000,
>> + 40000);
>> + if (ret)
>> + return -EAGAIN;
>>
>> /* DATA0 is 16bit signed number */
>> data = readw_relaxed(tmu->base + IMX91_TMU_DATA0);
>> *temp = imx91_tmu_to_mcelsius(data);
>> + if (*temp < IMX91_TMU_TEMP_LOW_LIMIT || *temp > IMX91_TMU_TEMP_HIGH_LIMIT)
>> + return -EAGAIN;
>>
>> return 0;
>> }
>>
>> --
>> 2.37.1
>>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-12-15 1:35 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-12 7:51 [PATCH 0/3] thermal/drivers/imx91: minor updates Peng Fan (OSS)
2025-12-12 7:51 ` [PATCH 1/3] thermal/drivers/imx91: Check status before reading data Peng Fan (OSS)
2025-12-12 17:25 ` Frank Li
2025-12-15 1:36 ` Peng Fan
2025-12-12 7:51 ` [PATCH 2/3] thermal/drivers/imx91: Drop extra spaces Peng Fan (OSS)
2025-12-12 17:29 ` Frank Li
2025-12-12 7:51 ` [PATCH 3/3] thermal/drivers/imx91: Drop macro for continues mode Peng Fan (OSS)
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).