How can one tell an RK3308B from RK3308B-S chip?

Does anyone know how one identifies whether an RK3308 chip is the B or B-S variant?
How are the two variants labeled?

I’ve got a couple Rock S0 boards that supposedly have the B variant
and a couple Rock PI-S boards that used the B-S variant.

The text printed on one of the ‘B-S’ chips is:
Rockchip
RK3308B
SBAKW50000 2214
4M19101
This chip overclocks to 1.3Ghz with the B-S operating points.

The text printed on one of the ‘S’ chips is:
Rockchip
RK3308B
SBAK18005 2039
9F15606
This chip requires the ‘B’ Operating Points to overclock to 1.3Ghz.

I would expect the B-S variant be labeled RK3308B-S on the line below Rockchip.

Is there any status register that one can read in software to determine the chip variant?

From the patch: Subject: [PATCH 01/23] soc: rockchip: add cpuid for rk3308bs

--- a/drivers/soc/rockchip/rockchip-cpuinfo.c
+++ b/drivers/soc/rockchip/rockchip-cpuinfo.c
@@ -132,8 +132,12 @@ static void rk3308_init(void)
 #define RK3308_GRF_CHIP_ID	0x800
 	base = ioremap(RK3308_GRF_PHYS, SZ_4K);
 	if (base) {
-		if (readl_relaxed(base + RK3308_GRF_CHIP_ID) == 0x3308)
+		u32 v = readl_relaxed(base + RK3308_GRF_CHIP_ID);
+
+		if (v == 0x3308)
 			rockchip_soc_id = ROCKCHIP_SOC_RK3308B;
+		if (v == 0x3308c)
+			rockchip_soc_id = ROCKCHIP_SOC_RK3308BS;
 		iounmap(base);
 	}
 }

The CPU id is different, maybe you can check cat /proc/cpuinfo?

@jack
Thank you for this.
The only example of the file rockchip-cpuinfo.c I can find on github is from your rockchip-linux repo for the version 4.4 kernel.
Has this logic ever been incorporated into a newer kernel?
I’d like to at least patch it into Armbian.