[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqLsZAEx-c_12RPcR+HCjPcA_d12oKgZ7frX2Wo47sGTnA@mail.gmail.com>
Date: Thu, 11 Jul 2024 09:51:06 -0600
From: Rob Herring <robh@...nel.org>
To: André Draszik <andre.draszik@...aro.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Jiri Slaby <jirislaby@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Peter Griffin <peter.griffin@...aro.org>, Sylwester Nawrocki <s.nawrocki@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>, Alim Akhtar <alim.akhtar@...sung.com>,
Michael Turquette <mturquette@...libre.com>, Stephen Boyd <sboyd@...nel.org>,
Sam Protsenko <semen.protsenko@...aro.org>, Tudor Ambarus <tudor.ambarus@...aro.org>,
Will McVicker <willmcvicker@...gle.com>, kernel-team@...roid.com,
linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-clk@...r.kernel.org
Subject: Re: [PATCH v3 1/2] dt-bindings: serial: samsung: fix maxItems for
gs101 & document earlycon requirements
On Wed, Jul 10, 2024 at 7:29 AM André Draszik <andre.draszik@...aro.org> wrote:
>
> While gs101 needs exactly two clocks for the UART, the schema doesn't
> currently limit the maximum number to this and instead the default of
> five from this schema is applied.
>
> Update the schema accordingly.
>
> Also, as pointed out in [1] before, the hand-over between earlycon and
> serial console is fragile due to clocking issues, at least on Google
> Tensor gs101. Therefore, document the clocking requirements for
> earlycon in the description for posterity, so the information is not
> lost.
>
> Link: https://lore.kernel.org/all/d45de3b2bb6b48653842cf1f74e58889ed6783ae.camel@linaro.org/ [1]
> Signed-off-by: André Draszik <andre.draszik@...aro.org>
> ---
> Documentation/devicetree/bindings/serial/samsung_uart.yaml | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> index 0f0131026911..2435c3d92158 100644
> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> @@ -145,6 +145,20 @@ allOf:
> - samsung,uart-fifosize
> properties:
> reg-io-width: false
blank line between properties
> + clocks:
> + description: |
> + Note that for earlycon to work, the respective ipclk and pclk need
> + to be running! The bootloader normally leaves them enabled, but the
> + serial driver will start handling those clocks before the console
> + driver takes over from earlycon, breaking earlycon. If earlycon is
> + required, please revert the patch "clk: samsung: gs101: don't mark
> + non-essential (UART) clocks critical" locally first to mark them
> + CLK_IS_CRITICAL and avoid this problem.
That's a whole bunch of details that are Linux specific which have
little to do with the binding.
> + maxItems: 2
> + clock-names:
> + items:
> + - const: uart
> + - const: clk_uart_baud0
Which clock is pclk and ipclk? 'baud' would be sufficient for the
name. 'clk_' and 'uart' are redundant because it's all clocks and they
are all for the uart.
Rob
Powered by blists - more mailing lists