Commit Graph

403 Commits

Author SHA1 Message Date
Jerome Brunet
fd91673926 arm64: dts: meson-axg: add tdmout formatters
Add the tdm devices responsible for serializing audio samples
for i2s/tdm interfaces

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25 04:38:20 -07:00
Jerome Brunet
bf8e479003 arm64: dts: meson-axg: add tdmin formatters
Add the tdm devices responsible for decoding the data provided
through audio serial interface.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25 04:38:20 -07:00
Jerome Brunet
f08c52de81 arm64: dts: meson-axg: add spdifout
Add the SPDIF output device of the axg audio subsystem

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25 04:38:19 -07:00
Jerome Brunet
66d58a8f57 arm64: dts: meson-axg: add audio arb reset controller
Add the audio memory arbiter which control the access of the audio
fifos to the DDR.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-24 15:53:55 -07:00
Jerome Brunet
fd1a3b7e51 arm64: dts: meson-axg: add usb power regulator
The usb power regulator is supplied by the vcc 5v regulator and
controlled by a GPIO. This will be needed to enable usb.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-24 15:53:55 -07:00
Jerome Brunet
ff36932e03 arm64: dts: meson-axg: add vcc 5v regulator on the s400
This regulator is controlled by a GPIO and supplies various devices
on the board, such as the lineout codec, the usb supply or the lcd
controller.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-24 15:53:54 -07:00
Jerome Brunet
9f2619d5f5 arm64: dts: meson-axg: improve power supplies description
Add the parent supply of the s400 power supplies.
Also add 'regulator-always-on' property on the regulators which can't
be disabled

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-24 15:53:54 -07:00
Olof Johansson
88657e9012 Amlogic 64-bit DT updates for v4.19
- new SoC: S805x
 - new board: S805x-based P241 board from Amlogic
 - AXG: add ADC support w/buttons, add pins for PDM, SPDIF
 - AXG: s400 board: preliminary support for audio
 - GX: nanopi-k2: add HDMI, CEC, CVBS support
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAltR/bgACgkQWTcYmtP7
 xmU66A//Zd528TID0tJ3xWkOexkfFrlscJteba/NT7ruGRXf56Kbe0pTc2z/8RuL
 ItcyLVTvPOxEro1w/imwNZXjFoXrrEmPRltjI2CKpCkEOijMp6MBJO08lSom82ti
 VN5OgWVQbtsx6XgsT5RfcJNvrBPobEuJzWirTQmrpt319rUnDIDYBa/spJCzY4TD
 jrI7Q5fY9NkxV2dVKjAsKrnjNWLFo0i6OF1eM0EyCCTYoa4vJ2Z6sAY2MZe0zXD3
 zteFJ4DriDP5VnYVTnbi/fnZEouPY7KuD8kcwxCCjmZu9jaKg7wsrSciIXKHf7AV
 zaNdFvVXPFKrRQXYaGsSAkP1QsxwE05FqnOkfKFU3CdxA+aeXDBcIRMwIxmovMS8
 Uuc1+qcINLaYRaypija9/D9SuMZz0QZz9Ga8g0oI44UEKsTKyf6DunN3UNIQVWwQ
 PFn43xRqpjEr9vGdTGas19bBtwkju16S2/xKn9wl+eaU4BEK5FL4PD3Oo2wHBsnv
 TMdWrlJ1hsmTO4ZvFS58zoQY938t4YXqAPBpcmlCsDDY857/t5J6Rke1Xhid/amT
 kV2JSWQ39Ow2fm5gf2ol3nKZ92qu6w1uCKvmA1yX370KQD48F/+eKb23QnA450Wp
 SWsOAozL77y5MHClbTfkHwKTKWBag1mAyTTcC8WruAaDhcGHHd4=
 =2Ab9
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Amlogic 64-bit DT updates for v4.19
- new SoC: S805x
- new board: S805x-based P241 board from Amlogic
- AXG: add ADC support w/buttons, add pins for PDM, SPDIF
- AXG: s400 board: preliminary support for audio
- GX: nanopi-k2: add HDMI, CEC, CVBS support

* tag 'amlogic-dt64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-axg: add pdm pins
  ARM64: dts: meson-axg: add spdif input pins
  ARM64: dts: meson-axg: remove spdif out from gpio a7
  ARM64: dts: meson-axg: add adc buttons the S400
  ARM64: dts: meson-axg: remove vddio_ao18 from SoC dtsi
  ARM64: dts: meson-axg: add saradc support
  ARM64: dts: add S805X based P241 board
  dt-bindings: amlogic: Add support for GXL S805X and the P241 board
  ARM64: dts: amlogic: Add missing cooling device properties for CPUs
  ARM64: dts: meson-axg: add spdif output pins
  ARM64: dts: meson-axg: add s400 speaker amplifier
  ARM64: dts: meson-axg: add s400 main 12v supply
  ARM64: dts: meson-axg: add s400 microphone card leds
  ARM64: dts: meson-gxbb-nanopi-k2: Add HDMI, CEC and CVBS nodes
  ARM64: dts: meson-gx-p23x-q20x: move the wifi node to each board's .dts
  ARM64: dts: meson: enable the saradc node in meson-gx-p23x-q20x.dtsi

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21 14:49:25 -07:00
Martin Blumenstingl
aaa080fa7e ARM64: dts: meson-gxl: add support for the Oranth Tanix TX3 Mini
The Tanix TX3 Mini is a TV box based on the Amlogic S905W chipset.
There are two variants:
- 1 GiB or 2 GiB of DDR3 memory
- 8 GB or 16 GB eMMC flash

Both variants come with:
- 802.11 b/g/n wifi (Silicon Valley Microelectronics SSV6051, does not
  support Bluetooth)
- an LED 7 segment display with an FD628 controller
- HDMI and AV (CVBS) output
- 2x USB (utilizing both USB ports provided by the SoC)
- micro SD card slot
- serial console (uart_AO) has to be soldered after opening the case

The board seems to be very similar to the P23x and Q20x reference
boards, which is why it includes meson-gx-p23x-q20x.dtsi:
- eMMC reset routed to BOOT_9
- the SDIO wifi chip's reset line is routed to GPIOX_6 and the reference
  clock is 32.768KHz on PWM_E
- SD card detection is routed to CARD_6
- vqmmc of all MMC controllers is hard-wired to 1.8V (VDDIO_BOOT)
- uart_AO can be accessed after opening the case and soldering RX, TX
  and GND lines onto the exposed solder points (marked with RX, TX and
  GND)

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 09:02:22 -07:00
Martin Blumenstingl
e3b8b7d49e ARM64: dts: meson-gxl: add support for the S905W SoC and the P281 board
S905W is a new SoC from the GXL series. It is a cost-reduced version of
the S905X.
The P281 development board from Amlogic uses the same layout as the P231
(S905D development board). Thus the new P281 board inherits
meson-gx-p23x-q20x.dtsi to avoid code-duplication.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 09:02:22 -07:00
Jerome Brunet
8909e72270 ARM64: dts: meson-axg: add the audio clock controller
Add the audio clock controller which is part of the audio bus
This controller takes 8 input plls, and the usual clock gate, from the
main clock controller. It provides the clocs for the all the devices of
the audio subsystem, such as tdms, spdif, pdm, etc.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 09:02:22 -07:00
Jerome Brunet
89803e8b26 ARM64: dts: meson-axg: add pdm pins
Add pdm input pin definitions to meson AXG

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:37 -07:00
Jerome Brunet
c67ee0a88a ARM64: dts: meson-axg: add spdif input pins
Add spdif input pin definitions to meson AXG

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:37 -07:00
Jerome Brunet
399ac14ba5 ARM64: dts: meson-axg: remove spdif out from gpio a7
Spdif out in not multiplexed on gpio A7 (spdif in is)
Remove this entry to fix the problem.

Fixes: 53c03b0aff36 ("ARM64: dts: meson-axg: add spdif output pins")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:36 -07:00
Jerome Brunet
aabe5d2d4f ARM64: dts: meson-axg: add adc buttons the S400
Add the 6 adc buttons of the amlogic S400

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:36 -07:00
Jerome Brunet
65b7591a1e ARM64: dts: meson-axg: remove vddio_ao18 from SoC dtsi
Regulator should not be defined inside the SoC dtsi file.
vddio_ao18 is already defined in the S400 board dts anyway.

Fixes: bb8a2ebd0498 ("ARM64: dts: meson-axg: add saradc support")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:35 -07:00
Xingyu Chen
a51b74ea78 ARM64: dts: meson-axg: add saradc support
Add the DT info for SAR ADC of the Amlogic's Meson-AXG SoC.

Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:34 -07:00
Neil Armstrong
fd47716479 ARM64: dts: add S805X based P241 board
The Amlogic P241 board is the Reference Design board for the S805X
variant of the Amlogic Meson GXL SoC family.

The P241 board has the following features :
- 1GiB DDR4 Memory
- HDMI Connector with CEC
- A/V jack with Stereo Audio and CVBS
- 10/100 Ethernet
- 2x USB2.0 Type-A
- On-board WiFi SDIO Module
- On-board eMMC storage
- Infraread Received
- Factory Reset button
- UART connector

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Acked-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:34 -07:00
Viresh Kumar
e3128cea8b ARM64: dts: amlogic: Add missing cooling device properties for CPUs
The cooling device properties, like "#cooling-cells" and
"dynamic-power-coefficient", should either be present for all the CPUs
of a cluster or none. If these are present only for a subset of CPUs of
a cluster then things will start falling apart as soon as the CPUs are
brought online in a different order. For example, this will happen
because the operating system looks for such properties in the CPU node
it is trying to bring up, so that it can register a cooling device.

Add such missing properties.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[khilman: s/arm64/ARM64/ in Subject]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:33 -07:00
Jerome Brunet
70d4b64f6c ARM64: dts: meson-axg: add spdif output pins
Add the different pin configurations for the spdif output

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:32 -07:00
Jerome Brunet
a90193b9a0 ARM64: dts: meson-axg: add s400 speaker amplifier
Add the first of the two tas5707 power amplifier present on the
speaker daughter board.

According to the schematics of the S400 v3, only I2SB_DIN3 and
I2SC_DOUT2 will be available to the speaker board.

