Commit Graph

312 Commits

Author SHA1 Message Date
Linus Torvalds
b7badd1d7a ARM: Device-tree updates
As usual, this is where the bulk of our changes end up landing each
 merge window.
 
 The individual updates are too many to enumerate, many many platforms
 have seen additions of device descriptions such that they are
 functionally more complete (in fact, this is often the bulk of updates
 we see).
 
 Instead I've mostly focused on highlighting the new platforms below as
 they are introduced. Sometimes the introduction is of mostly a fragment,
 that later gets filled in on later releases, and in some cases it's
 near-complete platform support. The latter is more common for derivative
 platforms that already has similar support in-tree.
 
 Two SoCs are slight outliers from the usual range of additions. Allwinner
 support for F1C100s, a quite old SoC (ARMv5-based) shipping in the
 Lychee Pi Nano platform. At the other end is NXP Layerscape LX2160A,
 a 16-core 2.2GHz Cortex-A72 SoC with a large amount of I/O aimed at
 infrastructure/networking.
 
 TI updates stick out in the diff stats too, in particular because they
 have moved the description of their L4 on-chip interconnect to devicetree,
 which opens up for removal of even more of their platform-specific
 'hwmod' description tables over the next few releases.
 
 SoCs:
  - Qualcomm QCS404 (4x Cortex-A53)
  - Allwinner T3 (rebranded R40) and f1c100s (armv5)
  - NXP i.MX7ULP (1x Cortex-A7 + 1x Cortex-M4)
  - NXP LS1028A (2x Cortex-A72), LX2160A (16x Cortex-A72)
 
 New platforms:
  - Rockchip: Gru Scarlet (RK3188 Tablet)
  - Amlogic: Phicomm N1 (S905D), Libretech S805-AC
  - Broadcom: Linksys EA6500 v2 Wi-Fi router (BCM4708)
  - Qualcomm: QCS404 base platform and EVB
  - Qualcomm: Remove of Arrow SD600
  - PXA: First PXA3xx DT board: Raumfeld
  - Aspeed: Facebook Backpack-CMM BMC
  - Renesas iWave G20D-Q7 (RZ/G1N)
  - Allwinner t3-cqa3t-bv3 (T3/R40) and Lichee Pi Nano (F1C100s)
  - Allwinner Emlid Neutis N5, Mapleboard MP130
  - Marvell Macchiatobin Single Shot (Armada 8040, no 10GbE)
  - i.MX: mtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva
  - VF610: Liebherr's BK4 device, ZII SCU4 AIB board
  - i.MX7D PICO Hobbit baseboard
  - i.MX7ULP EVK board
  - NXP LX2160AQDS and LX2160ARDB boards
 
 Other:
  - Coresight binding updates across the board
  - CPU cooling maps updates across the board
 -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCAAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAlwqgVYPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3ybAQAKAhd7XI5oY/wgdZZmxwcX+p7sU6LXeIlpWU
 XsPN1c14KU0siQv/znVA5OpF+fgn9eRqfWnMoDPlvdScTq07FM2NBmOJfVJYDPJa
 uvsll5m+84FCYanIR//YybS0tCM0b0BHoHo2DoyIxWeAwmw7BBVslddBdNg6R7hG
 S9rU9rUeqfCj7HbcPLqVn0DecMtEe7R8zmDtG1CSMqrhncifmoV4gtUnbYAg0GGT
 cSvj/zT8A1j0oJcU2Upl/Fr+7WJ7XB9pnku91nUOSXLv5VkyctLGomKq5F7O2/Xs
 2DhpH2yKwQt7S7TDiDd0jy64Of6+Xup35wEHevCeKrzGXcVRqqHwCkanLz9FdjVt
 yg4UrI/P1nY7h4ifZPplgigv+kA+IjRGiMrTRIEgSE5YK9U5AYkgembTWksRDikd
 5EpeJcMj2tBv4SDellNNtzh6GGTPBf3GJw3P9uRuxnQY/T31N2eX0XGeRikL+Lzf
 9nbQdJealmql3rCa5oFEJwSxrSaAv/ub7/294kPdEmXj8+3qUuH3hZAZOI9LSXGW
 GCuxsgccB2GF1M48x48/QpHgxb93okyXmndONZnU8uN8ba0zS4b8QLwvIY5rqv5Z
 kqD1VPBQf9kGVyzDyABRjFmGCDJcoOJf4QrzvNk9+xo8fXVk1xNtxu4MUsHvc2lS
 cU2RYWm/
 =sFVi
 -----END PGP SIGNATURE-----

Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM Device-tree updates from Olof Johansson:
 "As usual, this is where the bulk of our changes end up landing each
  merge window.

  The individual updates are too many to enumerate, many many platforms
  have seen additions of device descriptions such that they are
  functionally more complete (in fact, this is often the bulk of updates
  we see).

  Instead I've mostly focused on highlighting the new platforms below as
  they are introduced. Sometimes the introduction is of mostly a
  fragment, that later gets filled in on later releases, and in some
  cases it's near-complete platform support. The latter is more common
  for derivative platforms that already has similar support in-tree.

  Two SoCs are slight outliers from the usual range of additions.
  Allwinner support for F1C100s, a quite old SoC (ARMv5-based) shipping
  in the Lychee Pi Nano platform. At the other end is NXP Layerscape
  LX2160A, a 16-core 2.2GHz Cortex-A72 SoC with a large amount of I/O
  aimed at infrastructure/networking.

  TI updates stick out in the diff stats too, in particular because they
  have moved the description of their L4 on-chip interconnect to
  devicetree, which opens up for removal of even more of their
  platform-specific 'hwmod' description tables over the next few
  releases.

  SoCs:
   - Qualcomm QCS404 (4x Cortex-A53)
   - Allwinner T3 (rebranded R40) and f1c100s (armv5)
   - NXP i.MX7ULP (1x Cortex-A7 + 1x Cortex-M4)
   - NXP LS1028A (2x Cortex-A72), LX2160A (16x Cortex-A72)

  New platforms:
   - Rockchip: Gru Scarlet (RK3188 Tablet)
   - Amlogic: Phicomm N1 (S905D), Libretech S805-AC
   - Broadcom: Linksys EA6500 v2 Wi-Fi router (BCM4708)
   - Qualcomm: QCS404 base platform and EVB
   - Qualcomm: Remove of Arrow SD600
   - PXA: First PXA3xx DT board: Raumfeld
   - Aspeed: Facebook Backpack-CMM BMC
   - Renesas iWave G20D-Q7 (RZ/G1N)
   - Allwinner t3-cqa3t-bv3 (T3/R40) and Lichee Pi Nano (F1C100s)
   - Allwinner Emlid Neutis N5, Mapleboard MP130
   - Marvell Macchiatobin Single Shot (Armada 8040, no 10GbE)
   - i.MX: mtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva
   - VF610: Liebherr's BK4 device, ZII SCU4 AIB board
   - i.MX7D PICO Hobbit baseboard
   - i.MX7ULP EVK board
   - NXP LX2160AQDS and LX2160ARDB boards

  Other:
   - Coresight binding updates across the board
   - CPU cooling maps updates across the board"

* tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (648 commits)
  ARM: dts: suniv: Fix improper bindings include patch
  ARM: dts: sunxi: Enable Broadcom-based Bluetooth for multiple boards
  arm64: dts: allwinner: a64: bananapi-m64: Add Bluetooth device node
  ARM: dts: suniv: Fix improper bindings include patch
  arm64: dts: Add spi-[tx/rx]-bus-width for the FSL QSPI controller
  arm64: dts: Remove unused properties from FSL QSPI driver nodes
  ARM: dts: Add spi-[tx/rx]-bus-width for the FSL QSPI controller
  ARM: dts: imx6sx-sdb: Fix the reg properties for the FSL QSPI nodes
  ARM: dts: Remove unused properties from FSL QSPI driver nodes
  arm64: dts: ti: k3-am654: Enable main domain McSPI0
  arm64: dts: ti: k3-am654: Add McSPI DT nodes
  arm64: dts: ti: k3-am654: Populate power-domain property for UART nodes
  arm64: dts: ti: k3-am654-base-board: Enable ECAP PWM
  arm64: dts: ti: k3-am65-main: Add ECAP PWM node
  arm64: dts: ti: k3-am654-base-board: Add I2C nodes
  arm64: dts: ti: am654-base-board: Add pinmux for main uart0
  arm64: dts: ti: k3-am65: Add pinctrl regions
  dt-bindings: pinctrl: k3: Introduce pinmux definitions
  ARM: dts: exynos: Specify I2S assigned clocks in proper node
  ARM: dts: exynos: Add missing CPUs in cooling maps for Odroid X2
  ...
