On 9/17/25 6:55 AM, Sasha Levin wrote:
From: Alex Elder elder@riscstar.com
[ Upstream commit a1b51534b532dd4f0499907865553ee9251bebc3 ]
There are two compatible strings defined in "8250.yaml" that require two clocks to be specified, along with their names:
- "spacemit,k1-uart", used in "spacemit/k1.dtsi"
- "nxp,lpc1850-uart", used in "lpc/lpc18xx.dtsi"
When only one clock is used, the name is not required. However there are two places that do specify a name:
- In "mediatek/mt7623.dtsi", the clock for the "mediatek,mtk-btif" compatible serial device is named "main"
- In "qca/ar9132.dtsi", the clock for the "ns8250" compatible serial device is named "uart"
In commit d2db0d7815444 ("dt-bindings: serial: 8250: allow clock 'uartclk' and 'reg' for nxp,lpc1850-uart"), Frank Li added the restriction that two named clocks be used for the NXP platform mentioned above.
Change that logic, so that an additional condition for (only) the SpacemiT platform similarly restricts the two clocks to have the names "core" and "bus".
Finally, add "main" and "uart" as allowed names when a single clock is specified.
Fixes: 2c0594f9f0629 ("dt-bindings: serial: 8250: support an optional second clock") Cc: stable stable@kernel.org Reported-by: kernel test robot lkp@intel.com Closes: https://lore.kernel.org/oe-kbuild-all/202507160314.wrC51lXX-lkp@intel.com/ Signed-off-by: Alex Elder elder@riscstar.com Acked-by: Conor Dooley conor.dooley@microchip.com Link: https://lore.kernel.org/r/20250813031338.2328392-1-elder@riscstar.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Signed-off-by: Sasha Levin sashal@kernel.org
This fix looks good.
Acked-by: Alex Elder elder@riscstar.com
Documentation/devicetree/bindings/serial/8250.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml index 2766bb6ff2d1b..c1c8bd8e8dde6 100644 --- a/Documentation/devicetree/bindings/serial/8250.yaml +++ b/Documentation/devicetree/bindings/serial/8250.yaml @@ -60,7 +60,12 @@ allOf: items: - const: uartclk - const: reg
- else:
- if:
properties:
compatible:
contains:
const: spacemit,k1-uart
- then: properties: clock-names: items:
@@ -162,6 +167,9 @@ properties: minItems: 1 maxItems: 2 oneOf:
- enum:
- main
- uart - items: - const: core - const: bus