9R83, 9R84 and 9R18 are not connected so no audio signal will be
provided to the second amplifier. There is no point in enabling it
even if it is visible on the i2c bus.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:32 -07:00
Jerome Brunet
e120289cc0 ARM64: dts: meson-axg: add s400 main 12v supply
Add a fixed regulator for the main 12v which is the main power supply
of the board.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:31 -07:00
Jerome Brunet
6279f6669d ARM64: dts: meson-axg: add s400 microphone card leds
The microphone card connected to the s400 has 6 leds controlled
through an additional i2c gpio controller.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:30 -07:00
Neil Armstrong
d1b5a0a8ff ARM64: dts: meson-gxbb-nanopi-k2: Add HDMI, CEC and CVBS nodes
The Amlogic Meson GXBB based Nanopi-K2 board has an HDMI connector
with CEC and CVBS available on the 40pin header.
This patch adds the nodes to enable HDMI, CEC and CVBS functionnalities.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:30 -07:00
Martin Blumenstingl
1b2b1e752d ARM64: dts: meson-gx-p23x-q20x: move the wifi node to each board's .dts
meson-gx-p23x-q20x.dtsi is currently used by five boards:
- Amlogic P230 and P231 (which should be identical, apart from the
  external RGMII PHY on P230 whereas P231 can only use the internal PHY)
- Amlogic Q200 (identical to P230 but with an S912 GXM SoC instead of a
  GXL S905D SoC) and Q201 (identical to P231 but with an S912 GXM SoC
  instead of a GXL S905D SoC)
- NEXBOX A1 (based on the S912 GXM SoC)

The Amlogic P230 board uses a Broadcom BCM4356 SDIO wifi chip. Since the
other Amlogic reference design boards are very similar it's safe to
assume that these also use a Broadcom based SDIO wifi chip (which is
also how it was configured in meson-gx-p23x-q20x.dtsi).

However, NEXBOX A1 comes with a "longsys LTM8830" SDIO wifi module,
which is based on the "Qualcomm Atheros QCA9377-3(QCA1023-0)" chipset.

Thus move the wifi node from meson-gx-p23x-q20x.dtsi to each of the
four Amlogic reference board's .dts files.
There are no devicetree bindings for the QCA9377 SDIO wifi module yet,
so nothing is added to meson-gxm-nexbox-a1.dts.

Fixes: f51b454549 ("ARM64: dts: meson-gxm: Add support for the Nexbox A1")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:22 -07:00
Martin Blumenstingl
41ed2e0db4 ARM64: dts: meson: enable the saradc node in meson-gx-p23x-q20x.dtsi
meson-gxl-s905d-p230.dts and meson-gxm-q200.dts enable the saradc node
(and configure it's vref-supply "VDDIO_AO18") in their corresponding
.dts file.
Move both (the saradc node as well as the VDDIO_AO18 regulator) to
remove some duplicate code.

As a positive side-effect this enables the saradc also for the P231 (GXL
S905D) and Q201 (GXM S912) development boards which are similar to the
P230/Q200 boards (P231 and Q201 use the internal 100Mbit/s PHY, while
P230 and Q200 have an external RGMII PHY).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-20 08:18:11 -07:00
Martin Blumenstingl
1c38f4afd5 ARM64: dts: meson-gxl: fix Mali GPU compatible string
meson-gxl-mali.dtsi is only used on GXL SoCs. Thus it should use the GXL
specific compatible string instead of the GXBB one.
For now this is purely cosmetic since the (out-of-tree) lima driver for
this GPU currently uses the "arm,mali-450" match instead of the SoC
specific one. However, update the .dts to match the documentation since
this driver behavior might change in the future.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-06-27 16:48:25 -07:00
Jerome Brunet
6d28d57751 ARM64: dts: meson-axg: fix ethernet stability issue
Like the odroid-c2 and wetek, the s400 uses the RTL8211F and seems to
suffer from the kind of stability issue.

Doing an iperf3 download test, we can see a significant number of LPI
interrupts on the tx path. After a short while (5 to 15 seconds), the
network connection dies. If using rootfs over NFS, the connection may
also break during the boot sequence.

We still don't have a real explanation for this problem so let's disable
EEE once again.

Fixes: f6f6ac914b ("ARM64: dts: meson-axg: enable ethernet for A113D S400 board")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-06-27 16:48:25 -07:00
Kevin Hilman
48e21ded04 ARM64: dts: meson-gx: fix ATF reserved memory region
Vendor firmware/uboot has different reserved regions depending on
firmware version, but current codebase reserves the same regions on
GXL and GXBB, so move the additional reserved memory region to common
.dtsi.

Found when putting a recent vendor u-boot on meson-gxbb-p200.

Suggested-by: Neil Armstrong <narmstrong@baylibre.com>
Cc: stable@vger.kernel.org
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-06-27 16:48:25 -07:00
Neil Armstrong
d511b3e408 ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0
Like LibreTech-CC, the USB0 needs the 5V regulator to be enabled to power the
devices on the P212 Reference Design based boards.

Fixes: b9f07cb4f4 ("ARM64: dts: meson-gxl-s905x-p212: enable the USB controller")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-06-27 16:48:25 -07:00
Kevin Hilman
e490520c90 ARM64: dts: meson: fix register ranges for SD/eMMC
Based on updated information from Amlogic, correct the register range
for the SD/eMMC blocks to the right size.

Reported-by: Yixun Lan <yixun.lan@amlogic.com>
Tested-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-06-27 16:48:25 -07:00
Jerome Brunet
d5b4885b1d ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
There is a problem with the sd-uhs mode when doing a soft reboot.
Switching back from 1.8v to 3.3v messes with the card, which no longer
respond (timeout errors). According to the specification, we should
perform a card reset (power cycling the card) but this is something we
cannot control on this design.

Then the only solution to restore the communication with the card is an
"unplug-plug" which is not acceptable

Until we find a solution, if any, disable the sd-uhs modes on this design.
For the people using uhs at the moment, there will a performance drop as
a result.

Fixes: 3cde63ebc8 ("ARM64: dts: meson-gxl: libretech-cc: enable high speed modes")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Cc: stable@vger.kernel.org
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-06-27 16:48:25 -07:00
Yixun Lan
9adda3534f ARM64: dts: meson: fix clock source of the pclk for UART_AO
>From the hardware perspective, the actual pclk of the AO uarts
is the corresponding clkc_ao uart gate, not the main clock controller clk81.
This was not problem so far, because the uart_gate had
the CLK_IGNORE_UNUSED flag, which kept the gate open.

We plan to remove the CLK_IGNORE_UNUSED flag in another patch,
but before doing that, we need to fix the clock in the DTS file.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-23 11:31:54 -07:00
Qiufang Dai
e03421ece6 ARM64: dts: meson-axg: add AO clock driver
This add the AO (Always-On part) clock DT info for Meson-AXG SoC

Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
[khilman: cleanup subject]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-23 11:30:55 -07:00
Jerome Brunet
ffe2f2a415 ARM64: dts: meson-axg: enable i2c AO on the S400 board
The i2c AO is used for the MIC daughter card of the S400 board

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-23 10:05:41 -07:00
Jerome Brunet
c054b6c229 ARM64: dts: meson-axg: add i2c AO pins
Add the pins related to the i2c AO controller of the meson-axg platform

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-23 10:05:41 -07:00
Jerome Brunet
09eeaf4405 ARM64: dts: meson-axg: correct i2c AO clock
The clock specified for the i2c AO controller is the one for the EE
domain, which is incorrect as this controller needs the clock for AO
i2c controller.

Fixes: dc6f858e26 ("ARM64: dts: meson-axg: add I2C DT info for Meson-AXG SoC")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-23 10:05:41 -07:00
Jerome Brunet
2b6ff972d6 ARM64: dts: meson-axg: clean-up i2c nodes
Remove undocumented and unused "clk_i2c" clock name and the second
interrupt from i2c nodes of meson-axg platform. Those seems to have
been copy/pasted from the vendor kernel

Fixes: dc6f858e26 ("ARM64: dts: meson-axg: add I2C DT info for Meson-AXG SoC")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-23 10:05:41 -07:00
Yixun Lan
5a8a2ed63d ARM64: dts: meson-axg: enable AP6255 wifi module
The Meson-AXG S400 board is shipped with AP6255 wifi module,
which is actually using the brcmfmac 43455 driver.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-09 15:14:51 -07:00
Jerome Brunet
098e530362 ARM64: dts: meson: add MMC resets
Add reset lines to the mmc controllers of the meson gx and axg SoCs

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-09 15:14:50 -07:00
Yixun Lan
5e395e1466 ARM64: dts: meson-axg: add an 32K alt aoclk
The ao_clk81 in AO domain have two clock source,
one from a 32K alt crystal we name it as ao_alt_clk,
another is the clk81 signal from EE domain.

Acked-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-09 15:14:50 -07:00
Jerome Brunet
0df8fbb9df ARM64: dts: meson-axg: add tdm pins
Add tdm pins to amlogic's A113 device tree

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-09 15:14:49 -07:00
Yixun Lan
b0e59f9498 ARM64: dts: meson-axg: add GPIO interrupt controller support
Add the GPIO interrupt controller driver which found in the Amlogic's
Meson-AXG SoC, the controller share the similar ASIC IP as other meson SoCs.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-09 15:14:48 -07:00
Nan Li
221cf34bac ARM64: dts: meson-axg: enable the eMMC controller
The IP of eMMC controller in AXG is similiar to Meson-GX series.
Here we add the initial support of the HS200 mode with
clock running at 166MHz (to be safe), since we found some eMMC chip
fail to run at 200MHz due to tunning phase error.

Signed-off-by: Nan Li <nan.li@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
[khilman: drop incorrect SDIO pwrseq property]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-05-09 15:13:56 -07:00
Jerome Brunet
57ee976747 ARM64: dts: meson-gx: fix gxl clock controller compatible
There are a few differences between the gxbb and gxl clock controllers
which makes them incompatible. The hdmi, gp0 and fixed pll are
different. The rate of these plls reported by gxbb driver on a gxl
device would be wrong.

Remove the gxbb compatible from the gxl clock controller node so only
the correct driver is matched.

Fixes: 973fbd55b5 ("ARM64: dts: meson-gxl: Add clock nodes")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-19 10:38:50 -07:00
Jerome Brunet
cc4d6641cf ARM64: dts: meson-axg: use hhi syscon for the clock controller
Like the meson-gx, the axg clock controller should go through a syscon
to access the hhi register region, and not directly map the region.
This way, the hhi register region can be used safely by multiple drivers.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-19 10:38:50 -07:00
Jerome Brunet
6f95c8cd76 ARM64: dts: meson-gx: sysctrl is the parent of the clock controller
The parent of the meson-gx clock controller should be the hhi system
controller, not the HIU bus. This way, the HHI register region can be
used safely by multiple drivers

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-19 10:38:50 -07:00
Martin Blumenstingl
4b7b0d7b25 ARM64: dts: meson-gxm-khadas-vim2: enable the USB controller
The Khadas VIM2 board connects the dwc3 controller to an internal 4-port
USB hub which. Two of these ports are accessible directly soldered to
the board, while the other two are accessible through the 40-pin "GPIO"
header.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-18 10:24:34 -07:00
Martin Blumenstingl
55ef32249b ARM64: dts: meson-gxl-nexbox-a95x: enable the USB controller
The Nexbox A95X provides two USB ports. Enable the SoC's USB controller
on this board to make these USB ports usable.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-18 10:24:34 -07:00
Martin Blumenstingl
b83687f359 ARM64: dts: meson-gxl-s905x-libretech-cc: enable the USB controller
The LibreTech CC ("Le Potato") board provides four USB connectors.
These are provided by a hub which is connected to the SoC's USB
controller.
Enable the SoC's USB controller to make the USB ports usable. Also turn
on the HDMI_5V regulator when powering on the PHY because (even though
it's not shown in the schematics) HDMI_5V also supplies the USB VBUS.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-18 10:24:34 -07:00
Martin Blumenstingl
972cd12a02 ARM64: dts: meson-gx-p23x-q20x: enable the USB controller
All S905D (GXL) and S912 (GXM) reference boards (namely these are
P230, P231, Q200 and Q201) provide USB connectors.
This enables the USB controller on these boards to make the USB ports
actually usable.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-18 10:24:34 -07:00
Martin Blumenstingl
b9f07cb4f4 ARM64: dts: meson-gxl-s905x-p212: enable the USB controller
All boards based on the P212 reference design (the P212 reference board
itself and the Khadas VIM) have USB connectors (in case of the Khadas
VIM the first port is exposed through the USB Type-C connector, the
second port is connected to a 4-port USB hub).
This enables the USB controller on these boards to make the USB ports
actually usable.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-18 10:24:34 -07:00
Martin Blumenstingl
458baa95c8 ARM64: dts: meson-gxm: add GXM specific USB host configuration
The USB configuration on GXM is slightly different than on GXL. The dwc3
controller's internal hub has three USB2 ports (instead of 2 on GXL)
along with a dedicated USB2 PHY for this port. However, it seems that
there are no pins on GXM which would allow connecting the third port to
a physical USB port.
Passing the third PHY is required though, because without it none of the
other USB ports is working (this seems to be a limitation of how the
internal USB hub works, if one PHY is disabled then no USB port works).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-18 10:24:34 -07:00
Martin Blumenstingl
8aec5fc1d4 ARM64: dts: meson-gxl: add USB host support
This adds USB host support to the Meson GXL SoC. A dwc3 controller is
used for host-mode, while a dwc2 controller (not added in this patch
because I could not get it working) is used for device-mode only.

The dwc3 controller's internal roothub has two USB2 ports enabled but no
USB3 port. Each of the ports is supplied by a separate PHY. The USB pins
are connected to the SoC's USBHOST_A and USBOTG_B pins.
Due to the way the roothub works internally the USB PHYs are left
enabled. When the dwc3 controller is disabled the PHY is never powered on
so it does not draw any extra power. However, when the dwc3 host
controller is enabled then all PHYs also have to be enabled, otherwise
USB devices will not be detected (regardless of whether they are plugged
into an enabled port or not). This means that only the dwc3 controller
has to be enabled on boards with USB support (instead of requiring all
boards to enable the PHYs additionally with the chance of forgetting to
enable one and breaking all other ports with that as well).

This also adds the USB3 PHY which currently only does some basic
initialization. That however is required because without it high-speed
devices (like USB thumb drives) do not work on some devices (probably
because the bootloader does not configure the USB3 PHY registers).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-04-18 10:24:34 -07:00
Viresh Kumar
b6f67b039c ARM64: dts: meson: Remove "cooling-{min|max}-level" for gpio-fan node
The "cooling-min-level" and "cooling-max-level" properties are not
parsed by any part of the kernel currently and the max cooling state of
gpio-fan cooling device is found by referring to the
"gpio-fan,speed-map" instead.

Remove the unused properties from the gpio-fan node.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 14:28:39 +02:00
Viresh Kumar
f65f2df29d ARM64: dts: meson: Remove "cooling-{min|max}-level" for CPU nodes
The "cooling-min-level" and "cooling-max-level" properties are not
parsed by any part of the kernel currently and the max cooling state of
a CPU cooling device is found by referring to the cpufreq table instead.

Remove the unused properties from the CPU nodes.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 14:25:40 +02:00
Jerome Brunet
c339f0e29c ARM64: dts: meson-gx: make efuse read-only
efuse is one time programmable, so it is safer to deny write request
to this memory, unless the user is savvy enough to remove the read-only
flag from DTB

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-03-19 16:44:39 -07:00
Neil Armstrong
97ac009309 ARM64: dts: meson: bump mali450 clk to 744MHz
The Mali-450 IP can run up to 744MHz, bump the frequency using
the GP0 PLL clock.

Cc: Michal Lazo <michal.lazo@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-03-19 16:39:26 -07:00
Neil Armstrong
fb72c03e0e ARM64: dts: meson-gxbb-wetek: add a wetek specific dtsi to cleanup hub and play2
This patch adds a specific wetek dtsi to handle the specific Hub and Play2
boards by no more depending on the p20x dtsi.
This simplifies the hub and play2 dts and will avoid breaking these
boards when adding p200 and p201 specific changes.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-03-07 17:25:56 -08:00
Jerome Brunet
c04ffa71ff ARM64: dts: meson: reduce odroid-c2 eMMC maximum rate
Different modules maybe installed by the user on the eMMC connector
of the odroid-c2. While the red modules are working without an issue,
it seems some black modules (apparently Samsung based) are having
issue at 200MHz

While the tuning algorithm introduced in v4.14 enables high speed modes
on every other tested designs, it seems a problem remains for this
particular combination of board and eMMC module.

Lowering the maximum frequency of the eMMC on this board until we can
figure out a better solution.

Fixes: d341ca88ee ("mmc: meson-gx: rework tuning function")
Suggested-by: Ellie Reeves <ellierevves@gmail.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Cc: stable@vger.kernel.org
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-03-07 17:24:10 -08:00
Neil Armstrong
114abfe1aa ARM64: dts: amlogic: Convert to new-style SPDX license identifiers
Move the SPDX-License-Identifier lines to the top and drop the
license splat.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-03-07 17:21:58 -08:00
Jerome Brunet
b4ff05ca9a ARM64: dts: meson-axg: fix pwm_AO_cd compatible
The compatible in pwm_AO_cd is wrong and does not match anything.
Correct this with the correct compatible string

Fixes: 4a81e5ddfb ("ARM64: dts: meson-axg: add PWM DT info for Meson-Axg SoC")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-03-07 17:10:08 -08:00
Jerome Brunet
a04c18cb27 ARM64: dts: meson-axg: add sec_AO system controller
add the secure AO system controller with chipid enabled

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-03-07 17:09:17 -08:00
Jorge Ramirez-Ortiz
059a58fcd5 ARM64: dts: meson: accept MAC addr from u-boot environment
Extend configuring the MAC address from u-boot to all meson boards.

I didn't test this changeset but having checked libretech's u-boot
tree I believe it should just work.

Signed-off-by: Jorge Ramirez-Ortiz <jramirez@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Jorge Ramirez-Ortiz
f7c36209c4 ARM64: dts: meson s905x: accept MAC addr from u-boot environment
With the adequate configuration settings, u-boot will loop through the
list of aliases looking for "ethernetX".

By adding an ethernet alias, u-boot can fixup the local-mac-address
property in the kernel's device tree using a value held in its
environment variable ethaddr.

Tested-by: Jorge Ramirez-Ortiz <jramirez@baylibre.com>
Signed-off-by: Jorge Ramirez-Ortiz <jramirez@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Yixun Lan
3e5925c622 ARM64: dts: meson-axg: enable the UART_A controller
The UART_A is connected to a BT module on the S400 board.

Acked-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Yixun Lan
e496c415a3 ARM64: dts: meson-axg: complete the pinctrl info for UART_AO_A
Explictly request the pinctrl info for the UART_AO_A controller,
otherwise we may need to rely on bootloader for the initialization.

Acked-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Yixun Lan
4eae66a692 ARM64: dts: meson-axg: uart: Add the pinctrl info description
Describe the pinctrl info for the UART controller which is found
in the Meson-AXG SoCs.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
[khilman: s/uart_ao_b_gpioz/uart_ao_b_z/ ]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Yixun Lan
5866213022 ARM64: dts: meson-axg: uart: drop legacy compatible name from EE UART
When update the clock info for the UART controller in the EE domain,
the driver explicitly require 'pclk' in order to work properly.

With current logic of the code, the driver will go for the legacy clock probe
routine if it find current compatible string match to 'amlogic,meson-uart',
which result in not requesting the 'pclk' clock, thus break the driver in the end.

Acked-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Yixun Lan
777fa58db6 ARM64: dts: meson-axg: add RMII pins for ethernet controller
Comparing to RGMII interface, the RMII interface require few pins.
So it's worth describing them here.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Jian Hu
7d6d8a2053 ARM64: dts: meson-axg: enable I2C Master-1 for the audio speaker
In the S400 board, The I2C master-1 is connecting to
the audio speaker daughter board.

Signed-off-by: Jian Hu <jian.hu@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Jian Hu
8a7669a53e ARM64: dts: meson-axg: describe pin DT info for I2C controller
Describe all the pin mux for the I2C controller which found in
Meson-AXG SoC.

Signed-off-by: Jian Hu <jian.hu@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:10 -08:00
Jian Hu
dc6f858e26 ARM64: dts: meson-axg: add I2C DT info for Meson-AXG SoC
There are four I2C masters in EE domain, and one I2C Master in
AO domain, the DT info here should describe them all.

Signed-off-by: Jian Hu <jian.hu@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:09 -08:00
Jerome Brunet
eafd53d315 ARM64: meson-axg: enable hardware rng
Enable the hardware random generator

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:15:09 -08:00
Yixun Lan
77f5cdbd78 ARM64: dts: meson: uart: fix address space range
The address space range is actually 0x18, fixed here.

Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:13:04 -08:00
Jerome Brunet
2363ec931e ARM64: dts: meson-gxl: add internal ethernet PHY irq
Add the interrupt of the internal ethernet PHY

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-02-12 14:13:04 -08:00
Olof Johansson
ba05173afe Another round of 64-bit DT changes for the new Amlogic SoCs. These
include IR, SPI and ethernet MAC support for the new AXG family SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlpQC6wACgkQWTcYmtP7
 xmVazBAAh/riNhKvUEoHCa1TQ8f0ELfGkZ7ckOBtTEBE9DoQQXZ08jU+LwEEy1N3
 /5Uby3lquAYZiJzMuXfaJ63V+07OzIDt9hYzFBToMPf2ZLxSyGS8ZTWsUveBRXep
 tAY8ETtK8u3tq1pQH0A5lGc84yR8MM74We91GwuCA4S6whYqVbO1dInSb0mVqX50
 vVKChc+jUgXwy4zaazgSUKcjZmexSCF7zA9ZXnGM3wg3s4K3HhzLZwCm30GU30mC
 Of5uCT02cR+HkRC1fDfo3mY9oRr19krYz9hJIsMk3mnmQS0XeI+HJ1DX+5K8l4YP
 2ayVueBCLvqG7a1T4MLV6Hb7B1//Ejz6dT6UfTSSQszKXA3FQKIER7vt4Hg9IcCW
 rH5hXnPCko5yfjMpym3yr4+97fi6U1iJccc+DYRs0dq1Wrth40BwZH6tCrQVHfOQ
 jY6c2Ha5GDPTHbsW39vb7JvsFGYN2wlmmC1ThqG4e9kF8l1ZW+m433dJOicWMk2m
 55SqCkbmkboVy9bYC6Tgrx6/KAa6vqMK0oXHADSJgNeccEZZeiTttlVwAiF9b1/f
 1umUwKSfRhAvtvHD+ynoZIQ64oEnWGeGyc5EEJIdY+q7T6csT2E+pi75+y4q6jI2
 xMTuK5iwXNr7PF612Tmr5NMaB+59Abdshp9IXxsNDPJiNBTLagA=
 =lk2H
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64-3' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Another round of 64-bit DT changes for the new Amlogic SoCs.  These
include IR, SPI and ethernet MAC support for the new AXG family SoCs.

* tag 'amlogic-dt64-3' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-axg: enable ethernet for A113D S400 board
  ARM64: dts: meson-axg: add ethernet mac controller
  ARM64: dts: meson-axg: add the SPICC controller
  ARM64: dts: meson-axg: enable IR controller
  arm64: dts: meson-axg: switch uart_ao clock to CLK81
  clk: meson-axg: add clocks dt-bindings required header
  dt-bindings: clock: add compatible variant for the Meson-AXG

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-11 16:50:50 -08:00
Yixun Lan
f6f6ac914b ARM64: dts: meson-axg: enable ethernet for A113D S400 board
This is tested in the S400 dev board which use a RTL8211F PHY,
and the pins connect to the 'eth_rgmii_y_pins' group.

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-01-05 15:27:31 -08:00
Yixun Lan
29390d277d ARM64: dts: meson-axg: add ethernet mac controller
Add DT info for the stmmac ethernet MAC which found in
the Amlogic's Meson-AXG SoC, also describe the ethernet
pinctrl & clock information here.

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-01-05 15:27:31 -08:00
Sunny Luo
8ae4284e3f ARM64: dts: meson-axg: add the SPICC controller
Add DT info for the SPICC controller which found in
the Amlogic's Meson-AXG SoC.

Signed-off-by: Sunny Luo <sunny.luo@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-01-05 15:27:31 -08:00
Yixun Lan
7bd46a79aa ARM64: dts: meson-axg: enable IR controller
Enable IR remote controller which found in Amlogic's Meson-AXG SoCs.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-01-05 15:27:31 -08:00
Yixun Lan
06b7a63187 arm64: dts: meson-axg: switch uart_ao clock to CLK81
Switch the uart_ao pclk to CLK81 since the clock driver is ready.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-01-05 15:27:30 -08:00
Arnd Bergmann
7598a4e035 Amlogic 64-bit DT updates for v4.16, round 2
- clock, pinctrl, PWM and reset nodes for new AXG SoC family
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlpL5v0ACgkQWTcYmtP7
 xmWJHg//SBn8YMMm7DISpiemotfeX3VtKsPpvZwmbjQI4TuercobVk8Kl9IA/mzi
 BNREL5u/mvYk7HnClq3wQzl/S8eCF2y4pBHkO3z0LuP6oEqa53HwfrDv8Gw+fJDd
 +ovx65AKHjfTadqtFPp5ZTJBZOC50HJCHpCzKAaHeEiiQgMGNDkJqtM3gP9s+4yx
 6Ny7gdO8oapVxOLxq5riyQHqjjPRrS+UX3pmhguTrJsnISGQGGGRH5UH4vetWs61
 ZEKk0AhngQC/nNfrFY9Rdlx3hV1LdrmIC6DJttMETY/YkxgMgz76XL/1URB+/fFg
 SEm6MaFQusIWdpkMWcb0slzWdIo5u8LayXT0p8CkimeKeo/fdDhMtiamFKsRdWi8
 k4870UZO2LZNZ7aiaZZYUnRR1ksQ9uHCuUKcETW82pIvS/rnTUUkCnmzHTGgXHDZ
 7AWkGK7YM6CoKF7UOhfWaK5wpORNuKiD5kJFxR49EHcB29Zb1ls4mOQwtdM6DEHK
 Hb5xv/1HekQytNouhkkxPFEB6+sWixTY96vsWtFI9cvcmoH/OLACgYOwlkjyxsY5
 9fNhCzD/5FBVvYLmiREdlVc5TztsxO3iZNMEBmPg97et+J/3eHoNjmTSKt0e/CCR
 pFBnBx4AKeZwcegZcBZV5LzFUvncT6Ucpc9UNBoXHHF0jbrnUc4=
 =4k+i
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Pull "Amlogic 64-bit DT updates for v4.16, round 2" from Kevin Hilman:

This adds a few more basics (clock, pinctrl, PWM, reset) for the new AXG
family of Amlogic SoCs.

* tag 'amlogic-dt64-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson-axg: add new reset DT node
  ARM64: dts: meson-axg: add PWM DT info for Meson-Axg SoC
  ARM64: dts: meson-axg: add pinctrl DT info for Meson-AXG SoC
  documentation: Add compatibles for Amlogic Meson AXG pin controllers
  arm64: dts: meson-axg: add clock DT info for Meson AXG SoC
2018-01-05 12:28:48 +01:00
Arnd Bergmann
8d7ac420c1 Amlogic 64-bit DT updates for v4.16
- meson-gx: add VPU power domain support
 - odroid-c2: add HDMI and CEC nodes
 - misc cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlovIYkACgkQWTcYmtP7
 xmVMUg//c2qqAe74qbCq4oNF3N7StlaT99cXG7AG97lXAUMLuDpkheRbMzOe0jFl
 doiUuDbtx0mBy42yBDXzXuFxw7D8CaZFx8cvZ59gJf7YTN0MzLCxaRy6PAU5iYDj
 h0L6lB1lFbS5ov03lzWgF0je9mUDu+mQ062qhfvYn5iwGhkUlS2fSNgx6u2PBBUO
 vevfwMZ4mhhm0vltCmXyC6AlR3so+8sGl/aVZ149X0YoDuvJJFQRfBM/wnKeebCL
 IEXM+YjspJDpOs6N8sHhvqV1XZKxu5V4WK12gN+8VXj8uERkMx1OTM66Zmyy+Ewl
 c0Jd9VJ0ZaRBpFPqgPegmzt27k4IscZVPNjCCR5pcRCxc2gENNIj9xfBRUoTcm9F
 zZka8d4r3DTTP58CgzuNNO0bC6xaoi3pGK4q3kl0rIttYYfeSAd3DeibsS11D7Mp
 zkvk4E7TmrhsSDTbjl5xWGXJ/+nMfYk8BhR5jL2LnQlYpzOeQtYnDGb7y1wyooVt
 6Tm6FLMrv5or5g7zmS6o3X0f2MDlp9UwAOvHP3F1ujRmZwBz8TEhdUVvObo4+pZZ
 sR5HeEbNU9a0qanNYwG0mBhxE5iI0qQItV4wVYmxpnYuAStXml4RNUbXzwJBP+ME
 Zc6USo0FhjKKmBqllg9gTjbXb9HZvqds7LHgBVEKWmjsP1pMlu0=
 =0wR5
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Pull "Amlogic 64-bit DT updates for v4.16" from Kevin Hilman
- meson-gx: add VPU power domain support
- odroid-c2: add HDMI and CEC nodes
- misc cleanups

* tag 'amlogic-dt64' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-gxm: fix q200 interrupt number
  ARM64: dts: meson-gxm: add the PHY interrupt line on Khadas VIM2
  ARM64: dts: meson: add comments with the GPIO for the PHY interrupts
  ARM64: dts: amlogic: use generic bus node names
  ARM64: dts: meson: drop "sana" clock from SAR ADC
  ARM64: dts: odroid-c2: Add HDMI and CEC Nodes
  ARM64: dts: meson-gx: grow reset controller memory zone
  ARM64: dts: meson-gx: Add HDMI_5V regulator on selected boards
  ARM64: dts: meson-gx: add VPU power domain
2017-12-21 16:38:31 +01:00
Yixun Lan
43b9f617b5 arm64: dts: meson-axg: add new reset DT node
Add reset DT node for Amlogic's Meson-AXG SoC.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
2017-12-15 16:20:29 -08:00
Jian Hu
4a81e5ddfb ARM64: dts: meson-axg: add PWM DT info for Meson-Axg SoC
Add PWM DT info for the Amlogic's Meson-Axg SoC.

Signed-off-by: Jian Hu <jian.hu@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-15 12:19:02 -08:00
Xingyu Chen
de05ded6a9 ARM64: dts: meson-axg: add pinctrl DT info for Meson-AXG SoC
Add new pinctrl DT info for the Amlogic's Meson-AXG SoC.

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
[khilman: dropped unnecessary include]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-15 12:18:41 -08:00
Qiufang Dai
abfc18f910 arm64: dts: meson-axg: add clock DT info for Meson AXG SoC
Try to add Hiubus DT info, and also enable clock DT info
for the Amlogic's Meson-AXG SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-15 11:56:37 -08:00
Jerome Brunet
3106507e10 ARM64: dts: meson-gxm: fix q200 interrupt number
Correct the interrupt number assigned to the Realtek PHY in the q200

Fixes: b94d22d94a ("ARM64: dts: meson-gx: add external PHY interrupt on some platforms")
Reported-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-08 10:47:28 -08:00
Martin Blumenstingl
45293920c6 ARM64: dts: meson-gxm: add the PHY interrupt line on Khadas VIM2
The INTB/PMEB pin of the RTL8211F PHY on the Khadas VIM2 is routed to
GPIOZ_15. Add the corresponding interrupt using the GPIO interrupt
controller so the PHY framework doesn't have to poll the PHY for it's
status.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-08 10:46:43 -08:00
Martin Blumenstingl
50290cfe50 ARM64: dts: meson: add comments with the GPIO for the PHY interrupts
Currently one has to look/calculate the GPIO for the PHY interrupts
manually. Add a comment for the existing PHY interrupt lines to make it
easier to find out which GPIO is used.
This is done using the following calculation:
- number of GPIO AO pins (14 on GXBB: GPIOAO_0..13)
- add the offset of the pin which is used for the interrupt (for example
  GPIOZ_15 = 15 on Odroid-C2)

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-By: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-08 10:46:33 -08:00
Kevin Hilman
0cb6c60423 ARM64: dts: amlogic: use generic bus node names
The DT spec recommends that node-names have generic names like "bus".
Fix that in the Amlogic DTs, while leaving the label names to have more
SoC-specific names that match with the HW documentation.

Suggested-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-08 10:46:03 -08:00
Neil Armstrong
39005e562a ARM64: dts: meson-gx: fix UART pclk clock name
The clock-names for pclk was wrongly set to "core", but the bindings
specifies "pclk".
This was not cathed until the legacy non-documented bindings were removed.

Reported-by: Andreas Färber <afaerber@suse.de>
Fixes: f72d6f6037 ("ARM64: dts: meson-gx: use stable UART bindings with correct gate clock")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-08 10:39:11 -08:00
Xingyu Chen
e102da498e ARM64: dts: meson: drop "sana" clock from SAR ADC
The SAR ADC modules doesn't require The "sana" clock.

Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Singed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-06 12:00:05 -08:00
Neil Armstrong
fc19afa1b4 ARM64: dts: odroid-c2: Add HDMI and CEC Nodes
Now the VPU Power Domain has been fixed while boothing from Mainline U-Boot,
VPU and HDMI nodes can finally be added to the Odroid-C2 DTS.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-06 10:41:35 -08:00
Neil Armstrong
1eb0919836 ARM64: dts: meson-gx: grow reset controller memory zone
Now the Amlogic Meson GX SoCs datasheet documents all the Reset registers,
grow the memory in the node to allow usage of the level registers.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-06 10:41:34 -08:00
Neil Armstrong
b409f625a6 ARM64: dts: meson-gx: Add HDMI_5V regulator on selected boards
On reference boards and derivatives, the HDMI Logic is powered by an external
5V regulator.
This regulator was set by the Vendor U-Boot, add the regulator and set it always-on for now.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-06 10:41:33 -08:00
Neil Armstrong
74d1c6e9af ARM64: dts: meson-gx: add VPU power domain
This patch adds support for the VPU Power Domain nodes, and attaches the
VPU power domain to the VPU node.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-12-06 10:41:33 -08:00
Linus Torvalds
527d147074 ARM: Device-tree updates for 4.15
We add device tree files for a couple of additional SoCs in various areas:
 
 Allwinner R40/V40 for entertainment, Broadcom Hurricane 2 for networking,
 Amlogic A113D for audio, and Renesas R-Car V3M for automotive.
 
 As usual, lots of new boards get added based on those and other SoCs:
 
  - Actions S500 based CubieBoard6 single-board computer
 
  - Amlogic Meson-AXG A113D based development board
  - Amlogic S912 based Khadas VIM2 single-board computer
  - Amlogic S912 based Tronsmart Vega S96 set-top-box
 
  - Allwinner H5 based NanoPi NEO Plus2 single-board computer
  - Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers
  - Allwinner A83T based TBS A711 Tablet
 
  - Broadcom Hurricane 2 based Ubiquiti UniFi Switch 8
  - Broadcom bcm47xx based Luxul XAP-1440/XAP-810/ABR-4500/XBR-4500
      wireless access points and routers
 
  - NXP i.MX51 based Zodiac Inflight Innovations RDU1 board
  - NXP i.MX53 based GE Healthcare PPD biometric monitor
  - NXP i.MX6 based Pistachio single-board computer
  - NXP i.MX6 based Vining-2000 automotive diagnostic interface
  - NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants
 
  - Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone
  - Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet
 
  - Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA
 
  - Renesas R-Car V3M (R8A77970) SoC and "Eagle" reference board
  - Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards
  - Renasas r8a7745 based iWave G22D-SODIMM SoM
 
  - Rockchip rk3288 based Amarula Vyasa single-board computer
 
  - Samsung Exynos5800 based Odroid HC1 single-board computer
 
 For existing SoC support, there was a lot of ongoing work, as usual
 most of that concentrated on the Renesas, Rockchip, OMAP, i.MX, Amlogic
 and Allwinner platforms, but others were also active.
 
 Rob Herring and many others worked on reducing the number of issues that
 the latest version of 'dtc' now warns about. Unfortunately there is still
 a lot left to do.
 
 A rework of the ARM foundation model introduced several new files
 for common variations of the model.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJaDhcfAAoJEGCrR//JCVIngu0QAI2ntVotaOAOaCurNCnoVwI1
 j+eKwHGTawQRcSHWN8C+p4FzzaOmw+vvbOyewky8PWaDOCkK6yWEHRf3hb2la2jw
 j9prht28R1RAHIRPuah4SxKHYoT4VW9q/2hMHJ2BiNDOMX54xE7j2cUvWSsIRz5o
 id2QqKsp2OIDNQAXAA4N25FjdBCYvSik80panSdJITtJODIj6UfmcXSgqkoQ3TTV
 rwVyFtryl9Si3eyZYcfB2/0ILKuaMC8gl7IX9z+PkRqu9XN7i6bZKZlMMtpJqX3u
 Ad89kLkFqNhiwZ77bIoRRl+0NEoSu5hTPLHRqghS6gPfDY2JT6igf0rGC8twjfea
 fzGOBWr6NlIlUmR4smS0GyE/3YsfOQvYWjE+zx5qkmay30TORVTZBzsBR+kQJzKK
 tnbO1zvst1ECtk9e8np0di4NAo9rwM37dxpu4aspP1Umxw1K68VSNE3RhGl8UUwW
 oNvHa8hD8Ck0QDBNltrkmKBVoIYKRU3XhXrRXVjRQdu6Xitml0XYBi80V0h33EE3
 162UXDEMu1/aqRRZUtKw7+yozT8fqOHjH8Zrv2zCVGg0HEwVohcWv/BPXbrg0abJ
 wXYS8VocZJP6Nb4FQMe+cRbBUHoBgBQqbsF60tWiYsjv0zoc5hogLWcZYqzDcIO6
 06OBR3HgUW27urUn/JBu
 =TnSo
 -----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 Arnd Bergmann:
 "We add device tree files for a couple of additional SoCs in various
  areas:

  Allwinner R40/V40 for entertainment, Broadcom Hurricane 2 for
  networking, Amlogic A113D for audio, and Renesas R-Car V3M for
  automotive.

  As usual, lots of new boards get added based on those and other SoCs:

   - Actions S500 based CubieBoard6 single-board computer

   - Amlogic Meson-AXG A113D based development board
   - Amlogic S912 based Khadas VIM2 single-board computer
   - Amlogic S912 based Tronsmart Vega S96 set-top-box

   - Allwinner H5 based NanoPi NEO Plus2 single-board computer
   - Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers
   - Allwinner A83T based TBS A711 Tablet

   - Broadcom Hurricane 2 based Ubiquiti UniFi Switch 8
   - Broadcom bcm47xx based Luxul XAP-1440/XAP-810/ABR-4500/XBR-4500
     wireless access points and routers

   - NXP i.MX51 based Zodiac Inflight Innovations RDU1 board
   - NXP i.MX53 based GE Healthcare PPD biometric monitor
   - NXP i.MX6 based Pistachio single-board computer
   - NXP i.MX6 based Vining-2000 automotive diagnostic interface
   - NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants

   - Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone
   - Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet

   - Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA

   - Renesas R-Car V3M (R8A77970) SoC and "Eagle" reference board
   - Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards
   - Renasas r8a7745 based iWave G22D-SODIMM SoM

   - Rockchip rk3288 based Amarula Vyasa single-board computer

   - Samsung Exynos5800 based Odroid HC1 single-board computer

  For existing SoC support, there was a lot of ongoing work, as usual
  most of that concentrated on the Renesas, Rockchip, OMAP, i.MX,
  Amlogic and Allwinner platforms, but others were also active.

  Rob Herring and many others worked on reducing the number of issues
  that the latest version of 'dtc' now warns about. Unfortunately there
  is still a lot left to do.

  A rework of the ARM foundation model introduced several new files for
  common variations of the model"

* tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (599 commits)
  arm64: dts: uniphier: route on-board device IRQ to GPIO controller for PXs3
  dt-bindings: bus: Add documentation for the Technologic Systems NBUS
  arm64: dts: actions: s900-bubblegum-96: Add fake uart5 clock
  ARM: dts: owl-s500: Add CubieBoard6
  dt-bindings: arm: actions: Add CubieBoard6
  ARM: dts: owl-s500-guitar-bb-rev-b: Add fake uart3 clock
  ARM: dts: owl-s500: Set power domains for CPU2 and CPU3
  arm: dts: mt7623: remove unused compatible string for pio node
  arm: dts: mt7623: update usb related nodes
  arm: dts: mt7623: update crypto node
  ARM: dts: sun8i: a711: Enable USB OTG
  ARM: dts: sun8i: a711: Add regulator support
  ARM: dts: sun8i: a83t: bananapi-m3: Enable AP6212 WiFi on mmc1
  ARM: dts: sun8i: a83t: cubietruck-plus: Enable AP6330 WiFi on mmc1
  ARM: dts: sun8i: a83t: Move mmc1 pinctrl setting to dtsi file
  ARM: dts: sun8i: a83t: allwinner-h8homlet-v2: Add AXP818 regulator nodes
  ARM: dts: sun8i: a83t: bananapi-m3: Add AXP813 regulator nodes
  ARM: dts: sun8i: a83t: cubietruck-plus: Add AXP818 regulator nodes
  ARM: dts: sunxi: Add dtsi for AXP81x PMIC
  arm64: dts: allwinner: H5: Restore EMAC changes
  ...
2017-11-16 15:48:26 -08:00
Linus Torvalds
37cb8e1f8e DeviceTree for 4.15:
- kbuild cleanups and improvements for dtbs
 
 - Code clean-up of overlay code and fixing for some long standing memory
   leak and race condition in applying overlays
 
 - Improvements to DT memory usage making sysfs/kobjects optional and
   skipping unflattening of disabled nodes. This is part of kernel
   tinification efforts.
 
 - Final piece of removing storing the full path for every DT node. The
   prerequisite conversion of printk's to use device_node format
   specifier happened in 4.14.
 
 - Sync with current upstream dtc. This brings additional checks to dtb
   compiling.
 
 - Binding doc tree wide removal of leading 0s from examples
 
 - RTC binding documentation adding missing devices and some
   consolidation of duplicated bindings
 
 - Vendor prefix documentation for nutsboard, Silicon Storage Technology,
   shimafuji, Tecon Microprocessor Technologies, DH electronics GmbH,
   Opal Kelly, and Next Thing
 -----BEGIN PGP SIGNATURE-----
 
 iQItBAABCAAXBQJaCwaSEBxyb2JoQGtlcm5lbC5vcmcACgkQ+vtdtY28YcNzeA/8
 C8uQhSsX2+UQZvFzcEA8KQAMGT3kYdrcf+gidRKwCEUWg1qscUEpTb3n3Rm5NUbU
 RPD1s6GSlh6fJCMHDTQ6Tti/T59L7nZa2/AIGmUishGu4x4q1o18AobpFJmYP/EM
 SJPwnmm5RV9WcZFao1y+sY3Xtn8DStxHO4cS+dyF5/EvPN9D8nbLJfu7bgTBAZww
 HktIMB9kx+GTipRQZBvBwXoy5MJjthIZub4XwzesA4tGananj4cXlc0xaVxpdYy3
 5bO6q5F7cbrZ2uyrF+oIChpCENK4VaXh80m0WHc8EzaG++shzEkR4he1vYkwnV+I
 OYo4vsUg9dP8rBksUG1eYhS8fJKPvEBRNP7ETT5utVBy5I/tDEbo/crmQZRTIDIC
 hZbhcdZlISZj0DzkMK2ZHQV9UYtRWzXrJbZHFIPP12GCyvXVxYJUIWb9iYnUYSon
 KugygsFSpZHMWmfAhemw5/ctJZ19qhM5UIl2KZk5tMBHAf466ILmZjg0me6fYkOp
 eADfwHJ1dLMdK79CVMHSfp+vArcZXp35B16c3sWpJB36Il97Mc/9siEufCL4GKX7
 IBBnQBlbpSBKBejWVyI7Ip/Xp5u4qAQD+ZMJ9oLqBRqfWerHbDuOERlEOgwGqJYr
 9v4HvP7V8eVUvAdqXka4EBfCyAgUzXDAxG2Dfmv9vGU=
 =jgpN
 -----END PGP SIGNATURE-----

Merge tag 'devicetree-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull DeviceTree updates from Rob Herring:
 "A bigger diffstat than usual with the kbuild changes and a tree wide
  fix in the binding documentation.

  Summary:

   - kbuild cleanups and improvements for dtbs

   - Code clean-up of overlay code and fixing for some long standing
     memory leak and race condition in applying overlays

   - Improvements to DT memory usage making sysfs/kobjects optional and
     skipping unflattening of disabled nodes. This is part of kernel
     tinification efforts.

   - Final piece of removing storing the full path for every DT node.
     The prerequisite conversion of printk's to use device_node format
     specifier happened in 4.14.

   - Sync with current upstream dtc. This brings additional checks to
     dtb compiling.

   - Binding doc tree wide removal of leading 0s from examples

   - RTC binding documentation adding missing devices and some
     consolidation of duplicated bindings

   - Vendor prefix documentation for nutsboard, Silicon Storage
     Technology, shimafuji, Tecon Microprocessor Technologies, DH
     electronics GmbH, Opal Kelly, and Next Thing"

* tag 'devicetree-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (55 commits)
  dt-bindings: usb: add #phy-cells to usb-nop-xceiv
  dt-bindings: Remove leading zeros from bindings notation
  kbuild: handle dtb-y and CONFIG_OF_ALL_DTBS natively in Makefile.lib
  MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry
  kbuild: clean up *.dtb and *.dtb.S patterns from top-level Makefile
  .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore
  .gitignore: sort normal pattern rules alphabetically
  dt-bindings: add vendor prefix for Next Thing Co.
  scripts/dtc: Update to upstream version v1.4.5-6-gc1e55a5513e9
  of: dynamic: fix memory leak related to properties of __of_node_dup
  of: overlay: make pr_err() string unique
  of: overlay: pr_err from return NOTIFY_OK to overlay apply/remove
  of: overlay: remove unneeded check for NULL kbasename()
  of: overlay: remove a dependency on device node full_name
  of: overlay: simplify applying symbols from an overlay
  of: overlay: avoid race condition between applying multiple overlays
  of: overlay: loosen overly strict phandle clash check
  of: overlay: expand check of whether overlay changeset can be removed
  of: overlay: detect cases where device tree may become corrupt
  of: overlay: minor restructuring
  ...
2017-11-14 18:25:40 -08:00
Masahiro Yamada
7e7962dd1a kbuild: handle dtb-y and CONFIG_OF_ALL_DTBS natively in Makefile.lib
If CONFIG_OF_ALL_DTBS is enabled, "make ARCH=arm64 dtbs" compiles each
DTB twice; one from arch/arm64/boot/dts/*/Makefile and the other from
the dtb-$(CONFIG_OF_ALL_DTBS) line in arch/arm64/boot/dts/Makefile.
It could be a race problem when building DTBS in parallel.

Another minor issue is CONFIG_OF_ALL_DTBS covers only *.dts in vendor
sub-directories, so this broke when Broadcom added one more hierarchy
in arch/arm64/boot/dts/broadcom/<soc>/.

One idea to fix the issues in a clean way is to move DTB handling
to Kbuild core scripts.  Makefile.dtbinst already recognizes dtb-y
natively, so it should not hurt to do so.

Add $(dtb-y) to extra-y, and $(dtb-) as well if CONFIG_OF_ALL_DTBS is
enabled.  All clutter things in Makefiles go away.

As a bonus clean-up, I also removed dts-dirs.  Just use subdir-y
directly to traverse sub-directories.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
[robh: corrected BUILTIN_DTB to CONFIG_BUILTIN_DTB]
Signed-off-by: Rob Herring <robh@kernel.org>
2017-11-09 17:03:07 -06:00
Masahiro Yamada
74ce1896c6 kbuild: clean up *.dtb and *.dtb.S patterns from top-level Makefile
We need to add "clean-files" in Makfiles to clean up DT blobs, but we
often miss to do so.

Since there are no source files that end with .dtb or .dtb.S, so we
can clean-up those files from the top-level Makefile.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <robh@kernel.org>
2017-11-08 11:20:24 -06:00
Greg Kroah-Hartman
b24413180f License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

By default all files without license information are under the default
license of the kernel, which is GPL version 2.

Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier.  The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.

This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.

How this work was done:

Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
 - file had no licensing information it it.
 - file was a */uapi/* one with no licensing information in it,
 - file was a */uapi/* one with existing licensing information,

Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.

The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne.  Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.

The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed.  Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.

Criteria used to select files for SPDX license identifier tagging was:
 - Files considered eligible had to be source code files.
 - Make and config files were included as candidates if they contained >5
   lines of source
 - File already had some variant of a license header in it (even if <5
   lines).

All documentation files were explicitly excluded.

The following heuristics were used to determine which SPDX license
identifiers to apply.

 - when both scanners couldn't find any license traces, file was
   considered to have no license information in it, and the top level
   COPYING file license applied.

   For non */uapi/* files that summary was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0                                              11139

   and resulted in the first patch in this series.

   If that file was a */uapi/* path one, it was "GPL-2.0 WITH
   Linux-syscall-note" otherwise it was "GPL-2.0".  Results of that was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0 WITH Linux-syscall-note                        930

   and resulted in the second patch in this series.

 - if a file had some form of licensing information in it, and was one
   of the */uapi/* ones, it was denoted with the Linux-syscall-note if
   any GPL family license was found in the file or had no licensing in
   it (per prior point).  Results summary:

   SPDX license identifier                            # files
   ---------------------------------------------------|------
   GPL-2.0 WITH Linux-syscall-note                       270
   GPL-2.0+ WITH Linux-syscall-note                      169
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17
   LGPL-2.1+ WITH Linux-syscall-note                      15
   GPL-1.0+ WITH Linux-syscall-note                       14
   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5
   LGPL-2.0+ WITH Linux-syscall-note                       4
   LGPL-2.1 WITH Linux-syscall-note                        3
   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3
   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1

   and that resulted in the third patch in this series.

 - when the two scanners agreed on the detected license(s), that became
   the concluded license(s).

 - when there was disagreement between the two scanners (one detected a
   license but the other didn't, or they both detected different
   licenses) a manual inspection of the file occurred.

 - In most cases a manual inspection of the information in the file
   resulted in a clear resolution of the license that should apply (and
   which scanner probably needed to revisit its heuristics).

 - When it was not immediately clear, the license identifier was
   confirmed with lawyers working with the Linux Foundation.

 - If there was any question as to the appropriate license identifier,
   the file was flagged for further research and to be revisited later
   in time.

In total, over 70 hours of logged manual review was done on the
spreadsheet to determine the SPDX license identifiers to apply to the
source files by Kate, Philippe, Thomas and, in some cases, confirmation
by lawyers working with the Linux Foundation.

Kate also obtained a third independent scan of the 4.13 code base from
FOSSology, and compared selected files where the other two scanners
disagreed against that SPDX file, to see if there was new insights.  The
Windriver scanner is based on an older version of FOSSology in part, so
they are related.

Thomas did random spot checks in about 500 files from the spreadsheets
for the uapi headers and agreed with SPDX license identifier in the
files he inspected. For the non-uapi files Thomas did random spot checks
in about 15000 files.

In initial set of patches against 4.14-rc6, 3 files were found to have
copy/paste license identifier errors, and have been fixed to reflect the
correct identifier.

Additionally Philippe spent 10 hours this week doing a detailed manual
inspection and review of the 12,461 patched files from the initial patch
version early this week with:
 - a full scancode scan run, collecting the matched texts, detected
   license ids and scores
 - reviewing anything where there was a license detected (about 500+
   files) to ensure that the applied SPDX license was correct
 - reviewing anything where there was no detection but the patch license
   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
   SPDX license was correct

This produced a worksheet with 20 files needing minor correction.  This
worksheet was then exported into 3 different .csv files for the
different types of files to be modified.

These .csv files were then reviewed by Greg.  Thomas wrote a script to
parse the csv files and add the proper SPDX tag to the file, in the
format that the file expected.  This script was further refined by Greg
based on the output to detect more types of files automatically and to
distinguish between header and source .c files (which need different
comment types.)  Finally Greg ran the script using the .csv files to
generate the patches.

Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02 11:10:55 +01:00
Arnd Bergmann
18ea0db308 Amlogic 64-bit DT updates for v4.15, round 2
- add support for new GPIO IRQ driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAln2BpMACgkQWTcYmtP7
 xmV5og//YkRwzS21agdQu3ZYCh/VP5i1CUhXZkp520DSLeY60LZfQNnz1lFvFHjN
 baSW2Gypy9rBjcRr4efl79Qb8v10JvLytUt7LYLHCFaU/u5AeEPFNLc0E4JzKtIB
 n8x99sqoY0NsVBfN4yVLqNmQjUZw87+I0nit/BcOAoHdOTnxtK1GBgcVF3ovRwet
 T/opxgKQeR2rp1NS5kjye9NYt/HK9WCE9e3eoO+h0OjLtlVu9b2M2/XYz2yMKlmj
 T09SWZx9gmqF47B3mXb0/f5KUaYNnnoxVGx8F55oVQhtWZcTt9G67CvBnAdU26Lm
 ftw0uwOF1Rjc4heybJkePm4k5pJTtXtgmCoEQl79/L1v+dvC1d+oPPvExd7Zp5rU
 qiT5SKOIeCP7Bclzbn01mszMFefxmtJe2zyrbwjL/Ntvo/1DlifI70Rjde7rY+Mw
 pWtgONhRjr8Q5XvFXNKVXqeDlLBM8Qv+YOqZ2weMqdBDsbr1LFIeCZOhRNu3O1qR
 bNQ+soVfuHL7ei6lks+cbBApNRDN+J0YIx2Y6alJ/0kjpI2aNWvGPfgdmPq5w4Uw
 rOIRgm19Et5loHbdI60A1VfKNlu+WkrSkESj4h6bQ2pwt1tWso7RrlpfCXROcCbm
 2JicBHIe1665E+FCRZOCPXdPx73SRBIPCVbNL3T1oomaf3prqrE=
 =vVV3
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Pull "Amlogic 64-bit DT updates for v4.15, round 2" from Kevin Hilman:
- add support for new GPIO IRQ driver

* tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-gx: add external PHY interrupt on some platforms
  ARM64: dts: meson-gx: add gpio interrupt controller
  ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
  ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supply
2017-10-30 14:40:14 +01:00
Arnd Bergmann
a5494aed0d Amlogic 64-bit platforms: DT updates for v4.15
- new SoC support: A113D
 - new boards: Tronsmart Vega S96, Khadas vim2
 - reserved memory fixups
 - gpio-names cleanups
 - MMC cleanups, enable high-speed modes
 - misc cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlnsbzwACgkQWTcYmtP7
 xmWwSw/+LBr7iNv9ugxgfShcd8ugecjJm7eBMD9zKMJaHw+1AUxhexZsCyUQVjDy
 UjAeTTMsugTzIEvQoSI97h82K3uE7/3zqU+UaWziWILegb8b9VnYVzjHUoodNE9Z
 /9gbIb7P55rlJ1BN0zzXcsvEjvC7TrfklgXBfIBK0Ob2zqDHGpiWOFnrQiuZNweA
 tgSemkT4ELZYAksXszFhU1o87QW5IRqXwNX5ech7p3UpUTdDnY1MPNbLRRh9tVWi
 G7EtLJfbSPEHczBBtfcxQkagpk2TjVStMpYgrAaa3eMG5Ervdh3QrdGp8B7bObPY
 rZgYAU1x7q3PBWm07IpnlnprMC3RHP7wdirXVKMNW1DbYqRBoyGeTc9pF+DgiMNP
 wcxsbQgotSZbeke6ODPaP2xEtIqWCgTee/4P6zjOYfsXxphtVkdfLGvICwpximUj
 CqbXZSsn+pg4g1IsGU3EcVLbFzq2A+uv5hkV18b9ouDIN0mm7+/mpyaLeQ8wrl2U
 5f+dCbrU4ypYosnOQIZKla8kHwutWmur6a9+VBPSEVWMXzdUUmBUicxgUYi5DMLZ
 SLXBklAZ74YqnFNZvrNaLvaD2GR5COU8NpW9S3PBxsUqXa57jMUAAOzbeLLvRB87
 57S3pR7f+thG93pe8JFfP/ciVcnAGn9oQkV5LU8k6lTd7gaxtEw=
 =bJwM
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Pull "Amlogic 64-bit platforms: DT updates for v4.15" from Kevin Hilman:

- new SoC support: A113D
- new boards: Tronsmart Vega S96, Khadas vim2
- reserved memory fixups
- gpio-names cleanups
- MMC cleanups, enable high-speed modes
- misc cleanups

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson-axg: add initial A113D SoC DT support
  dt-bindings: arm: amlogic: Add Meson AXG binding
  ARM64: dts: meson-gx: remove unnecessary uart compatible
  ARM64: dts: meson-gx: remove unnecessary clocks properties
  ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory zone
  ARM64: dts: meson-gxm: enable HS400 on the vim2
  ARM64: dts: meson-gxbb-nexbox-a95x: Enable USB Nodes
  dt-bindings: arm: amlogic: Add Tronsmart Vega S96 binding
  ARM64: dts: meson-gxm: Add Vega S96 board
  ARM64: dts: meson-gxm: Add support for Khadas VIM2
  ARM64: dts: meson-gxl: Take eMMC data strobe out of eMMC pins
  ARM64: dts: meson-gxl: adjust libretech-cc gpio-line-names
  ARM64: dts: meson-gxl: adjust kvim gpio-line-names
  ARM64: dts: meson-gxbb: adjust odroid-c2 gpio-line-names
  ARM64: dts: meson-gxbb: adjust nanopi-k2 gpio-line-names
  ARM64: dts: meson-gx: adjust gpio-ranges for TEST_N
  ARM64: dts: meson-gx: remove gpio offset
  ARM: dts: meson8: remove gpio offset
  ARM64: dts: meson-gxl-libretech-cc: enable internal phy leds
  ARM64: dts: meson-gxl-libretech-cc: enable saradc
2017-10-30 14:37:17 +01:00
Jerome Brunet
b94d22d94a ARM64: dts: meson-gx: add external PHY interrupt on some platforms
Add the external PHY interrupt on the nanopi-k2, odroid-c2, p200, p230
and q200

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29 08:44:04 -07:00
Jerome Brunet
9dbb56ea09 ARM64: dts: meson-gx: add gpio interrupt controller
Add gpio interrupt controller to Amlogic GX family SoCs

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29 08:43:29 -07:00
Neil Armstrong
e841ec956e ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supply
Looking at the schematics, the USB Power Supply is shared between the
two USB interfaces,
If the usb0 fails to initialize, the second one won't have power.

Fixes: 5a0803bd5a ("ARM64: dts: meson-gxbb-odroidc2: Enable USB Nodes")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29 08:43:00 -07:00
Yixun Lan
9d59b70850 arm64: dts: meson-axg: add initial A113D SoC DT support
Try to add basic DT support for the Amlogic's Meson-AXG A113D SoC,
which describe components as follows: Reserve Memory, CPU, GIC, IRQ,
Timer, UART. It's capable of booting up into the serial console.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-19 03:17:07 -07:00
Neil Armstrong
a87f854ddc ARM64: dts: meson-gx: remove unnecessary uart compatible
Since the switch to documented uart bindings, the old undocumented
compatible binding was left for simplicity.

This patch removes these unneeded compatible strings.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:25:32 -07:00
Neil Armstrong
ab29891e95 ARM64: dts: meson-gx: remove unnecessary clocks properties
Since the switch to documented uart bindings, the clocks are
redefined in the SoC family dtsi file.

This patch removes these unneeded properties.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:25:32 -07:00
Neil Armstrong
4ee8e51b9e ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory zone
This year, Amlogic updated the ARM Trusted Firmware reserved memory mapping
for Meson GXL SoCs and products sold since May 2017 uses this alternate
reserved memory mapping.
But products had been sold using the previous mapping.

This issue has been explained in [1] and a dynamic solution is yet to be
found to avoid loosing another 3Mbytes of reservable memory.

In the meantime, this patch adds this alternate memory zone only for
the GXL and GXM SoCs since GXBB based new products stopped earlier.

[1] http://lists.infradead.org/pipermail/linux-amlogic/2017-October/004860.html

Fixes: bba8e3f427 ("ARM64: dts: meson-gx: Add firmware reserved memory zones")
Reported-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:23:17 -07:00
Jerome Brunet
a1d759cf52 ARM64: dts: meson-gxm: enable HS400 on the vim2
Enable HS400 high speed eMMC mode on the khadas vim2

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:22:06 -07:00
Peter Korsgaard
e2f4d749e7 ARM64: dts: meson-gxbb-nexbox-a95x: Enable USB Nodes
Enable both gxbb USB controllers and add a 5V regulator for the OTG port
VBUS, similar to p20x.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:45 -07:00
Neil Armstrong
593d311d9f ARM64: dts: meson-gxm: Add Vega S96 board
The Tronsmart Vega S96 is a TV box derived from Amlogic q200 reference design.

Cc: support@tronsmart.com
Acked-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Oleg Ivanov <balbes-150@yandex.ru>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:03 -07:00
Neil Armstrong
b8b74dda39 ARM64: dts: meson-gxm: Add support for Khadas VIM2
The Khadas VIM2 is a Single Board Computer, respin of the origin
Khadas VIM board, using an Amlogic S912 SoC and more server oriented.

It provides the same external connectors and header pinout, plus a SPI
NOR Flash, a reprogrammable STM8S003 MCU, FPC Connector, Cooling FAN header
and Pogo Pads Arrays.

Cc: Gouwa <gouwa@szwesion.com>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:03 -07:00
Neil Armstrong
ab36be660b ARM64: dts: meson-gxl: Take eMMC data strobe out of eMMC pins
Since the Data Strobe pin is optional, take it out of the default
eMMC pins and add a separate entry.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:03 -07:00
Jerome Brunet
1d70eaada7 ARM64: dts: meson-gxl: adjust libretech-cc gpio-line-names
TEST_N gpio has been moved so the gpio-line-names of the cc
must be adjusted accordingly

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:03 -07:00
Jerome Brunet
c6496b47ae ARM64: dts: meson-gxl: adjust kvim gpio-line-names
TEST_N gpio has been moved so the gpio-line-names of the kvim
must be adjusted accordingly

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:03 -07:00
Jerome Brunet
e43f20e844 ARM64: dts: meson-gxbb: adjust odroid-c2 gpio-line-names
GPIOX22 is now declared properly and TEST_N has been moved so
the gpio-line-names of the odroid-c2 must be adjusted accordingly

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:03 -07:00
Jerome Brunet
1ce2c00878 ARM64: dts: meson-gxbb: adjust nanopi-k2 gpio-line-names
GPIOX22 is now declared properly and TEST_N has been moved so
the gpio-line-names of the nanopi-k2 must be adjusted accordingly

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:03 -07:00
Jerome Brunet
7dbe78e5fa ARM64: dts: meson-gx: adjust gpio-ranges for TEST_N
TEST_N has moved from the EE controller to the AO controller so
the gpio-ranges need to adjusted for it

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:02 -07:00
Jerome Brunet
352f72b42a ARM64: dts: meson-gx: remove gpio offset
Remove pin offset on the EE controller. Meson pinctrl no longer has
this quirk

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:02 -07:00
Jerome Brunet
dac161871f ARM64: dts: meson-gxl-libretech-cc: enable internal phy leds
Enable the internal phy ACT and LINK leds pinmux

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:02 -07:00
Jerome Brunet
dd47e4a36a ARM64: dts: meson-gxl-libretech-cc: enable saradc
Enable saradc and add the reference 1.8v regulator required.
The libretech-cc has saradc channel 0 and 2 available on the 2 first
pins of 2J3 header

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-11 17:12:02 -07:00
Jerome Brunet
485a308f05 ARM64: dts: meson-gxbb: nanopi-k2: enable sdr104 mode
SDR104 seems to be OK on the nanopi-k2 SBC so enable it

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:01 -07:00
Jerome Brunet
c1429e20a5 ARM64: dts: meson-gxbb: nanopi-k2: enable sdcard UHS modes
Enable UHS modes, up to SDR50, on the nanopi-k2 SBC.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:01 -07:00
Jerome Brunet
0f55335824 ARM64: dts: meson-gxbb: p20x: enable sdcard UHS modes
Enable sdcard UHS modes, up to SDR50, on p20x based boards.
While the s905 supports SDR104 mode, it appears that the PCB of p20x
based boards can't cope with a rate as high as 200Mhz.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:01 -07:00
Jerome Brunet
3cde63ebc8 ARM64: dts: meson-gxl: libretech-cc: enable high speed modes
Enable sdcard UHS modes up to SDR50. Unfortunately, it seems the PCB of
the libretech-cc cannot handle SDR104 at 200Mhz reliably.
Also enable eMMC DDR52 mode.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:00 -07:00
Jerome Brunet
8a5085c420 ARM64: dts: meson-gxl: libretech-cc: add card regulator settle times
Changing the card voltage on the cc is not instantaneous, especially
when switching from 3.3v to 1.8v.

It take at least 30ms for the regulator to go from 3.3v to 1.8v. Add
margin to that to make sure we don't upset the sdcard during the voltage
switch

Fixes: 61ff2af9b278 ("ARM64: dts: fixup libretech cc definition")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:00 -07:00
Jerome Brunet
42776561a1 ARM64: dts: meson-gxbb: nanopi-k2: add card regulator settle times
Changing the card voltage on the nanopi-k2 is not instantaneous,
especially when switching from 3.3v to 1.8v.

It take at least 3ms for the regulator to go from 3.3v to 1.8v. Add
margin to that to make sure we don't upset the sdcard during the voltage
switch

Fixes: 9bc7ffb08d ("arm64: dts: amlogic: Add NanoPi K2")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:00 -07:00
Jerome Brunet
67e7607fcd ARM64: dts: meson: add mmc clk gate pins
Add the pinctrl to switch mmc clk pins in gpio (pulled down) mode. This
is necessary to be able to gate the clk outside of the SoC while
keeping it running in the controller

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:00 -07:00
Jerome Brunet
673ccaaccf ARM64: dts: meson: remove cap-sd-highspeed from emmc nodes
It does not make much sense to define cap-sd-highspeed in the emmc nodes
Just remove it.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:00 -07:00
Jerome Brunet
50662499f9 ARM64: dts: meson-gx: Use correct mmc clock source 0
Now that the clock source 0 is properly described in the CCF, use it
instead of assuming the default value (xtal)

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-09-05 12:05:00 -07:00
Neil Armstrong
47884c5c74 ARM64: dts: meson-gxl-libretech-cc: Add GPIO lines names
This patch describes the GPIO lines usage on the LibreTech CC board.

This is useful in the debugfs gpio file and using the cdev gpio API.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
[khilman: minor whiespace fix]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-22 15:37:50 -07:00
Kevin Hilman
4db26f83a7 Linux 4.13-rc4
-----BEGIN PGP SIGNATURE-----
 
 iQEcBAABAgAGBQJZh8YYAAoJEHm+PkMAQRiG46QIAKOBbLlOY38zIJwDfJs6ydvH
 eFLryznS7RM2w0Gw1RyVAyWS43QS9RUNGDMa4UOb9AvurBHYpK29t1uq6LejQ/hn
 2Uvxuq95qEVVYzN1OA3WzLKUa35g3qRM9rTYFz7xGMRp2Ldk/aPRi/PVJLhSO3YQ
 HFRLsfNMWTkSR4imuxm7NS+cYMcqWbDbanvW5IwQ+RFRPo8Ac1PbFpGUdVtar6+O
 Fm3GLBsRB3dijJwYyWQKeDvtLr608i50by4yS7EIAqbUSfoDpJEyTL57oTCRok7P
 5ZycGpK4bXWF0OpBWpKgrFO5tB7xfzUDa3TmNhS3Q8ep4KLHNXwM3V6p8Y+YZco=
 =FId5
 -----END PGP SIGNATURE-----

Merge tag 'v4.13-rc4' into v4.14/dt64

Linux 4.13-rc4
2017-08-22 15:37:31 -07:00
Neil Armstrong
b16c71c9f6 ARM64: dts: meson-gx: Add AO CEC nodes
This patch adds the AO CEC node in all the HDMI enabled boards DTS.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-22 15:37:22 -07:00
Neil Armstrong
7fd2c355a2 ARM64: dts: meson-gx: update AO clkc to new bindings
The AO clkc needs to be updated to new bindings with an system control parent
node and moving the clkc node as subnode.

Also adds the SoC specific compatible following the bindings requirements.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-22 15:37:22 -07:00
Helmut Klein
f72d6f6037 ARM64: dts: meson-gx: use stable UART bindings with correct gate clock
This patch switches to the stable UART bindings but also add the correct
gate clock to the non-AO UART nodes for GXBB and GXL SoCs.

Acked-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Helmut Klein <hgkr.klein@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-08 14:48:56 -07:00
Neil Armstrong
12ada0513d ARM64: dts: meson-gxbb-nanopi-k2: Add GPIO lines names
This patch describes the GPIO lines usage on the Nanopi K2 board.

This is useful in the debugfs gpio file and using the cdev gpio API.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01 12:57:41 -07:00
Neil Armstrong
60795933b7 ARM64: dts: meson-gxl-khadas-vim: Add GPIO lines names
This patch describes the GPIO lines usage on the Khadas VIM board.

This is useful in the debugfs gpio file and using the cdev gpio API.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
[khilman: minor whitespace fix]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01 12:57:26 -07:00
Jerome Brunet
5149616e7a ARM64: dts: meson-gxbb: p20x: add card regulator settle times
Changing the card voltage on the p200 is not instantaneous, especially
when switching from 3.3v to 1.8v.

I take at least 70ms for the regulator to go from 3.3v to 1.8v. Add
margin to that to make sure we don't upset the sdcard during the voltage
switch

Fixes: ef8d2ffedf ("ARM64: dts: meson-gxbb: add MMC support")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01 12:46:45 -07:00
Neil Armstrong
c9fe1cfe4e ARM64: dts: meson-gx: Add SoC info register
Add node for the Amlogic Meson GX SoC information register.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-07-28 09:23:28 -07:00
Martin Blumenstingl
5e3465f63d ARM64: dts: meson-gx: consistently use the GIC_SPI and IRQ type macros
the mailbox and ethmac nodes used the magic number "0" instead of the
GIC_SPI preprocessor macro. Additionally the ethmac used the magic
number "1" instead of IRQ_TYPE_EDGE_RISING.
Fix this to make the .dtsi easier to read.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-07-22 08:30:51 -07:00
Jerome Brunet
72fb2c8521 ARM64: dts: meson-gxl-s905x-libretech-cc: fixup board definition
The libretech CC derives less from the p212 than initially thought.
Several voltage regulators are different and the capabilities of the
sdcard and emmc also differ.

Deriving from the p212 is not convient anymore so the libretech is now
derived from s905x definition directly.

Fixes: cd84aff1d9 ("ARM64: dts: meson-gxl: Add Libre Technology CC support")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-07-20 17:50:22 -07:00
Jerome Brunet
6620f14684 ARM64: dts: meson-gx: use specific compatible for the AO pwms
Use the specific compatible for AO pwms so the pwms input can
be correctly set

FDIV4 is not present on the pwm A0, so change kadhas vim input
clocks to xtal.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-07-20 17:43:48 -07:00
Jerome Brunet
cd84aff1d9 ARM64: dts: meson-gxl: Add Libre Technology CC support
Add support for the CC  board from Shenzhen Libre Technology
More information about the board are available here:

https://libre.computer/blog/

Cc: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-22 12:02:05 -07:00
Neil Armstrong
fa80863151 ARM64: dts: meson-gx: Add SPICC nodes
Add nodes for the SPICC controller on GX common dtsi, GXBB and
GXL dtsi files.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-16 11:24:56 -07:00
Neil Armstrong
27f87bd290 ARM64: dts: meson-gxl-s905x-p212: Add HDMI and CVBS nodes
Add HDMI and CVBS nodes for the Amlogic P212 reference board.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-09 11:38:22 -07:00
Neil Armstrong
b43186dba1 ARM64: dts: meson-gxl-s905x-khadas-vim: Add HDMI nodes
Add HDMI nodes for the Khadas Vim board.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-09 11:38:22 -07:00