2018-12-31 17:36:02 -08:00
Manivannan Sadhasivam
953d9f3903 arm64: dts: rockchip: Add on-board LED support on rk3399-rock960
Add on-board LED support for Rock960 board based on the following
standard used by rest of the 96Boards:

green:user1  default-trigger: heartbeat
green:user2  default-trigger: mmc0/disk-activity(onboard-storage)
green:user3  default-trigger: mmc1 (SD-card)
green:user4  default-trigger: none, panic-indicator
yellow:wlan  default-trigger: phy0tx
blue:bt      default-trigger: hci0-power

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-12-11 20:09:38 +01:00
Manivannan Sadhasivam
ba0abee70a arm64: dts: rockchip: Add on-board LED support on rk3399-ficus
Add on-board LED support for Ficus board based on the following
standard used by other 96Boards:

red:user1  default-trigger: heartbeat
red:user2  default-trigger: mmc0/disk-activity (onboard-storage)
red:user3  default-trigger: mmc1 (SD-card)
red:user4  default-trigger: none, panic-indicator
red:wlan   default-trigger: phy0tx
red:bt     default-trigger: hci0-power

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-12-11 20:09:15 +01:00
Oskari Lemmela
f7cb866a96 arm64: dts: rockchip: enable hdmi output on rk3399-rockpro64
The rockpro64 does have hdmi support, so add the necessary
devicetree node to enable it.

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-12-06 13:50:30 +01:00
Oskari Lemmela
690e16bada arm64: dts: rockchip: fix rk3399-rockpro64 regulator gpios
Rockpro64 is not able boot if GPIO1_C1 pin is pulled high
before loading linux kernel.

In rockpro64 GPIO1_C1 pin is connected vdd_cpu_b regulator
VSEL pin. Pin should be pulled down in normal operation and
pulled high in suspend.

PMIC LDO_REG2 is connected to touch panel connector.
Rename regulator and set it to correct voltage.

PCIe power is controller by GPIO1_D0.

Schematics can be downloaded from:
http://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Acked-by: Akash Gajjar <Akash_Gajjar@mentor.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-12-06 13:46:16 +01:00
Ezequiel Garcia
5cd4c31a12 arm64: dts: rockchip: add VPU device node for RK3399
Add the Video Processing Unit node for the RK3399 SoC.

Also, fix the VPU IOMMU node, which was disabled and lacking
its power domain property.

Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-12-06 11:09:16 +01:00
Derek Basehore
17222eb932 arm64: dts: rockchip: Add 32k clk on rk3399-gru
This adds the 32k clock to the RK3399 Gru board file, which is provided
by a Silego oscillator on Gru boards.

Even though it's not directly used, muxes will end up traversing the
entire clk tree on calls to determine_rate if it doesn't exist. This
is because the 32k clk is listed as a possible parent on some clks.
Since the clk doesn't know about the 32k clk (it was never registered),
it triggers a global search for it. This can happen about 40 times per
second, which isn't great for power.

Signed-off-by: Derek Basehore <dbasehore@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
[moved clock position and adapted commit message a bit]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-28 14:38:37 +01:00
Viresh Kumar
cdd46460fe arm64: dts: rockchip: Add all CPUs in cooling maps
Each CPU can (and does) participate in cooling down the system but the
DT only captures a handful of them, normally CPU0, in the cooling maps.
Things work by chance currently as under normal circumstances its the
first CPU of each cluster which is used by the operating systems to
probe the cooling devices. But as soon as this CPU ordering changes and
any other CPU is used to bring up the cooling device, we will start
seeing failures.

Also the DT is rather incomplete when we list only one CPU in the
cooling maps, as the hardware doesn't have any such limitations.

