Commit Graph

14 Commits

Author SHA1 Message Date
Geert Uytterhoeven
ef4a3bc8da arm64: dts: renesas: ulcb: Add EthernetAVB PHY reset
Describe the GPIO used to reset the Ethernet PHY for EthernetAVB.
This allows the driver to reset the PHY during probe and after system
resume.

On ULCB, the enable pin of the regulator providing PHY power is always
pulled high, but the driver may still need to reset the PHY if this
wasn't done by the bootloader before.

Inspired by patches in the BSP for the individual Salvator-X/XS boards
by Kazuya Mizuguchi.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-12-11 08:03:24 +01:00
Kuninori Morimoto
822cecb1be arm64: renesas: ulcb: fixup audio_clkout
"audio_clkout" is dummy clock of <&rcar_sound 0> to avoid clock loop
which invites probe conflict. Thus <&rcar_sound 0> and "audio_clkout"
should be same value.

On commit 2752660a37 ("arm64: dts: renesas: ulcb: sound
clock-frequency needs descending order") exchanged <&rcar_sound 0>,
but it didn't modify "audio_clkout".
This patch fixup it.

Fixes: 2752660a37 ("arm64: dts: renesas: ulcb: sound clock-frequency needs descending order")
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-10-16 09:47:27 +02:00
Yoshihiro Shimoda
bc04ba36fb arm64: dts: renesas: ulcb: drop "avb_phy_int" from avb_pins
Since the Ethernet AVB driver doesn't support AVB_PHY_INT handling
and it will be handled by a phy driver as a gpio pin, this patch
removes the "avb_phy_int" from the avb_pins node.

Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Fixes: 133ace3f38 ("arm64: dts: ulcb: Set drive-strength for ravb pins")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-10-03 09:50:49 +02:00
Laurent Pinchart
7da2ed12da arm64: dts: renesas: ulcb: Enable display output
The DU is already wired up to the HDMI encoder, all we need to do is
enable it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-09-18 11:00:24 +02:00
Arnd Bergmann
6421d89fab Renesas ARM64 Based SoC DT Updates for v4.14
* Add usb2.0 for R-Car H3 (r8a7795) ES2.0 SoC
 
 * Add R-Car D3 (r8a77995) SoC and Draak board support
 
   Adds minimal support for the R-Car D3 SoC and the Draak development
   board, allowing to boot from a ramdisk using a serial console.
 
 * Add Add VC6 clock generator to R-Car H3 (r8a7795)/Salvator-XS board
 
   The VC6 is an I2C-controlled programmable clock generator, used on the
   board to provide a display dot clock. Add it to DT.
 
 * Add missing second pair of DMA names to MSIOF nodes to
   R-Car M3-W (r8a7796) SoC
 
   MSIOF0 and MSIOF1 are tied to two DMA controllers through two pairs of
   DMA specifiers.  However, the second pair of corresponding DMA names was
   missing.
 
 * Add support for the DU to R-Car H3 (r8a7795) SoC
 
   Add a compatible string and VSP links to the DU node. The H3 ES1.x and H3
   ES2.0 are compatible save for the links to the VSPs that are described
   explicitly in DT, so there's no need for a new ES2-specific compatible
   string.
 
 * Enable HDMI on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards
 
 * Enable DU on R-Car M3-W (r8a7796) Salvator-X board
 
 * Enable I2C for DVFS on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards
 
 * Add Add DRIF support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs
 
   Ramesh Shanmugasundaram says, "R-Car Gen3 DRIF is a SPI like receive only
   slave device."
 
 * Move CPG_AUDIO_CLK_I from board to soc files
 
   Geert Uytterhoeven says, "The definition of CPG_AUDIO_CLK_I is
   SoC-specific, not board-specific."
 
 * Add IMR-LX4 support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs
 
   Sergei Shtylyov says, "The image renderer light extended 4 (IMR-LX4) or
   the distortion correction engine is a drawing processor with a simple
   instruction system capable of referencing data on an external memory as
   2D texture data and performing texture mapping and drawing with respect
   to any shape that is split into triangular objects."
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZfzd9AAoJENfPZGlqN0++Sv0QAKHcf5jviX3oYKnriTvK3G44
 f2M5joczCbKagS26RO769bCHQHuylD4t6sa3gLyWsg2Ir8QXwmdNpIcx0DUmErf2
 mFp07tuCe2JlGmLuN1N8zq/0mL0TFX7L7OR38vg4D7WGpyuAkLeVZdAwVqcefNJX
 h6ANpkF2VX/CZJZTWLIFbe8LdxcJoJc7Usu0ElFcwBg6XdaBxWDBieJevg+1I7pP
 vCjGozbuGx8cvZmKUp+KUtLuL7muhX6hVu6E2pQ4vnmGGYZFJCwAsf5en5nZyJfu
 vbDC2ja2OIo9vQORJFboFvZOhzzmH2kTHUpO26DwTLLMoCLiqeB9Es3grD0rHP/y
 8BNlj6JYcCOCwTMlSuKCcbLWUQedn50EtfSjS/3R9sV5ZG3149Cf+ls3yz2OtAsX
 aFWExRyS2OJaq06uHK+oxsSd+tEbQuDJtY83ohGYyY/WzdFUNCEJHEseSVg5uOID
 +as9uOTdSn0a+mJT4eQPMWKinQfElmUoe6tK7SV5Enz0e3TgSuNw0GdtAgJ2rNZr
 XqOeUzNpY+s85bW6rYqrv44Si9haMik/jJqMzI4fGV9/GoKCYVfn7DZCrm1N5k+o
 py377mcp078BBnmaFefp20skcqWN7Qy66R3eJ7S7v6zLI5jUphT89Z0y4lNj1hAy
 5+j7l7Y0vvAYGlZiT0bb
 =ehXW
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-dt-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64

Pull "Renesas ARM64 Based SoC DT Updates for v4.14" from Simon Horman:

* Add usb2.0 for R-Car H3 (r8a7795) ES2.0 SoC

* Add R-Car D3 (r8a77995) SoC and Draak board support

  Adds minimal support for the R-Car D3 SoC and the Draak development
  board, allowing to boot from a ramdisk using a serial console.

* Add Add VC6 clock generator to R-Car H3 (r8a7795)/Salvator-XS board

  The VC6 is an I2C-controlled programmable clock generator, used on the
  board to provide a display dot clock. Add it to DT.

* Add missing second pair of DMA names to MSIOF nodes to
  R-Car M3-W (r8a7796) SoC

  MSIOF0 and MSIOF1 are tied to two DMA controllers through two pairs of
  DMA specifiers.  However, the second pair of corresponding DMA names was
  missing.

* Add support for the DU to R-Car H3 (r8a7795) SoC

  Add a compatible string and VSP links to the DU node. The H3 ES1.x and H3
  ES2.0 are compatible save for the links to the VSPs that are described
  explicitly in DT, so there's no need for a new ES2-specific compatible
  string.

* Enable HDMI on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards

* Enable DU on R-Car M3-W (r8a7796) Salvator-X board

* Enable I2C for DVFS on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards

* Add Add DRIF support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs

  Ramesh Shanmugasundaram says, "R-Car Gen3 DRIF is a SPI like receive only
  slave device."

* Move CPG_AUDIO_CLK_I from board to soc files

  Geert Uytterhoeven says, "The definition of CPG_AUDIO_CLK_I is
  SoC-specific, not board-specific."

* Add IMR-LX4 support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs

  Sergei Shtylyov says, "The image renderer light extended 4 (IMR-LX4) or
  the distortion correction engine is a drawing processor with a simple
  instruction system capable of referencing data on an external memory as
  2D texture data and performing texture mapping and drawing with respect
  to any shape that is split into triangular objects."

* tag 'renesas-arm64-dt-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (31 commits)
  arm64: dts: renesas: r8a7795: add hsusb ch3 device node
  arm64: dts: renesas: r8a7795: add usb-dmac ch2 and ch3 device nodes
  arm64: dts: renesas: r8a7795: add usb2.0 host ch3 device nodes
  arm64: dts: renesas: r8a7795: add usb2_phy ch3 device node
  arm64: dts: renesas: r8a7795: Add usb companion property in EHCI
  arm64: dts: renesas: Add Renesas Draak board support
  arm64: dts: renesas: Add Renesas R8A77995 SoC support
  arm64: renesas: Add Renesas R8A77995 Kconfig support
  arm64: dts: r8a7795: salvator-xs: Connect DU dot clocks 0 and 3
  arm64: dts: salvator-xs: Add VC6 clock generator
  arm64: dts: r8a7796: Add missing second pair of DMA names to MSIOF nodes
  arm64: dts: r8a7795: Add all MSIOF nodes
  arm64: dts: r8a7795: Add support for the DU
  arm64: dts: ulcb: Enable HDMI output
  arm64: dts: ulcb: Add HDMI output connector
  arm64: dts: r8a7796: m3ulcb: Add DU external dot clocks
  arm64: dts: r8a7795: h3ulcb: Add DU external dot clocks
  arm64: dts: ulcb: Add DU external dot clock sources
  arm64: dts: r8a7796: salvator-x: Enable HDMI output
  arm64: dts: r8a7796: salvator-x: Add DU external dot clocks
  ...
2017-08-16 23:37:28 +02:00
Vladimir Barinov
2a50b40fa4 arm64: dts: ulcb: Enable HDMI output
Enable the HDMI encoder for ULCB board and hook it up to the HDMI connector.

The HDMI encoder and connector are available on both the H3 and M3-W ULCB boards.
Add them to the ulcb.dtsi file.

Signed-off-by: Vladimir Barinov <vladimir.barinov+renesas@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-27 16:00:09 +02:00
Vladimir Barinov
9f9b22e8c0 arm64: dts: ulcb: Add HDMI output connector
The ULCB board has one HDMI output connector.

This connector is available on both the H3 and M3-W ULCB boards.
Add this to the ulcb.dtsi file.

Signed-off-by: Vladimir Barinov <vladimir.barinov+renesas@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-27 16:00:04 +02:00
Vladimir Barinov
8cb6898c3e arm64: dts: ulcb: Add DU external dot clock sources
The DU0/DU1/DU2/DU3 external dot clocks are generated by an I2C-controlled
programmable clock generator.

Clock generator is available on both the H3 and M3-W ULCB boards.
Add this to the ulcb.dtsi file.

Signed-off-by: Vladimir Barinov <vladimir.barinov+renesas@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-27 15:59:38 +02:00
Vladimir Barinov
476b2e4f71 arm64: dts: ulcb: Enable I2C4
This enables I2C4 for ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+renesas@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-27 15:58:43 +02:00
Vladimir Barinov
a4fedb3a4a arm64: dts: ulcb: Enable I2C for DVFS device
This enables I2C for DVFS device for ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+renesas@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-27 15:57:35 +02:00
Vladimir Barinov
2752660a37 arm64: dts: renesas: ulcb: sound clock-frequency needs descending order
Correct order of sound clock frequencies for ULCB boards
used with r8a7795 and r8a7796 SoCs.

These sounds clock frequencies are used as the ADG clock (output clocks
for audio module) initial setting and sound codec's initial system clock
which needs the maximum clock frequency. Thus, descending order is
required.

Fixes: 9f22774c21 ("arm64: dts: ulcb: add 12288000 for sound ADG")
Signed-off-by: Vladimir Barinov <vladimir.barinov+renesas@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
[simon: rewrote changelog]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-10 10:28:07 +02:00
Kuninori Morimoto
9f22774c21 arm64: dts: ulcb: add 12288000 for sound ADG
Current rcar_sound only has 11289600 (= for 44.1kHz) clock-frequency,
but it needs 12288000 for 48kHz too.
Otherwise, 48kHz based sound can't handle correctly.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-06-12 11:29:53 +02:00
Simon Horman
133ace3f38 arm64: dts: ulcb: Set drive-strength for ravb pins
The EthernetAVB should not depend on the bootloader to setup correct
drive-strength values.  Values for drive-strength where found by
examining the registers after the bootloader has configured the
registers and successfully used the EthernetAVB.

Based on:
* commit 7d73a4da26 ("arm64: dts: r8a7795: salvator-x: Set drive-strength
  for ravb pins")
* commit 4903987033be ("arm64: dts: r8a7796: salvator-x: Set drive-strength
  for ravb pins")

Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
2017-05-22 14:54:55 +02:00
Geert Uytterhoeven
253ed045a3 arm64: dts: renesas: Extract common ULCB board support
The Renesas ULCB development board can be equipped with either an R-Car
H3 or M3-W SiP, which are pin-compatible.  Both boards use different
DTBs.

Reduce duplication by extracting common ULCB board support into its own
.dtsi file.  References to SoC-specific clocks are handled through cpp
definitions.  Sort device nodes while at it.

For H3ULCB, there are no functional changes.

For M3ULCB, the following new devices are now described in DT:
  - External audio, CAN, and PCIe clocks,
  - CS2000 clock generator,
  - AK4613 Audio Codec.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-05-22 14:54:39 +02:00