[2/3] dt-bindings: arm: sunxi: Add two Teclast tablets

Message ID 20260914210115.28151-3-andre.przywara@arm.com (mailing list archive)
State New
Headers
Series dts: allwinner: Add Teclast P80 tablet support |

Commit Message

Andre Przywara Sept. 14, 2026, 9:01 p.m. UTC
Teclast produces some entry-level tablets with Allwinner SoCs, typically
featuring a new SoC early in the market.

Add the names for the Teclast P80 tablet, with an Allwinner A133 SoC,
but also the Teclast P85T, using an Allwinner A523 chip.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
 1 file changed, 10 insertions(+)
  

Comments

sashiko-bot@kernel.org Sept. 14, 2026, 9:19 p.m. UTC | #1
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Missing SoC fallback compatible string 'allwinner,sun50i-a100' for the Teclast P80 tablet breaks CPU frequency scaling.
--

commit 582b866f1ad9000afddf47eb7e4c9d37a95dfbc8
Author: Andre Przywara <andre.przywara@arm.com>

dt-bindings: arm: sunxi: Add two Teclast tablets

This commit adds devicetree bindings for the Teclast P80 and P85T tablets.
The Teclast P80 is based on the Allwinner A133 SoC, and the P85T uses the
Allwinner A523 SoC.

> diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
> index f04db28c630ac..28437c47ac01b 100644
> --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
> +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
> @@ -933,6 +933,16 @@ properties:

[ ... ]

> +      - description: Teclast P80 Tablet
> +        items:
> +          - const: teclast,p80
> +          - const: allwinner,sun50i-a133

[Severity: High]
Does this strict two-item compatible array omit the necessary fallback string?

The sun50i-cpufreq-nvmem driver in drivers/cpufreq/sun50i-cpufreq-nvmem.c
requires allwinner,sun50i-a100 to exist in the root node's compatible array
to bind via of_machine_device_match(sun50i_cpufreq_match_list).

Without this fallback string included in the bindings (and subsequently the
board's Device Tree), cpufreq-dt will not be instantiated. This will cause
CPU frequency scaling to silently fail on the Teclast P80 tablet, leaving
the system stuck at the bootloader-configured frequency.

> +
> +      - description: Teclast P85T Tablet
> +        items:
> +          - const: teclast,p85t
> +          - const: allwinner,sun55i-a523
> +
  
Andre Przywara Sept. 14, 2026, 10:51 p.m. UTC | #2
On Mon, 14 Sep 2026 21:19:39 +0000
sashiko-bot@kernel.org wrote:

> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [High] Missing SoC fallback compatible string 'allwinner,sun50i-a100' for the Teclast P80 tablet breaks CPU frequency scaling.

Well, there is more to it. We should rather add the a133 as an explicit
name in the driver, like we did for the H616 family. And the whole OPP
table is still from the old A100 days, it doesn't really cover the A133
or A133P values, which go up to 1.6GHz and 2.0 GHz, respectively.
The bin selection in the driver is also not adequate, the BSP code
seems to use the SID cell at 0x00 to select one of two speed bins, at
least for the A133. The A133P is probably still different.

So I'd rather keep the a133 fallback compatible, and adjust the driver.

Cheers,
Andre

> --
> 
> commit 582b866f1ad9000afddf47eb7e4c9d37a95dfbc8
> Author: Andre Przywara <andre.przywara@arm.com>
> 
> dt-bindings: arm: sunxi: Add two Teclast tablets
> 
> This commit adds devicetree bindings for the Teclast P80 and P85T tablets.
> The Teclast P80 is based on the Allwinner A133 SoC, and the P85T uses the
> Allwinner A523 SoC.
> 
> > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > index f04db28c630ac..28437c47ac01b 100644
> > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
> > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > @@ -933,6 +933,16 @@ properties:
> 
> [ ... ]
> 
> > +      - description: Teclast P80 Tablet
> > +        items:
> > +          - const: teclast,p80
> > +          - const: allwinner,sun50i-a133
> 
> [Severity: High]
> Does this strict two-item compatible array omit the necessary fallback string?
> 
> The sun50i-cpufreq-nvmem driver in drivers/cpufreq/sun50i-cpufreq-nvmem.c
> requires allwinner,sun50i-a100 to exist in the root node's compatible array
> to bind via of_machine_device_match(sun50i_cpufreq_match_list).
> 
> Without this fallback string included in the bindings (and subsequently the
> board's Device Tree), cpufreq-dt will not be instantiated. This will cause
> CPU frequency scaling to silently fail on the Teclast P80 tablet, leaving
> the system stuck at the bootloader-configured frequency.
> 
> > +
> > +      - description: Teclast P85T Tablet
> > +        items:
> > +          - const: teclast,p85t
> > +          - const: allwinner,sun55i-a523
> > +
>
  
Conor Dooley Sept. 15, 2026, 4:58 p.m. UTC | #3
On Tue, Sep 15, 2026 at 12:51:22AM +0200, Andre Przywara wrote:
> On Mon, 14 Sep 2026 21:19:39 +0000
> sashiko-bot@kernel.org wrote:
> 
> > Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> > - [High] Missing SoC fallback compatible string 'allwinner,sun50i-a100' for the Teclast P80 tablet breaks CPU frequency scaling.
> 
> Well, there is more to it. We should rather add the a133 as an explicit
> name in the driver, like we did for the H616 family. And the whole OPP
> table is still from the old A100 days, it doesn't really cover the A133
> or A133P values, which go up to 1.6GHz and 2.0 GHz, respectively.
> The bin selection in the driver is also not adequate, the BSP code
> seems to use the SID cell at 0x00 to select one of two speed bins, at
> least for the A133. The A133P is probably still different.
> 
> So I'd rather keep the a133 fallback compatible, and adjust the driver.

Can you explain the complaint from Sashiko to me?
From where I am sitting, without awareness of allwinner SKUs, it seems
like the bot is suggesting that you add a "random" fallback to make a
driver probe.

> 
> Cheers,
> Andre
> 
> > --
> > 
> > commit 582b866f1ad9000afddf47eb7e4c9d37a95dfbc8
> > Author: Andre Przywara <andre.przywara@arm.com>
> > 
> > dt-bindings: arm: sunxi: Add two Teclast tablets
> > 
> > This commit adds devicetree bindings for the Teclast P80 and P85T tablets.
> > The Teclast P80 is based on the Allwinner A133 SoC, and the P85T uses the
> > Allwinner A523 SoC.
> > 
> > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > index f04db28c630ac..28437c47ac01b 100644
> > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > @@ -933,6 +933,16 @@ properties:
> > 
> > [ ... ]
> > 
> > > +      - description: Teclast P80 Tablet
> > > +        items:
> > > +          - const: teclast,p80
> > > +          - const: allwinner,sun50i-a133
> > 
> > [Severity: High]
> > Does this strict two-item compatible array omit the necessary fallback string?
> > 
> > The sun50i-cpufreq-nvmem driver in drivers/cpufreq/sun50i-cpufreq-nvmem.c
> > requires allwinner,sun50i-a100 to exist in the root node's compatible array
> > to bind via of_machine_device_match(sun50i_cpufreq_match_list).
> > 
> > Without this fallback string included in the bindings (and subsequently the
> > board's Device Tree), cpufreq-dt will not be instantiated. This will cause
> > CPU frequency scaling to silently fail on the Teclast P80 tablet, leaving
> > the system stuck at the bootloader-configured frequency.
> > 
> > > +
> > > +      - description: Teclast P85T Tablet
> > > +        items:
> > > +          - const: teclast,p85t
> > > +          - const: allwinner,sun55i-a523
> > > +
> > 
>
  
Andre Przywara Sept. 15, 2026, 9:01 p.m. UTC | #4
On Tue, 15 Sep 2026 17:58:50 +0100
Conor Dooley <conor@kernel.org> wrote:

Hi Conor,

> On Tue, Sep 15, 2026 at 12:51:22AM +0200, Andre Przywara wrote:
> > On Mon, 14 Sep 2026 21:19:39 +0000
> > sashiko-bot@kernel.org wrote:
> > 
> > > Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> > > - [High] Missing SoC fallback compatible string 'allwinner,sun50i-a100' for the Teclast P80 tablet breaks CPU frequency scaling.
> > 
> > Well, there is more to it. We should rather add the a133 as an explicit
> > name in the driver, like we did for the H616 family. And the whole OPP
> > table is still from the old A100 days, it doesn't really cover the A133
> > or A133P values, which go up to 1.6GHz and 2.0 GHz, respectively.
> > The bin selection in the driver is also not adequate, the BSP code
> > seems to use the SID cell at 0x00 to select one of two speed bins, at
> > least for the A133. The A133P is probably still different.
> > 
> > So I'd rather keep the a133 fallback compatible, and adjust the driver.
> 
> Can you explain the complaint from Sashiko to me?
> From where I am sitting, without awareness of allwinner SKUs, it seems
> like the bot is suggesting that you add a "random" fallback to make a
> driver probe.

Well, this is about the DVFS driver, which doesn't really have a nice
device to match against. The nodes under /cpus carry the cores, but
there is no notion of a SoC here, it's just about architectural Arm
cores. So the solution was to match this against the machine (fallback)
compatible, which always carries the SoC name. I think other platforms
do the same.
And while we have DVFS support for the A133, this only supports the
"allwinner,sun50i-a100" fallback string, as this was the only chip of
that "family" at time of upstreaming. The A133 is using the same
die, it's just a better bin, but there are virtually no A100 devices out
there, as they were superseded by the A133 very quickly.

So what Sashiko (somewhat correctly) mentions is that with that
a100 fallback string we won't get DVFS support. It feels odd to name
that tablet A100 when it's clearly not, so I went with the proper SoC
name.
We did the same for the H616 family: just adding all the names using
the same die to the DVFS driver will solve this problem as well, which
is what I am planning to do - unless people have different opinions.

Hope that helps!

Cheers,
Andre



> > 
> > Cheers,
> > Andre
> > 
> > > --
> > > 
> > > commit 582b866f1ad9000afddf47eb7e4c9d37a95dfbc8
> > > Author: Andre Przywara <andre.przywara@arm.com>
> > > 
> > > dt-bindings: arm: sunxi: Add two Teclast tablets
> > > 
> > > This commit adds devicetree bindings for the Teclast P80 and P85T tablets.
> > > The Teclast P80 is based on the Allwinner A133 SoC, and the P85T uses the
> > > Allwinner A523 SoC.
> > > 
> > > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > > index f04db28c630ac..28437c47ac01b 100644
> > > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > > @@ -933,6 +933,16 @@ properties:
> > > 
> > > [ ... ]
> > > 
> > > > +      - description: Teclast P80 Tablet
> > > > +        items:
> > > > +          - const: teclast,p80
> > > > +          - const: allwinner,sun50i-a133
> > > 
> > > [Severity: High]
> > > Does this strict two-item compatible array omit the necessary fallback string?
> > > 
> > > The sun50i-cpufreq-nvmem driver in drivers/cpufreq/sun50i-cpufreq-nvmem.c
> > > requires allwinner,sun50i-a100 to exist in the root node's compatible array
> > > to bind via of_machine_device_match(sun50i_cpufreq_match_list).
> > > 
> > > Without this fallback string included in the bindings (and subsequently the
> > > board's Device Tree), cpufreq-dt will not be instantiated. This will cause
> > > CPU frequency scaling to silently fail on the Teclast P80 tablet, leaving
> > > the system stuck at the bootloader-configured frequency.
> > > 
> > > > +
> > > > +      - description: Teclast P85T Tablet
> > > > +        items:
> > > > +          - const: teclast,p85t
> > > > +          - const: allwinner,sun55i-a523
> > > > +
> > > 
> >
  
Conor Sept. 16, 2026, 4:20 p.m. UTC | #5
On 15 September 2026 23:01:27 GMT+02:00, Andre Przywara <andre.przywara@arm.com> wrote:
>On Tue, 15 Sep 2026 17:58:50 +0100
>Conor Dooley <conor@kernel.org> wrote:
>
>Hi Conor,
>
>> On Tue, Sep 15, 2026 at 12:51:22AM +0200, Andre Przywara wrote:
>> > On Mon, 14 Sep 2026 21:19:39 +0000
>> > sashiko-bot@kernel.org wrote:
>> > 
>> > > Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
>> > > - [High] Missing SoC fallback compatible string 'allwinner,sun50i-a100' for the Teclast P80 tablet breaks CPU frequency scaling.
>> > 
>> > Well, there is more to it. We should rather add the a133 as an explicit
>> > name in the driver, like we did for the H616 family. And the whole OPP
>> > table is still from the old A100 days, it doesn't really cover the A133
>> > or A133P values, which go up to 1.6GHz and 2.0 GHz, respectively.
>> > The bin selection in the driver is also not adequate, the BSP code
>> > seems to use the SID cell at 0x00 to select one of two speed bins, at
>> > least for the A133. The A133P is probably still different.
>> > 
>> > So I'd rather keep the a133 fallback compatible, and adjust the driver.
>> 
>> Can you explain the complaint from Sashiko to me?
>> From where I am sitting, without awareness of allwinner SKUs, it seems
>> like the bot is suggesting that you add a "random" fallback to make a
>> driver probe.
>
>Well, this is about the DVFS driver, which doesn't really have a nice
>device to match against. The nodes under /cpus carry the cores, but
>there is no notion of a SoC here, it's just about architectural Arm
>cores. So the solution was to match this against the machine (fallback)
>compatible, which always carries the SoC name. I think other platforms
>do the same.

Yeah, I get this part.

>And while we have DVFS support for the A133, this only supports the
>"allwinner,sun50i-a100" fallback string, as this was the only chip of
>that "family" at time of upstreaming. The A133 is using the same
>die, it's just a better bin, but there are virtually no A100 devices out
>there, as they were superseded by the A133 very quickly.
>
>So what Sashiko (somewhat correctly) mentions is that with that
>a100 fallback string we won't get DVFS support. It feels odd to name
>that tablet A100 when it's clearly not, so I went with the proper SoC
>name.
>We did the same for the H616 family: just adding all the names using
>the same die to the DVFS driver will solve this problem as well, which
>is what I am planning to do - unless people have different opinions.
>
>Hope that helps!

So yeah, it bottles down to Sashiko suggesting that you use in invalid fallback given you mention a different programming model, although mitigated somewhat by the fact that a100 is a worse binning and is probably compatible outside of dvfs.
I'm just very wary of what sort of garbage that Sashiko will tell contributors that, unlike you, don't know enough to realise what it is telling them is wrong.

(Sent from my k9mail, hopefully formatting didn't get screwed up).
Conor.

>
>Cheers,
>Andre
>
>
>
>> > 
>> > Cheers,
>> > Andre
>> > 
>> > > --
>> > > 
>> > > commit 582b866f1ad9000afddf47eb7e4c9d37a95dfbc8
>> > > Author: Andre Przywara <andre.przywara@arm.com>
>> > > 
>> > > dt-bindings: arm: sunxi: Add two Teclast tablets
>> > > 
>> > > This commit adds devicetree bindings for the Teclast P80 and P85T tablets.
>> > > The Teclast P80 is based on the Allwinner A133 SoC, and the P85T uses the
>> > > Allwinner A523 SoC.
>> > > 
>> > > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
>> > > > index f04db28c630ac..28437c47ac01b 100644
>> > > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
>> > > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
>> > > > @@ -933,6 +933,16 @@ properties:
>> > > 
>> > > [ ... ]
>> > > 
>> > > > +      - description: Teclast P80 Tablet
>> > > > +        items:
>> > > > +          - const: teclast,p80
>> > > > +          - const: allwinner,sun50i-a133
>> > > 
>> > > [Severity: High]
>> > > Does this strict two-item compatible array omit the necessary fallback string?
>> > > 
>> > > The sun50i-cpufreq-nvmem driver in drivers/cpufreq/sun50i-cpufreq-nvmem.c
>> > > requires allwinner,sun50i-a100 to exist in the root node's compatible array
>> > > to bind via of_machine_device_match(sun50i_cpufreq_match_list).
>> > > 
>> > > Without this fallback string included in the bindings (and subsequently the
>> > > board's Device Tree), cpufreq-dt will not be instantiated. This will cause
>> > > CPU frequency scaling to silently fail on the Teclast P80 tablet, leaving
>> > > the system stuck at the bootloader-configured frequency.
>> > > 
>> > > > +
>> > > > +      - description: Teclast P85T Tablet
>> > > > +        items:
>> > > > +          - const: teclast,p85t
>> > > > +          - const: allwinner,sun55i-a523
>> > > > +
>> > > 
>> > 
>
  
Krzysztof Kozlowski Sept. 18, 2026, 6:55 a.m. UTC | #6
On Mon, Sep 14, 2026 at 11:01:14PM +0200, Andre Przywara wrote:
> Teclast produces some entry-level tablets with Allwinner SoCs, typically
> featuring a new SoC early in the market.
> 
> Add the names for the Teclast P80 tablet, with an Allwinner A133 SoC,
> but also the Teclast P85T, using an Allwinner A523 chip.
> 
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
>  1 file changed, 10 insertions(+)

As discussed, Sashiko's comment is not really applicable, because we do
not add fallbacks to match driver behavior or to achieve some desired
driver feature.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof
  

Patch

diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index f04db28c630ac..28437c47ac01b 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -933,6 +933,16 @@  properties:
           - const: tbs-biometrics,a711
           - const: allwinner,sun8i-a83t
 
+      - description: Teclast P80 Tablet
+        items:
+          - const: teclast,p80
+          - const: allwinner,sun50i-a133
+
+      - description: Teclast P85T Tablet
+        items:
+          - const: teclast,p85t
+          - const: allwinner,sun55i-a523
+
       - description: Topwise A721 Tablet
         items:
           - const: topwise,a721