Update cooling maps to include all devices affected by individual trip
points.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-19 14:45:35 +01:00
Christoph Muellner
c1d91f86a1 arm64: dts: rockchip: Fix PCIe reset polarity for rk3399-puma-haikou.
This patch fixes the wrong polarity setting for the PCIe host driver's
pre-reset pin for rk3399-puma-haikou. Without this patch link training
will most likely fail.

Fixes: 60fd9f72ce ("arm64: dts: rockchip: add Haikou baseboard with RK3399-Q7 SoM")
Cc: stable@vger.kernel.org
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-13 15:02:07 +01:00
Heiko Stuebner
505a2fd80b arm64: dts: rockchip: add Gru Scarlet devicetrees
Gru-Scarlet is a tablet device using ChomeOS, dual-dsi display
and Wacom touchscreen with stylus.

There exist two variants in the market using different displays
that are differentiated via their sku-id.
The bootloader on them also determines the correct devicetree to
load via the sku-id.

So add a common scarlet dtsi and two minimal board devicetrees
for the two display variants.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Rob Herring <robh@kernel.org>
2018-11-06 09:50:40 +01:00
Vicente Bergas
5a2a93f1ee arm64: dts: rockchip: move backlight from rk3399 sapphire to excavator
The backlight is for the eDP panel and it has the connector on the excavator baseboard.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-05 08:40:51 +01:00
Enric Balletbo i Serra
365af3f160 arm64: dts: rockchip: Use default brightness table for rk3399-gru
After commit 88ba95bedb ("backlight: pwm_bl: Compute brightness of LED
linearly to human eye") the pwm_bl driver is able to calculate a default
brightness table. The calculated table for this PWM will have more
granularity and will be adjusted to change the brightness linearly to
the human eye. Use that table instead of have a DT-defined table with
less granularity.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-05 08:40:51 +01:00
Vicente Bergas
d840db386a arm64: dts: rockchip: add chosen node on rk3399-sapphire
In order to use earlycon, the stdout-path property needs to be set
in the chosen node.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-05 08:40:51 +01:00
Vasily Khoruzhick
cff6d1d6f8 arm64: dts: rockchip: enable HS200 for eMMC on rock64
eMMC that's sold by Pine64 can do HS200, rk3328 can do it
as well, so update DTS to enable it.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-05 08:40:51 +01:00
Vicente Bergas
6d25207830 arm64: dts: rockchip: add fan on rk3399-sapphire board
The Sapphire board has a 12V fan. So, adding it to the DTS.
There is no power supply directly connected, it needs the baseboard to
work.
If the board is used standalone then a hardware modification is needed.
On the Sapphire board there is an unpopulated resistor to connect it to
VBUS_TYPEC, which is usually 5V (too low) and can range up to 20V
(too high).
I tested it for a week connected to VCC_SYS which is 8.4V and proved to
be more than enough for the required cooling needs. This is the
connection described in the comment.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-05 08:40:51 +01:00
Emil Renner Berthing
b0fe0f47be arm64: dts: rockchip: add rk3399 SPI DMAs
Add spi dma channels as specified by the rk3399 TRM.

Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-05 08:40:51 +01:00
Daniel Lezcano
13682e5241 arm64: dts: rockchip: remove vdd_log from rock960 to fix a stability issues
When the performance governor is set as default, the rock960 hangs
around one minute after booting, whatever the activity is (idle, key
pressed, loaded, ...).

Based on the commit log found at https://patchwork.kernel.org/patch/10092377/

"vdd_log has no consumer and therefore will not be set to a specific
voltage. Still the PWM output pin gets configured and thence the vdd_log
output voltage will changed from it's default. Depending on the idle
state of the PWM this will slightly over or undervoltage the logic supply
of the RK3399 and cause instability with GbE (undervoltage) and PCIe
(overvoltage). Since the default value set by a voltage divider is the
correct supply voltage and we don't need to change it during runtime we
remove the rail from the devicetree completely so the PWM pin will not
be configured."

After removing the vdd-log from the rock960's specific DT, the board
does no longer hang and shows a stable behavior.

Apply the same change for the rock960 by removing the vdd-log from the
DT.

Fixes: 874846f1fc ("arm64: dts: rockchip: add 96boards RK3399 Ficus board")
Cc: stable@vger.kernel.org
Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-11-05 08:34:20 +01:00
Heiko Stuebner
e78d53c7b2 arm64: dts: rockchip: enable display nodes on rk3328-rock64
Enable necessary nodes to get output on the hdmi port of the board.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-28 13:18:37 +02:00
Heiko Stuebner
725e351c26 arm64: dts: rockchip: add rk3328 display nodes
Add the chain of display nodes from the core display-subsystem
through the one vop to the dw-hdmi output.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Robin Murphy <robin.murphy@arm.com>

changes in v3:
- drop reg from hdmi-in-port
changes in v2:
- remove trailing 0 from vop irq
2018-09-28 13:16:30 +02:00
Heiko Stuebner
6c69dfe2af arm64: dts: rockchip: add Innosilicon hdmi phy node to rk3328
The rk3328 uses a hdmiphy from Innosilicon, so add the necessary node
to the rk3328 soc devicetree.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Robin Murphy <robin.murphy@arm.com>
2018-09-28 13:16:23 +02:00
Heiko Stuebner
91e75bde63 arm64: dts: rockchip: add missing address and size cells for rk3399 mipi dsi
DSI controllers are also the hosts of their dsi bus and therefore contain
nodes describing the attached panels with their reg properties containing
the virtual ids.

The dsi controller nodes on rk3399 lacked the #address-cells and #size-cells
for these subnodes, so add them.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-26 13:39:18 +02:00
Chen-Yu Tsai
cd7ab133db arm64: dts: rockchip: Enable SPI NOR flash on Rock64
The Pine64 Rock64 board comes with a GigaDevice GD25Q128CSIG
or GD25Q127CSIG chip, which is a 128 Mbit SPI NOR flash chip
that supports the JEDEC read-ID command.

This patch enables the SPI controller and adds a device node
for the flash chip using the generic "jedec,spi-nor" comaptible.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-26 13:37:52 +02:00
Akash Gajjar
e4f3fb4909 arm64: dts: rockchip: add initial dts support for Rockpro64
Rockpro64 is a rockchip RK3399 based board from pine64.org.
This patch adds basic device node support for Rockpro64 board and make it able
to bring up.

Peripheral Works
- Sdcard
- USB 2.0, 3.0
- Leds
- Ethernet
- Debug console

Not working:
- USB Type-C

Signed-off-by: Akash Gajjar <Akash_Gajjar@mentor.com>
Acked-by: Deepak Das <Deepak_Das@mentor.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-26 13:31:55 +02:00
Heiko Stuebner
2ed30cfcf8 arm64: dts: rockchip: enable dwc2-based otg controller on px30-evb
Enable the newly added controller on the px30 evaluation board.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-24 15:46:29 +02:00
Heiko Stuebner
bb5981333f arm64: dts: rockchip: add dwc2 otg controller on px30
Add the node for the dwc2-based otg controller on the px30 soc.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-24 15:46:24 +02:00
Manivannan Sadhasivam
86ea9dc8c5 arm64: dts: rockchip: Enable SD card detection for Rock960 boards
For proper working of SD cards, let's add the Card Detect GPIO property
to the common devicetree for Rock960 family boards.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22 22:55:56 +02:00
Manivannan Sadhasivam
75d0385657 arm64: dts: rockchip: Add support for Rock960 board
Add devicetree support for Rock960 board, one of the Consumer Edition
boards of the 96Boards family. This board support utilizes the common
Rock960 family board support that includes Ficus 96Board.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22 22:55:11 +02:00
Manivannan Sadhasivam
ffb7b25e8a arm64: dts: rockchip: Split out common nodes for Rock960 based boards
Since the same family members of Rock960 boards (Rock960 and Ficus)
share the same configuration, split out the common nodes into a common
dtsi file for reducing code duplication. The board specific nodes for
Ficus boards are then placed in corresponding board DTS file.

Below are some of the key differences between both Rock960 and Ficus
boards:

1. Different host enable GPIO for USB
2. Different power and reset GPIO for PCI-E
3. No Ethernet port on Rock960

Only the properties which differ between both boards are placed in the
board specific dts and the reset of the nodes are placed in common dtsi
file.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22 22:52:38 +02:00
Katsuhiro Suzuki
e007e4e0d8 arm64: dts: rockchip: add spdif sound node for rock64
This patch adds sound card node for rock64. Currently we can support
S/PDIF only. It seems the lack of codec driver of rk3328 to enable
analog audio out.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22 22:51:15 +02:00
Vicente Bergas
88a20edf76 arm64: dts: rockchip: Fix microSD in rk3399 sapphire board
The microSD card slot in the Sapphire board is not working because of
several issues:
 1.- The vmmc power supply is missing in the DTS. It is capable of 3.0V
 and has a GPIO-based enable control.
 2.- The vqmmc power supply can provide up to 3.3V, but it is capped in
 the DTS to just 3.0V because of the vmmc capability. This results in a
 conflict from the mmc driver requesting an unsupportable voltage range
 from 3.3V to 3.0V (min > max) as reported in dmesg. So, extend the
 range up to 3.3V. The hw should be able to stand this 0.3V tolerance.
 See mmc_regulator_set_vqmmc in drivers/mmc/core/core.c.
 3.- The card detect signal is non-working. There is a known conflict
 with jtag, but the workaround in drivers/soc/rockchip/grf.c does not
 work. Adding the broken-cd attribute to the DTS fixes the issue.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22 22:49:22 +02:00
Rob Herring
501500e65f arm64: dts: rockchip: Fix I2C bus unit-address error on rk3399-puma-haikou
dtc has new checks for I2C buses. Fix the warnings in unit-addresses.

arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dtb: Warning (i2c_bus_reg): /i2c@ff3d0000/codec@0a: I2C bus unit address format error, expected "a"

Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-rockchip@lists.infradead.org
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-17 09:50:36 +02:00
Vicente Bergas
78f26da3ff arm64: dts: rockchip: Add type-c port supply on rk3399-sapphire board
Add the gpio-controlled regulator and add the supply to the otg-port of phy0.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-10 19:16:26 +02:00
Katsuhiro Suzuki
ef05bcb60c arm64: dts: rockchip: fix vcc_host1_5v pin assign on rk3328-rock64
This patch fixes pin assign of vcc_host1_5v. This regulator is
controlled by USB20_HOST_DRV signal.

ROCK64 schematic says that GPIO0_A2 pin is used as USB20_HOST_DRV.
GPIO0_D3 pin is for SPDIF_TX_M0.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-10 15:06:42 +02:00
Shohei Maruyama
a5002c41c3 arm64: dts: rockchip: add WiFi module support for Firefly-RK3399
This commit adds WiFi module support for the Firefly-RK3399.

Signed-off-by: Shohei Maruyama <cheat.sc.linux@outlook.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-10 14:50:16 +02:00
Vicente Bergas
707fa9e37f arm64: dts: rockchip: remove dvs2 pinctrl from pmic on rk3399-sapphire
On the board DVS2 is disabled and not connected, see schematic, page 16.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-10 14:05:55 +02:00
Vicente Bergas
bcdb578a5f arm64: dts: rockchip: Fix VCC5V0_HOST_EN on rk3399-sapphire
The pin is GPIO4-D1 not GPIO1-D1, see schematic, page 15 for reference.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-10 14:03:52 +02:00
Vicente Bergas
07736689dc arm64: dts: rockchip: re-order vcc_sys on rk3399-sapphire
Fix alphabetical order.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-10 14:02:28 +02:00
Sandy Huang
967c146491 arm64: dts: rockchip: add missing vop properties for px30
Add display ports for display-subsystem and add reset property
for vop node. If missing these properties, drm driver can't
probe sucessfully.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-29 14:54:08 +02:00
Tony Xie
f888da1662 arm64: dts: rockchip: Add idle-states to device tree for rk3399
Add idle-states for cpu and cluster sleep states.

Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-29 14:23:06 +02:00
Levin Du
99165b93da arm64: dts: rockchip: add sdmmc UHS support for roc-rk3328-cc
In roc-rk3328-cc board, the signal voltage of sdmmc is supplied by the
vcc_sdio regulator, which is a mux between 1.8V and 3.3V, controlled by
a special output only gpio pin labeled "gpiomut_pmuio_iout",
corresponding bit 1 of the syscon GRF_SOC_CON10.

This special pin can now be reference as <&grf_gpio 0>, thanks to the
gpio-syscon driver, which makes writing regulator-gpio possible.

If the signal voltage changes, the io domain needs to change
correspondingly.

To use this feature, the following options are required in kernel config:
 - CONFIG_GPIO_SYSCON=y
 - CONFIG_POWER_AVS=y
 - CONFIG_ROCKCHIP_IODOMAIN=y

Signed-off-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-27 06:16:48 +02:00
Levin Du
692ff61efa arm64: dts: rockchip: add GRF GPIO controller to rk3328
Adding a GRF GPIO controller labled "grf_gpio" to rk3328, currently
providing access to the GPIO_MUTE pin, which is manupulated by the
GRF_SOC_CON10 register.

The GPIO_MUTE pin is referred to as <&grf_gpio 0>.

Signed-off-by: Levin Du <djw@t-chip.com.cn>
[dropped default-status disabled]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-27 06:16:48 +02:00
Levin Du
49533b8211 arm64: dts: rockchip: add io-domain to roc-rk3328-cc
It is necessary for the io domain setting of the SoC to match the voltage
supplied by the regulators.

Signed-off-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-27 06:16:48 +02:00
Liang Chen
4afbce842a arm64: dts: rockchip: add PX30 evaluation board devicetree
This patch add px30-evb.dts for PX30 evaluation board.
Tested on PX30 evb.

Signed-off-by: Liang Chen <cl@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-27 06:16:48 +02:00
Liang Chen
7053e06b14 arm64: dts: rockchip: add core dtsi file for PX30 SoCs
This patch adds core dtsi file for Rockchip PX30 SoCs.

Signed-off-by: Liang Chen <cl@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-27 06:16:48 +02:00
Levin Du
8bb878cf20 arm64: dts: rockchip: add support for ROC-RK3399-PC board
ROC-RK3399-PC is a power efficient 4GB LPDDR4 single board
computer with USB 3.0 and Gigabit Ethernet in a form factor
compatible with the Raspberry Pi. It is based on the Rockchip
RK3399 SoC, powered by the Type-C port.

The devicetree currently supports peripherals of:

- Ethernet
- HDMI
- SD Card
- UART2 debug
- Type-C
- eMMC

USB3 in Type-C port currently only works with normal orientation,
not flip one.

Signed-off-by: Levin Du <djw@t-chip.com.cn>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-08-27 06:16:48 +02:00
Shohei Maruyama
0fbfe10fa9 arm64: dts: rockchip: add led support for Firefly-RK3399
This commit adds led support for the Firefly-RK3399. The board has two
leds, this commit enables them.

Signed-off-by: Shohei Maruyama <cheat.sc.linux@outlook.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-25 12:19:41 +02:00
Enric Balletbo i Serra
5b64d06133 arm64: dts: rockchip: remove deprecated Type-C PHY properties on rk3399
Commit 0fbc47d9e4 ("phy: rockchip-typec: deprecate some DT properties
for various register fields.") deprecates some Rockchip Type-C
properties. As these are now not needed, remove from the device tree
file.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-25 12:14:53 +02:00
Shohei Maruyama
24e5b85a1c arm64: dts: rockchip: add power button support for Firefly-RK3399
This commit adds power button support for the Firefly-RK3399.

Signed-off-by: Shohei Maruyama <cheat.sc.linux@outlook.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-25 12:14:53 +02:00
Heiko Stuebner
d3a537e9a7 arm64: dts: rockchip: drop out-of-tree properties from rk3399-ficus regulator
The pwm-regulator for vdd_log uses additional unreviewed properties in the
vendor kernel, which slipped in with the devicetree.
As written, they are unreviewed and unused in all mainline implementations
so drop them again.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-16 18:52:44 +02:00
Enric Balletbo i Serra
34e05c2ee5 arm64: dts: rockchip: add voltage properties for vcc3v3_pcie on rk3399 ficus
The vcc3v3_pcie regulator supplies 3.3V so add voltage properties
for it.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
[split off from original patch]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-16 18:50:25 +02:00