public inbox for linux-clk@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling
@ 2017-03-31 16:54 Helmut Klein
  2017-03-31 16:54 ` [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks Helmut Klein
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Helmut Klein @ 2017-03-31 16:54 UTC (permalink / raw)
  Cc: Helmut Klein, linux-clk, linux-serial, linux-amlogic,
	linux-arm-kernel, linux-kernel, devicetree

To be able to use the three none AO uarts of the meson gx SoCs (uart_A,
uart_B & uart_C), the core clock has to be enabled (see chapter 22.3 of
the public s905 data sheet).
At least the u-boot of my s905 based media player (netxeon minimx-g)
doesn't do this. so the driver must enable the clock.

This patch set does:
- exposes the UART clock ids to the dtb
- adds documentation for the dt-bindings of meson_uart
- adds the core clock handling to the driver
- adds the core clock handling to meson-gxbb.dtsi and meson-gxl.dtsi

The patchset is based on the branch "master" of the repository in [1]

Changes since v2
- mail subjects reworked
- add clocks/clock-names to the documentation
- add core clock handling to meson-gxbb.dtsi & meson-gxl.dtsi

Changes since v1
- use git to produce the patch set
- added the clock ids for uart_B and uart_C

[1] git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic.git

Helmut Klein (4):
  clk: meson: gxbb: expose CLKID_UARTx
  dt-bindings: meson_uart: add documentation for meson UARTs
  tty/serial: meson_uart: add the core clock handling to the driver
  ARM64: dts: meson-gx: add core clock support for uart_A, uart_B and
    uart_C

 .../bindings/serial/amlogic,meson_uart.txt         | 30 ++++++++++++++++++++++
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        | 15 +++++++++++
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi         | 15 +++++++++++
 drivers/clk/meson/gxbb.h                           |  6 ++---
 drivers/tty/serial/meson_uart.c                    | 10 ++++++++
 include/dt-bindings/clock/gxbb-clkc.h              |  3 +++
 6 files changed, 76 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/amlogic,meson_uart.txt

--
2.11.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks
  2017-03-31 16:54 [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling Helmut Klein
@ 2017-03-31 16:54 ` Helmut Klein
  2017-04-04  8:40   ` Michael Turquette
  2017-05-23  9:17   ` Neil Armstrong
  2017-04-03 15:44 ` [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling Kevin Hilman
  2017-05-23  8:37 ` Neil Armstrong
  2 siblings, 2 replies; 6+ messages in thread
From: Helmut Klein @ 2017-03-31 16:54 UTC (permalink / raw)
  To: mturquette, sboyd
  Cc: Helmut Klein, linux-amlogic, linux-arm-kernel, linux-kernel,
	linux-clk, devicetree

Expose the clock ids of the three none AO uarts to the dt-bindings

Signed-off-by: Helmut Klein <hgkr.klein@gmail.com>
---
 drivers/clk/meson/gxbb.h              | 6 +++---
 include/dt-bindings/clock/gxbb-clkc.h | 3 +++
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/clk/meson/gxbb.h b/drivers/clk/meson/gxbb.h
index 8ee2022ce5d5..1edfaa5fe307 100644
--- a/drivers/clk/meson/gxbb.h
+++ b/drivers/clk/meson/gxbb.h
@@ -194,7 +194,7 @@
 /* #define CLKID_SAR_ADC */
 #define CLKID_SMART_CARD	  24
 #define CLKID_RNG0		  25
-#define CLKID_UART0		  26
+/* CLKID_UART0 */
 #define CLKID_SDHC		  27
 #define CLKID_STREAM		  28
 #define CLKID_ASYNC_FIFO	  29
@@ -216,7 +216,7 @@
 #define CLKID_ADC		  45
 #define CLKID_BLKMV		  46
 #define CLKID_AIU		  47
-#define CLKID_UART1		  48
+/* CLKID_UART1 */
 #define CLKID_G2D		  49
 /* CLKID_USB0 */
 /* CLKID_USB1 */
@@ -236,7 +236,7 @@
 /* CLKID_USB0_DDR_BRIDGE */
 #define CLKID_MMC_PCLK		  66
 #define CLKID_DVIN		  67
-#define CLKID_UART2		  68
+/* CLKID_UART2 */
 /* #define CLKID_SANA */
 #define CLKID_VPU_INTR		  70
 #define CLKID_SEC_AHB_AHB3_BRIDGE 71
diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/clock/gxbb-clkc.h
index 692846c7941b..7b329df47752 100644
--- a/include/dt-bindings/clock/gxbb-clkc.h
+++ b/include/dt-bindings/clock/gxbb-clkc.h
@@ -15,13 +15,16 @@
 #define CLKID_SPI		34
 #define CLKID_I2C		22
 #define CLKID_SAR_ADC		23
+#define CLKID_UART0		26
 #define CLKID_ETH		36
+#define CLKID_UART1		48
 #define CLKID_USB0		50
 #define CLKID_USB1		51
 #define CLKID_USB		55
 #define CLKID_HDMI_PCLK		63
 #define CLKID_USB1_DDR_BRIDGE	64
 #define CLKID_USB0_DDR_BRIDGE	65
+#define CLKID_UART2		68
 #define CLKID_SANA		69
 #define CLKID_GCLK_VENCI_INT0	77
 #define CLKID_AO_I2C		93
--
2.11.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling
  2017-03-31 16:54 [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling Helmut Klein
  2017-03-31 16:54 ` [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks Helmut Klein
@ 2017-04-03 15:44 ` Kevin Hilman
  2017-05-23  8:37 ` Neil Armstrong
  2 siblings, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2017-04-03 15:44 UTC (permalink / raw)
  To: Helmut Klein
  Cc: devicetree, linux-kernel, linux-serial, linux-amlogic, linux-clk,
	linux-arm-kernel

Helmut Klein <hgkr.klein@gmail.com> writes:

> To be able to use the three none AO uarts of the meson gx SoCs (uart_A,

s/none/non/

> uart_B & uart_C), the core clock has to be enabled (see chapter 22.3 of
> the public s905 data sheet).
> At least the u-boot of my s905 based media player (netxeon minimx-g)
> doesn't do this. so the driver must enable the clock.

FYI: even if a booloader enablesq clocks, it's important that the kernel
enable clocks that it uses so the kernel can be independent of any
bootloader.

> This patch set does:
> - exposes the UART clock ids to the dtb
> - adds documentation for the dt-bindings of meson_uart
> - adds the core clock handling to the driver
> - adds the core clock handling to meson-gxbb.dtsi and meson-gxl.dtsi
>
> The patchset is based on the branch "master" of the repository in [1]

The master branch in my tree just tracks mainline master branch.

To avoid conflicts with other on-going DT changes, the DT patches should
probably be based on top of my v4.12/dt64 branch.

Kevin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks
  2017-03-31 16:54 ` [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks Helmut Klein
@ 2017-04-04  8:40   ` Michael Turquette
  2017-05-23  9:17   ` Neil Armstrong
  1 sibling, 0 replies; 6+ messages in thread
From: Michael Turquette @ 2017-04-04  8:40 UTC (permalink / raw)
  To: Helmut Klein, sboyd
  Cc: Helmut Klein, linux-amlogic, linux-arm-kernel, linux-kernel,
	linux-clk, devicetree

Quoting Helmut Klein (2017-03-31 18:54:34)
> Expose the clock ids of the three none AO uarts to the dt-bindings
> =

> Signed-off-by: Helmut Klein <hgkr.klein@gmail.com>

Acked-by: Michael Turquette <mturquette@baylibre.com>

> ---
>  drivers/clk/meson/gxbb.h              | 6 +++---
>  include/dt-bindings/clock/gxbb-clkc.h | 3 +++
>  2 files changed, 6 insertions(+), 3 deletions(-)
> =

> diff --git a/drivers/clk/meson/gxbb.h b/drivers/clk/meson/gxbb.h
> index 8ee2022ce5d5..1edfaa5fe307 100644
> --- a/drivers/clk/meson/gxbb.h
> +++ b/drivers/clk/meson/gxbb.h
> @@ -194,7 +194,7 @@
>  /* #define CLKID_SAR_ADC */
>  #define CLKID_SMART_CARD         24
>  #define CLKID_RNG0               25
> -#define CLKID_UART0              26
> +/* CLKID_UART0 */
>  #define CLKID_SDHC               27
>  #define CLKID_STREAM             28
>  #define CLKID_ASYNC_FIFO         29
> @@ -216,7 +216,7 @@
>  #define CLKID_ADC                45
>  #define CLKID_BLKMV              46
>  #define CLKID_AIU                47
> -#define CLKID_UART1              48
> +/* CLKID_UART1 */
>  #define CLKID_G2D                49
>  /* CLKID_USB0 */
>  /* CLKID_USB1 */
> @@ -236,7 +236,7 @@
>  /* CLKID_USB0_DDR_BRIDGE */
>  #define CLKID_MMC_PCLK           66
>  #define CLKID_DVIN               67
> -#define CLKID_UART2              68
> +/* CLKID_UART2 */
>  /* #define CLKID_SANA */
>  #define CLKID_VPU_INTR           70
>  #define CLKID_SEC_AHB_AHB3_BRIDGE 71
> diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/=
clock/gxbb-clkc.h
> index 692846c7941b..7b329df47752 100644
> --- a/include/dt-bindings/clock/gxbb-clkc.h
> +++ b/include/dt-bindings/clock/gxbb-clkc.h
> @@ -15,13 +15,16 @@
>  #define CLKID_SPI              34
>  #define CLKID_I2C              22
>  #define CLKID_SAR_ADC          23
> +#define CLKID_UART0            26
>  #define CLKID_ETH              36
> +#define CLKID_UART1            48
>  #define CLKID_USB0             50
>  #define CLKID_USB1             51
>  #define CLKID_USB              55
>  #define CLKID_HDMI_PCLK                63
>  #define CLKID_USB1_DDR_BRIDGE  64
>  #define CLKID_USB0_DDR_BRIDGE  65
> +#define CLKID_UART2            68
>  #define CLKID_SANA             69
>  #define CLKID_GCLK_VENCI_INT0  77
>  #define CLKID_AO_I2C           93
> --
> 2.11.0
>=20

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling
  2017-03-31 16:54 [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling Helmut Klein
  2017-03-31 16:54 ` [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks Helmut Klein
  2017-04-03 15:44 ` [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling Kevin Hilman
@ 2017-05-23  8:37 ` Neil Armstrong
  2 siblings, 0 replies; 6+ messages in thread
From: Neil Armstrong @ 2017-05-23  8:37 UTC (permalink / raw)
  To: Helmut Klein
  Cc: devicetree, linux-kernel, linux-serial, linux-amlogic, linux-clk,
	linux-arm-kernel

Hi Helmut,


On 03/31/2017 06:54 PM, Helmut Klein wrote:
> To be able to use the three none AO uarts of the meson gx SoCs (uart_A,
> uart_B & uart_C), the core clock has to be enabled (see chapter 22.3 of
> the public s905 data sheet).
> At least the u-boot of my s905 based media player (netxeon minimx-g)
> doesn't do this. so the driver must enable the clock.
> 
> This patch set does:
> - exposes the UART clock ids to the dtb
> - adds documentation for the dt-bindings of meson_uart
> - adds the core clock handling to the driver
> - adds the core clock handling to meson-gxbb.dtsi and meson-gxl.dtsi
> 
> The patchset is based on the branch "master" of the repository in [1]
> 
> Changes since v2
> - mail subjects reworked
> - add clocks/clock-names to the documentation
> - add core clock handling to meson-gxbb.dtsi & meson-gxl.dtsi
> 
> Changes since v1
> - use git to produce the patch set
> - added the clock ids for uart_B and uart_C
> 
> [1] git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic.git

I'll take the first patch then I will need to rework your patchset (keeping your
autorship, don't worry) since we need to handle the old bindings.

I'll post it for review when ready.

Anyway, thanks for the patchset.

Neil

> 
> Helmut Klein (4):
>   clk: meson: gxbb: expose CLKID_UARTx
>   dt-bindings: meson_uart: add documentation for meson UARTs
>   tty/serial: meson_uart: add the core clock handling to the driver
>   ARM64: dts: meson-gx: add core clock support for uart_A, uart_B and
>     uart_C
> 
>  .../bindings/serial/amlogic,meson_uart.txt         | 30 ++++++++++++++++++++++
>  arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        | 15 +++++++++++
>  arch/arm64/boot/dts/amlogic/meson-gxl.dtsi         | 15 +++++++++++
>  drivers/clk/meson/gxbb.h                           |  6 ++---
>  drivers/tty/serial/meson_uart.c                    | 10 ++++++++
>  include/dt-bindings/clock/gxbb-clkc.h              |  3 +++
>  6 files changed, 76 insertions(+), 3 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/serial/amlogic,meson_uart.txt
> 
> --
> 2.11.0
> 
> 
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks
  2017-03-31 16:54 ` [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks Helmut Klein
  2017-04-04  8:40   ` Michael Turquette
@ 2017-05-23  9:17   ` Neil Armstrong
  1 sibling, 0 replies; 6+ messages in thread
From: Neil Armstrong @ 2017-05-23  9:17 UTC (permalink / raw)
  To: Helmut Klein, mturquette, sboyd
  Cc: devicetree, linux-kernel, linux-amlogic, linux-clk,
	linux-arm-kernel

Hi Helmut,

On 03/31/2017 06:54 PM, Helmut Klein wrote:
> Expose the clock ids of the three none AO uarts to the dt-bindings
> 
> Signed-off-by: Helmut Klein <hgkr.klein@gmail.com>
> ---
>  drivers/clk/meson/gxbb.h              | 6 +++---
>  include/dt-bindings/clock/gxbb-clkc.h | 3 +++
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/clk/meson/gxbb.h b/drivers/clk/meson/gxbb.h
> index 8ee2022ce5d5..1edfaa5fe307 100644
> --- a/drivers/clk/meson/gxbb.h
> +++ b/drivers/clk/meson/gxbb.h
> @@ -194,7 +194,7 @@
>  /* #define CLKID_SAR_ADC */
>  #define CLKID_SMART_CARD	  24
>  #define CLKID_RNG0		  25
> -#define CLKID_UART0		  26
> +/* CLKID_UART0 */
>  #define CLKID_SDHC		  27
>  #define CLKID_STREAM		  28
>  #define CLKID_ASYNC_FIFO	  29
> @@ -216,7 +216,7 @@
>  #define CLKID_ADC		  45
>  #define CLKID_BLKMV		  46
>  #define CLKID_AIU		  47
> -#define CLKID_UART1		  48
> +/* CLKID_UART1 */
>  #define CLKID_G2D		  49
>  /* CLKID_USB0 */
>  /* CLKID_USB1 */
> @@ -236,7 +236,7 @@
>  /* CLKID_USB0_DDR_BRIDGE */
>  #define CLKID_MMC_PCLK		  66
>  #define CLKID_DVIN		  67
> -#define CLKID_UART2		  68
> +/* CLKID_UART2 */
>  /* #define CLKID_SANA */
>  #define CLKID_VPU_INTR		  70
>  #define CLKID_SEC_AHB_AHB3_BRIDGE 71
> diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/clock/gxbb-clkc.h
> index 692846c7941b..7b329df47752 100644
> --- a/include/dt-bindings/clock/gxbb-clkc.h
> +++ b/include/dt-bindings/clock/gxbb-clkc.h
> @@ -15,13 +15,16 @@
>  #define CLKID_SPI		34
>  #define CLKID_I2C		22
>  #define CLKID_SAR_ADC		23
> +#define CLKID_UART0		26
>  #define CLKID_ETH		36
> +#define CLKID_UART1		48
>  #define CLKID_USB0		50
>  #define CLKID_USB1		51
>  #define CLKID_USB		55
>  #define CLKID_HDMI_PCLK		63
>  #define CLKID_USB1_DDR_BRIDGE	64
>  #define CLKID_USB0_DDR_BRIDGE	65
> +#define CLKID_UART2		68
>  #define CLKID_SANA		69
>  #define CLKID_GCLK_VENCI_INT0	77
>  #define CLKID_AO_I2C		93

Acked-by: Neil Armstrong <narmstrong@baylibre.com>

I rebased on 4.12-rc1 and applied on next/headers.

Thanks,
Neil

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-05-23  9:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-31 16:54 [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling Helmut Klein
2017-03-31 16:54 ` [PATCH v3 1/4] dt-bindings: clock: gxbb: expose UART clocks Helmut Klein
2017-04-04  8:40   ` Michael Turquette
2017-05-23  9:17   ` Neil Armstrong
2017-04-03 15:44 ` [PATCH v3 0/4] tty/serial: meson_uart: add support for core clock handling Kevin Hilman
2017-05-23  8:37 ` Neil Armstrong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox