This pull request contains Broadcom ARM-based SoCs Device Tree updates
for 5.5, please pull the following:
- Stefan paves the way for supporting the Raspberry Pi 4 and gets rid of
a bunch of dtc checker warnings by removing incorrect
nodes/properties, moving BCM2835/6/7 specific nodes into the
appropriate DTS, converts Raspberry Pi boards to JSON schema, and
finally adds minimal Raspberry Pi 4 model B support
- Dan adds support for the Luxul XWC-2000 router based on the BCM47094 SoC
- Chris adds a proper label to the Hurricane 2 watchdog controller node
* tag 'arm-soc/for-5.5/devicetree' of https://github.com/Broadcom/stblinux:
ARM: dts: bcm: HR2: add label to sp805 watchdog
ARM: dts: BCM5301X: Add DT for Luxul XWC-2000
arm64: dts: broadcom: Add reference to RPi 4 B
ARM: dts: Add minimal Raspberry Pi 4 support
dt-bindings: arm: bcm2835: Add Raspberry Pi 4 to DT schema
dt-bindings: arm: Convert BCM2835 board/soc bindings to json-schema
ARM: dts: bcm283x: Move BCM2835/6/7 specific to bcm2835-common.dtsi
ARM: dts: bcm283x: Remove brcm,bcm2835-pl011 compatible
ARM: dts: bcm283x: Remove simple-bus from fixed clocks
Link: https://lore.kernel.org/r/20191023212814.30622-1-f.fainelli@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
This is a Dell Wyse thin client, variously referred to as "Ariel",
"3020" or "Tx0D" where "x" stands for the software it was shipped with.
I somewhat arbitrarily chose "ariel".
There are bits missing, because the drivers are not in and bindings are not
settled yet:
* Things missing from mmp3.dtsi:
HSIC controller and its PHY (only the internal Ethernet is connected
here, the hub with external USB2 ports is connected to the U2O controller
that works well), Vivante GC2000 GPU
* &twsi1/regulator@19
Marvell 88pm867 power regulator
* &twsi3/vga-dvi-encoder@76
Chrontel CH7033B-BF VGA & DVI encoder
* &twsi3/sound-codec@30
Sound chip, probably a Marvell 88ce156
* &twsi4/embedded-controller@58
ENE KB3930QF Embedded Controller, also seems to be connected to &ssp4.
Might not need a driver -- about the only useful thing it can do is to
reboot the machine when tickled via some GPIO lines.
Also there seems to be something at &twsi1 address 0x50.
Link: https://lore.kernel.org/r/20191022152837.3553524-1-lkundrak@v3.sk
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Olof Johansson <olof@lixom.net>
Actions Semi ARM64 changes for v5.5:
Most of the basic infrastructure is completed for the ARM64 S900 SoC.
It can now boot a distro from eMMC/uSD with mainline kernel. Below are
the changes for this cycle (only S900):
- Added MMC controller support for S900 SoC. There are 4 controllers in
this SoC, each capable of accessing MMC cards as well as SDIO.
- Added onboard eMMC and uSD support for 96Boards Bubblegum96 board based
on S900. Since the MMC driver is not capable of supporting SDIO currently,
it is not enabled for now. And with the absence of PMIC support, fixed
regulators are used to model the power supply.
* tag 'actions-arm64-dt-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions:
arm64: dts: actions: Add uSD and eMMC support for Bubblegum96
arm64: dts: actions: Add MMC controller support for S900
Link: https://lore.kernel.org/r/20191022145012.GB3601@Mani-XPS-13-9360
Signed-off-by: Olof Johansson <olof@lixom.net>
Add uSD and eMMC support for Bubblegum96 board based on Actions Semi
S900 SoC. SD0 is connected to uSD slot and SD2 is connected to eMMC.
Since there is no PMIC support added yet, fixed regulator has been
used as a regulator node.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Add MMC controller support for Actions Semi S900 SoC. There are 4 MMC
controllers in this SoC which can be used for accessing SD/MMC/SDIO cards.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
ARM: Marvell MMP Device Tree patches for v5.5
This tag includes binding documentation for various hardware found on Marvell
MMP3 SoC along a DTS file for said hardware.
* tag 'mmp-dt-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lkundrak/linux-mmp:
ARM: dts: mmp3: Add MMP3 SoC dts file
dt-bindings: phy-mmp3-usb: Add bindings
dt-bindings: mrvl,intc: Add a MMP3 interrupt controller
dt-bindings: arm: mrvl: Document MMP3 compatible string
dt-bindings: arm: Convert Marvell MMP board/soc bindings to json-schema
dt-bindings: arm: cpu: Add Marvell MMP3 SMP enable method
Link: https://lore.kernel.org/r/d4897c4a92319527c46147244282803cd9f5a1ff.camel@v3.sk
Signed-off-by: Olof Johansson <olof@lixom.net>
Samsung DTS changes for DMC driver for v5.5
Add bindings and update device tree sources of Exynos5422 platforms with
new Dynamic Memory Controller nodes and properties.
* tag 'samsung-dt-dmc-5.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
dt-bindings: memory-controllers: exynos5422-dmc: Correct example syntax and memory region
ARM: dts: exynos: Add interrupts to DMC controller in Exynos5422
ARM: dts: exynos: Extend mapped region for DMC on Exynos5422
dt-bindings: memory-controllers: exynos5422-dmc: Add interrupt mode
dt-bindings: ddr: Add bindings for Samsung LPDDR3 memories
ARM: dts: exynos: Add DMC device to Exynos5422 and Odroid XU3-family boards
ARM: dts: exynos: Add syscon compatible to clock controller on Exynos542x
dt-bindings: memory-controllers: Add Exynos5422 DMC device description
dt-bindings: ddr: Add bindings for LPDDR3 memories
dt-bindings: ddr: Rename lpddr2 directory
Link: https://lore.kernel.org/r/20191021180453.29455-6-krzk@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
Samsung DTS ARM64 changes for v5.5
1. Fix boot of Exynos7 due to wrong address/size of memory node,
2. Move GPU under /soc node,
3. Minor of DT bindings.
* tag 'samsung-dt64-5.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
arm64: dts: exynos: Rename Multi Core Timer node to "timer" on Exynos5433
arm64: dts: exynos: Split phandle in dmas property on Exynos5433
arm64: dts: exynos: Swap clock order of sysmmu on Exynos5433
arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node"
arm64: dts: exynos: Move GPU under /soc node for Exynos7
arm64: dts: exynos: Move GPU under /soc node for Exynos5433
Link: https://lore.kernel.org/r/20191021180453.29455-5-krzk@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
Samsung DTS ARM changes for v5.5
1. Add ARM architected timers on Exynos5 for KVM-based virtualization,
2. Extend chip identification needed for future Adaptive Supply Voltage,
3. Add audio support to Arndale board,
4. Fix init order of clock providers on s3c64xx,
5. A lot of cleanups and adjustments of DTS with DT schema.
* tag 'samsung-dt-5.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: dts: s3c64xx: Fix init order of clock providers
ARM: dts: exynos: Rename SysRAM node to "sram"
ARM: dts: exynos: Rename power domain nodes to "power-domain" in Exynos4
ARM: dts: exynos: Add audio support (WM1811 CODEC boards) to Arndale board
ARM: dts: exynos: Use defines for MCT interrupt GIC SPI/PPI specifier
ARM: dts: exynos: Remove MCT subnode for interrupt map on Exynos54xx
ARM: dts: exynos: Remove MCT subnode for interrupt map on Exynos5250
ARM: dts: exynos: Remove MCT subnode for interrupt map on Exynos4412
ARM: dts: exynos: Remove MCT subnode for interrupt map on Exynos4210
ARM: dts: exynos: Rename Multi Core Timer node to "timer"
ARM: dts: exynos: Split phandle in dmas property
ARM: dts: exynos: Remove obsolete IRQ lines on Exynos3250
ARM: dts: exynos: Add samsung,asv-bin property to Odroid XU3 Lite
ARM: dts: exynos: Add "syscon" compatible string to chipid node on Exynos5
ARM: dts: exynos: Add support ARM architected timers on Exynos5
Link: https://lore.kernel.org/r/20191021180453.29455-4-krzk@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
A lot of improvements for the (till now) somewhat dormant px30 soc,
power-tree improvements ofr the roc-rk3399-pc, after a long wait
also support for the CR50 TPM device found on some RK3399-Gru devices,
some audio and gmac improvements for NanoPi4 and Rockpro64 as well
as marking the redundant RK_FUNC_x -> x mapping as deprecated and
fixing a missing #msi-cells on rk3399.
* tag 'v5.5-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
include: dt-bindings: rockchip: mark RK_FUNC defines as deprecated
arm64: dts: rockchip: restyle rockchip,pins on rk3399-rock-pi-4
arm64: dts: rockchip: Update nanopi4 phy reset properties
arm64: dts: rockchip: Enable nanopi4 HDMI audio
arm64: dts: rockchip: add cr50 tpm to rk3399-gru scarlet and bob
arm64: dts: rockchip: add analog audio nodes on rk3399-rockpro64
arm64: dts: rockchip: add missing #msi-cells to rk3399
arm64: dts: rockchip: Fix roc-rk3399-pc regulator input rails
arm64: dts: rockchip: Rename vcc12v_sys into dc_12v for roc-rk3399-pc
dt-bindings: document PX30 usb2phy General Register Files
arm64: dts: rockchip: add px30-evb i2c1 devices
arm64: dts: rockchip: document explicit px30 cru dependencies
arm64: dts: rockchip: remove unused pin settings from px30
arm64: dts: rockchip: move px30-evb console output to uart 5
arm64: dts: rockchip: add emmc-powersequence to px30-evb
arm64: dts: rockchip: fix the px30-evb power tree
arm64: dts: rockchip: add default px30 emmc pinctrl
arm64: dts: rockchip: remove px30 emmc_pwren pinctrl
arm64: dts: rockchip: remove static xin32k from px30
arm64: dts: rockchip: fix iface clock-name on px30 iommus
Link: https://lore.kernel.org/r/1650793.YZj09CGBNl@phil
Signed-off-by: Olof Johansson <olof@lixom.net>
New rk3288 features are Gamma support for the VOPs as well as declaring
the cpuid found in the efuses. Veyron display got a cleanup to use the
interpolated backlight values instead of declaring huge tables
and finally a cleanup fixing some tabs/spaces issues in the dts files.
* tag 'v5.5-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: rockchip: remove some tabs and spaces from dtsi files
ARM: dts: rockchip: Add RK3288 VOP gamma LUT address
ARM: dts: rockchip: Use interpolated brightness tables for veyron
ARM: dts: rockchip: Add cpu id to rk3288 efuse node
Link: https://lore.kernel.org/r/1770986.Em1ahGqaF7@phil
Signed-off-by: Olof Johansson <olof@lixom.net>
Describes most of the hardware found on Marvell MMP3, aka PXA2128, aka
Armada 620. Missing bits are the LCD controller, HSIC controllers,
Audio and GPU. Will be completed once bindings and drivers settle.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Similar to MMP2 one, but has an extra range for the other core. The
muxes stay the same.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Rob Herring <robh@kernel.org>
Marvel MMP3 is a successor to MMP2, containing similar peripherals with two
PJ4B cores.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Rob Herring <robh@kernel.org>
Convert Marvell MMP SoC bindings to DT schema format using json-schema.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Rob Herring <robh@kernel.org>
Add the enable method for the second PJ4B core of the Marvell MMP3 SoC.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Rob Herring <robh@kernel.org>
This pull request introduce initial Raspberry Pi 4 support. But all the fancy
stuff like GENET, PCIe, xHCI, 40 bit DMA and V3D is missing.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
It's a simple network device based on BCM47094 with just a single
Ethernet port.
Signed-off-by: Dan Haab <dan.haab@legrand.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Use interpolated brightness tables (added by commit 573fe6d1c2
("backlight: pwm_bl: Linear interpolation between
brightness-levels") for veyron, instead of specifying every single
step. Some devices/panels have intervals that are smaller than
the specified 'num-interpolated-steps', the driver interprets
these intervals as a single step.
Another option would be to switch to a perceptual brightness curve
(CIE 1931), with the caveat that it would change the behavior of
the backlight. Also the concept of a minimum brightness level is
currently not supported for CIE 1931 curves.
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20191003094137.v2.1.Ic9fd698810ea569c465350154da40b85d24f805b@changeid
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This adds a reference to the dts of the Raspberry Pi 4 B,
so we don't need to maintain the content in arm64.
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
This adds minimal support for the new Raspberry Pi 4 without the
fancy stuff like GENET, PCIe, xHCI, 40 bit DMA and V3D. The RPi 4 is
available in 3 different variants (1, 2 and 4 GB RAM), so leave the memory
size to zero and let the bootloader take care of it. The DWC2 is still
usable as peripheral via the USB-C port.
Other differences to the Raspberry Pi 3:
- additional GIC 400 Interrupt controller
- new thermal IP and HWRNG
- additional MMC interface (emmc2)
- additional UART, I2C, SPI and PWM interfaces
- clock stretching bug in I2C IP has been fixed
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Acked-by: Eric Anholt <eric@anholt.net>
Acked-by: Florian Fanelli <f.fainelli@gmail.com>
Convert the BCM2835/6/7 SoC bindings to DT schema format using json-schema.
All the other Broadcom boards are maintained by Florian Fainelli.
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Acked-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Rob Herring <robh@kernel.org>
As preparation we want all common BCM2711 + BCM2835/6/7 functions in
bcm283x.dtsi and all BCM2835/6/7 specific in the new
bcm2835-common.dtsi. Since i2c2 is BCM2835 specific, we also need
to move it to bcm2835-common.dtsi.
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Acked-by: Eric Anholt <eric@anholt.net>
The fixed clocks doesn't form some kind of bus. So let's remove it.
This fixes the follow DT schema warnings:
clocks: clock@3:reg:0: [3] is too short
clocks: clock@4:reg:0: [4] is too short
clocks: $nodename:0: 'clocks' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
clocks: #size-cells:0:0: 0 is not one of [1, 2]
clocks: 'ranges' is a required property
clock@3: 'reg' does not match any of the regexes: 'pinctrl-[0-9]+'
clock@4: 'reg' does not match any of the regexes: 'pinctrl-[0-9]+'
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>