Commit graph

114405 commits

Author SHA1 Message Date
Chen-Yu Tsai
6ea0d8d829 ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators
Now that we have axp22x.dtsi describing common axp22x hardware, use
it and reference the nodes instead of declaring the whole tree.

Also drop the "always-on" from the vdd-gpu regulator, since we don't
support the GPU anyway.

And add a regulator reference for cpu0.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-13 20:46:16 +02:00
Chen-Yu Tsai
976d84fce6 ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names
The VDD-CPU and VDD-GPU regulators were incorrectly swapped.

Fixes: bab0356122 ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator
       nodes")

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-13 20:45:50 +02:00
Adam Sampson
8a880ee6da ARM: dts: sun7i: Add regulator configuration for pcDuino v3 Nano
The power configuration on this board is the same as the pcDuino v3.
This will enable frequency/voltage scaling over the standard A20
operating points from 144 MHz to 960 MHz.

Tested using cpufreq-ljt-stress-test on two pcDuino v3 Nano boards; also
tested successfully with voltages reduced by 0.025 V.

Signed-off-by: Adam Sampson <ats@offog.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-13 20:44:09 +02:00
Hans de Goede
39140480b6 ARM: dts: sun6i: Turn on gmac on Colombus
We've everything we need to support the gmac on Colombus, turn it on.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-13 20:41:49 +02:00
Hans de Goede
252b9af1df ARM: dts: sun8i: Make et-q8-v1.6.dts a symlink to q8-tablet.dts
A33 Q8 tablets with the et-q8-v1.6 pcb will work fine with the
generic q8-tablet.dts and given the many variants of PCBs found in
Q8 tablets using such a specific dts name was a mistake in hindsight.

We cannot just drop the et-q8-v1.6.dtb as existing u-boot configs
may very well point to it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-13 20:41:28 +02:00
Hans de Goede
d8279bcebb ARM: dts: sun8i: Make ippo-q8h-v*.dts a symlink to q8-tablet.dts
A23 Q8 tablets with the ippo-q8h-v* pcb will work fine with the
generic q8-tablet.dts and given the many variants of PCBs found in
Q8 tablets using such a specific dts name was a mistake in hindsight.

We cannot just drop the ippo-q8h-v*.dtb as existing u-boot configs
may very well point to it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-13 20:40:57 +02:00
Hans de Goede
2eab04e9c1 ARM: dts: sun8i: Add sun8i-a23-q8-tablet.dts file
This is a generic dts file for A23 based q8 formfactor tablets,
this is intended to replace both sun8i-a23-ippo-q8h-v5.dts and
sun8i-a23-ippo-q8h-v1.2.dts (these can be fully dropped after a
transition period).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-13 20:40:17 +02:00
Sjoerd Simons
fea3755260 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock2 Square
Enable the SPDIF optical output on Radxa Rock2 square boards

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-13 10:59:18 +02:00
Sjoerd Simons
874e568e50 ARM: dts: rockchip: Add SPDIF transceiver for RK3288
Add the SPDIF transceiver controller definition and pin setup for RK3288
SoCs

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-13 10:59:06 +02:00
Sjoerd Simons
d97e862ef6 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock
This enables the SPDIF optical audio output on the Radxa Rock

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-13 10:58:31 +02:00
Sjoerd Simons
39b37ce2e3 ARM: dts: rockchip: Add SPDIF transceiver for RK3188
Add the SPDIF transceiver controller and pin for RK3188

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-13 10:57:58 +02:00
Sergei Shtylyov
99f7445ea4 ARM: shmobile: porter: enable internal PCI and USB PHY
Enable  internal AHB-PCI bridges for the USB EHCI/OHCI controllers attached
to them and also enable  USB PHY device  for the Porter board.  We have to
enable  everything in one patch since EHCI/OHCI devices are already linked
to the USB PHY device.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-13 10:00:12 +09:00
Mugunthan V N
267068d83e ARM: dts: dra7xx: am57xx: fix cd-gpios definition as per hardware design and dt binding docs
As per mmc device tree binding documentation card detect gpio has
to be active low signal. When a hardware is designed with active
high card detect, gpio polarity has to be changed with
cd-inverted dt property.

In DRA74x, DRA72x and AM57xx EVMs the card detect gpio is
designed as active low gpio. So correcting the dt card detect
gpio definition.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 16:49:12 -07:00
Mugunthan V N
0731cbdd5f ARM: dts: am43xx: fix cd-gpios definition as per hardware design and dt binding docs
As per mmc device tree binding documentation card detect gpio has
to be active low signal. When a hardware is designed with active
high card detect, gpio polarity has to be changed with
cd-inverted dt property.

In AM43xx the card detect gpio is designed as active low gpio.
So correcting the dt card detect gpio definition.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 16:49:04 -07:00
Mugunthan V N
c7ce74bc92 ARM: dts: am335x: fix cd-gpios definition as per hardware design and dt binding docs
As per mmc device tree binding documentation card detect gpio has
to be active low signal. When a hardware is designed with active
high card detect, gpio polarity has to be changed with
cd-inverted dt property.

In AM335x the card detect gpio is designed as active low gpio.
So correcting the dt card detect gpio definition.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 16:47:00 -07:00
Laurent Pinchart
3993fa63c2 ARM: dts: omap3-igep0020: Remove duplicate uart2 pinmux
uart2 pinmux is already defined in omap3-igep0020-common.dtsi, remove
the duplicate node.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 16:45:20 -07:00
Laurent Pinchart
272c789b8c ARM: dts: omap3-igep: Fix indentation
Use tabs instead of spaces for indentation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 16:45:18 -07:00
Javier Martinez Canillas
e5c914fffd ARM: dts: omap3-lilly-a83x: Don't use IRQ level flag for a GPIO
The card detect GPIO is using IRQ_TYPE_LEVEL_LOW in the GPIO flag cells
but this defined constant is meant to be used for a IRQ and not a GPIO.
So instead use GPIO_ACTIVE_LOW that seems to be the original intention.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 16:41:41 -07:00
Suman Anna
63c7ecd7b1 ARM: dts: DRA74x: Add IOMMU nodes for DSP2
The DRA74x family of SoCs have a second DSP, that also has
two MMUs just like the DSP1 subsystem. Add the IOMMU nodes
for this DSP2 subsystem in disabled state to the DRA74x
specific DTS file, the nodes would need to be enabled
appropriately in the respective board DTS files.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:53:47 -07:00
Suman Anna
2c7e07c533 ARM: dts: DRA7: Add common IOMMU nodes
The DRA7xx family of SOCs have two IPUs and one DSP processor
subsystems in common. The IOMMU DT nodes have been added for
these processor subsystems, and have been disabled by default.

These MMUs are very similar to those on OMAP4 and OMAP5, with
the only difference being the presence of a second MMU within
the DSP subsystem for the EDMA port. The DSP IOMMUs also need
an additional 'ti,syscon-mmuconfig' property compared to the
IPU IOMMUs.

NOTE: The enabling of these nodes is left to the respective
board dts files.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:53:46 -07:00
Suman Anna
bddbe6db4a ARM: dts: DRA74x: Add dsp2_system syscon node
The DSP_SYSTEM sub-module is a dedicated system control logic
module present within a DRA7 DSP processor sub-system. This
module is responsible for power management, clock generation
and connection to the device PRCM module.

Add a syscon node for this module for the DSP2 processor
sub-system. This is added as a syscon node as it is a common
configuration module that can be used by the different IOMMU
instances and the corresponding remoteproc device.

The node is added to the dra74x.dtsi file, as the DSP2 processor
subsystem is usually present only on the DRA74x variants of the
DRA7 SoC family.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:53:46 -07:00
Suman Anna
99639ace4c ARM: dts: DRA7: Add dsp1_system syscon node
The DSP_SYSTEM sub-module is a dedicated system control logic
module present within a DRA7 DSP processor sub-system. This
module is responsible for power management, clock generation
and connection to the device PRCM module.

Add a syscon node for this module for the DSP1 processor
sub-system. This is added as a syscon node as it is a common
configuration module that can be used by the different IOMMU
instances and the corresponding remoteproc device.

The node is added to the common dra7.dtsi file, as the DSP1
processor sub-system is mostly common across all the variants
of the DRA7 SoC family.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:53:46 -07:00
Javier Martinez Canillas
3a637e008e ARM: dts: Use defined GPIO constants in flags cell for OMAP2+ boards
Many OMAP2+ DTS are not using the defined constants to express
the GPIO polarity. Replace these so the DTS are easier to read.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:51:59 -07:00
Robert Nelson
79a4e64c67 ARM: dts: Add am335x-bonegreen
SeeedStudio BeagleBone Green (BBG) is clone of the BeagleBone Black (BBB) minus
the HDMI port and addition of two Grove connectors (i2c2 and usart2).

This board can be identified by the 1A value after A335BNLT (BBB) in the at24 eeprom:
1A: [aa 55 33 ee 41 33 33 35  42 4e 4c 54 1a 00 00 00 |.U3.A335BNLT....|]

http://beagleboard.org/green
http://www.seeedstudio.com/wiki/Beaglebone_green

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
CC: Tony Lindgren <tony@atomide.com>
CC: Jason Kridner <jkridner@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Suman Anna
ebbf93f0e7 ARM: dts: beagle-x15: Enable the system mailboxes 5 and 6
Enable the System Mailboxes 5 and 6 and the corresponding child
sub-mailbox (IPC 3.x) nodes for the Beagle X15 EVM boards. This
is needed to enable communication with the respective remote
processors IPU1, IPU2, DSP1 and DSP2 from the MPU.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Suman Anna
43914a35d2 ARM: dts: dra72-evm: Enable the system mailboxes 5 and 6
Enable the System Mailboxes 5 and 6 and the corresponding
child sub-mailbox (IPC 3.x) nodes for the DRA72 EVM board.
This is needed to enable communication with the respective
remote processors IPU1, IPU2, and DSP1 from the MPU.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Suman Anna
2bee86799f ARM: dts: dra7-evm: Enable the system mailboxes 5 and 6
Enable the System Mailboxes 5 and 6 and the corresponding
child sub-mailbox (IPC 3.x) nodes for the DRA7 EVM board.
This is needed to enable communication with the respective
remote processors IPU1, IPU2, DSP1 and DSP2 from the MPU.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Suman Anna
48aff9f6fa ARM: dts: DRA72x: Add IPC sub-mailbox nodes for IPU1, IPU2 & DSP1
Add the sub-mailbox nodes that are used to communicate between
MPU and the remote processors IPU1, IPU2 and DSP1. These match the
respective node definitions on DRA74x to maintain compatibility for
the equivalent remote processors. There is no DSP2 on DRA72x, and
so the corresponding sub-mailbox node is not added.

These sub-mailbox nodes are added to match the hard-coded mailbox
configuration used within the TI IPC 3.x software package. The
Dual-Cortex M4 IPU1 and IPU2 processor sub-systems are assumed to
be running in SMP-mode, and hence only a single sub-mailbox node
is added for each.

All these sub-mailbox nodes are left in disabled state, and should
be enabled (and modified if needed) as per the individual product
configuration in the corresponding board dts files.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Suman Anna
a9c8f117f4 ARM: dts: DRA74x: Add IPC sub-mailbox nodes for all IPUs & DSPs
Add the sub-mailbox nodes that are used to communicate between
MPU and the remote processors IPU1, IPU2, DSP1 and DSP2.

The sub-mailbox nodes utilize the System Mailbox instances 5 and 6.
These sub-mailbox nodes are added to match the hard-coded mailbox
configuration used within the TI IPC 3.x software package. The
Dual-Cortex M4 IPU1 and IPU2 processor sub-systems are assumed to
be running in SMP-mode, and hence only a single sub-mailbox node
is added for each.

All these sub-mailbox nodes are left in disabled state, and should
be enabled (and modified if needed) as per the individual product
configuration in the corresponding board dts files.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Teresa Remmet
c72bfb883d ARM: dts: am335x-wega: Clean up regulators
Cleaned up the regulators on the wega board. Created a simple bus,
renamed the regulators according to the schematics and added missing
regulator on wega.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Grygorii Strashko
863987affb ARM: dts: dra7-evm: add gpio key support
dra7-evm has 2 gpio keys wired through TS_LCD_GPIO3, TS_LCD_GPIO4
which in turn connected to PCF8575 GPIO pcf_lcd: gpio@20 expander
pins 2 and 3.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Grygorii Strashko
a96e880885 ARM: dts: dra7-evm: add gpio leds support
dra7-evm has 4 user gpio leds connected to PCF8575 GPIO pcf_lcd:
gpio@20 expander pins [4,5,6,7], so add corresponding DT nodes.

Do not enable any triggers by default as not all of them are proved
to work on -RT.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Grygorii Strashko
4fbdc6ab83 ARM: dts: dra7-evm: add pcf8575 gpio expander (i2c1 addr 20)
This patch adds DT definition for CF8575 GPIO pcf_lcd: gpio@20
expander which is connected to i2c bus 1 and has slave address 0x20.
It allows to control:
- tc_lcd gpios, pins p0-p3
- user leds, pins p4-p7
- control LCD panel power, p15

PCF8575 GPIO pcf_lcd: gpio@20 expander supports interrupt controller
functionality and its INT line is connected to dra7 GPIO6.11 pin.

Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Peter Ujfalusi
a00e368c19 ARM: dts: am57xx-beagle-x15: Enable analog audio support
The analog audio setup consists of:
McASP3 <-> tlv320aic3104 codec

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Peter Ujfalusi
d929e8bb13 ARM: dts: am57xx-beagle-x15: Add fixed regulator for aic3104's DVDD
The DVDD is supplied via TPS77018DBVT fixed regulator from vdd_3v3

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:37 -07:00
Peter Ujfalusi
a8d3b59cdd ARM: dts: dra72-evm: Audio support
The board uses tlv320aic3106 codec connected to McASP3. The master clock
for the codec and McASP3 is coming from ATL2.
McASP3 is the master on the I2S bus.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 15:00:19 -07:00
Peter Ujfalusi
6ddd5fce84 ARM: dts: dra72-evm: Add gpio hog for vin6_sel_s0 to select audio
The GPIO expander's p1 on i2c5 bus 0x26 address is used for selecting
between audio and VIN6 functionality. For VIN6 use an add on card is
needed while audio is present on the board itself.
Select the audio functionality over the VIN6 in the dts file.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 14:58:46 -07:00
Peter Ujfalusi
61085ee712 ARM: dts: dra72-evm: Add fixed regulator representing DVDD supply for aic3106
The DVDD is supplied via TPS77018DBVT fixed regulator from evm_3v3

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 14:58:38 -07:00
Peter Ujfalusi
a9347bfa9b ARM: dts: dra7-evm: Audio support
The board uses tlv320aic3106 codec connected to McASP3. The master clock
for the codec and McASP3 is coming from ATL2.
McASP3 is the master on the I2S bus.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 14:58:30 -07:00
Peter Ujfalusi
c5d294db75 ARM: dts: dra7-evm: Enable pcf8575 (0x26 address) on i2c2 bus
This GPIO expander is used for controlling various muxes on the board.
By default select audio functionality over VIN6 by setting the P1
(vin6_sel_s0) pin to low.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 14:58:22 -07:00
Peter Ujfalusi
d6818223cd ARM: dts: dra7-evm: Add fixed regulator to be used by aic3106's DVDD
TPS77018DBVT is used to create 1.8V from avm_3v3_sw's 3.3V connected to
aic3106's DVDD.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 14:58:14 -07:00
Peter Ujfalusi
27f39e5f5f ARM: dts: dra7-evm: Rename mmc2_3v3 supply to evm_3v3_sw
Use the name for the supply as it is in the schematics since the same
supply is used for other peripherals than MMC2, like audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 14:58:06 -07:00
Peter Ujfalusi
026d4d6db2 ARM: dts: dra7: Add McASP3 node
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 13:56:31 -07:00
Roger Quadros
f95b1064b3 ARM: dts: am437x-gp-evm: Add DCAN sleep pins
Add DCAN sleep pins to save some power during suspend.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-10-12 13:50:16 -07:00
Yingjoe Chen
060646a218 ARM: dts: mt8127: enable basic SMP bringup for mt8127
Add arch timer node to enable arch-timer support. MT8127 firmware
doesn't correctly setup arch-timer frequency and CNTVOFF, add
properties to workaround this.

This also set cpu enable-method to enable SMP.

Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-10-12 19:10:38 +02:00
Yingjoe Chen
d186a394bb ARM: dts: mt8135: enable basic SMP bringup for mt8135
Add arch timer node to enable arch-timer support. MT8135 firmware
doesn't correctly setup arch-timer frequency and CNTVOFF, add
properties to workaround this.

This also set cpu enable-method to enable SMP.

Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-10-12 19:10:34 +02:00
Arnaud Ebalard
2b63821e5b arm: mvebu: reorder nodes under internal-regs by address in RN2120 .dts file
This cosmetic patch reorder nodes under internal-regs by increasing
address order, as expected.

Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-12 18:27:45 +02:00
Arnaud Ebalard
784693def2 arm: mvebu: disable unused Armada RTC on ReadyNAS 102, 104 and 2120
By default, armada-370-xp.dtsi file has internal RTC enabled.
NETGEAR ReadyNAS 102, 104 and 2120 all use an Intersil ISL12057
I2C RTC chip. The internal RTC not being disabled in the .dts
files of those devices result in the following useless first
line during boot:

[    4.500056] rtc-mv d0010300.rtc: internal RTC not ticking
[    4.505684] i2c /dev entries driver
[    4.513246] rtc-isl12057 0-0068: rtc core: registered rtc-isl12057 as rtc0

This patch marks Armada internal RTC as disabled in individual .dts
files of those devices.

Reported-by: TuxOholic <tuxoholic@hotmail.de>
Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-12 18:25:50 +02:00
Simon Guinot
0ac73f76ad ARM: mvebu: add DT support for Seagate Personal Cloud
This patch adds DT support for the Seagate Personal Cloud 1 and 2-Bay.

Here are some information allowing to identify these devices:

Product name                 | Personal Cloud | Personal Cloud 2-Bay
Code name (board/PCB)        | Cumulus        | Cumulus Max
Model name (case sticker)    | SRN21C         | SRN22C
Material desc (product spec) | STCRxxxxxxx    | STCSxxxxxxx

Chipset list:
- SoC Marvell Armada 370 88F6707, CPU @1GHz
- SDRAM memory: 512MB DDR3 667MHz (16-bits bandwidth)
- SPI flash 1MB (Macronix MX25L8006E)
- 1 or 2 SATA internal ports
- 1 Ethernet Gigabit port (PHY Marvell 88E1518)
- 1 USB3 host port (PCIe controller ASM1042)
- 1 USB2 host port (SoC)
- 2 push buttons (power and reset)
- 1 SATA LED (bi-color, white and red)

Note that support for the white SATA LED is missing. A dedicated LED
driver is needed.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-12 16:48:00 +02:00
Vincent Donnefort
85a9efcd4e ARM: mvebu: add DT support for Seagate NAS 2 and 4-Bay
This patch adds DT support for the Seagate NAS 2 and 4-Bay.

Here are some information allowing to identify these devices:

Product name                 | Seagate NAS 2-Bay | Seagate NAS 4-Bay
Code name (board/PCB)        | Dart 2-Bay        | Dart 4-Bay
Model name (case sticker)    | SRPD20            | SRPD40
Material desc (product spec) | STCTxxxxxxx       | STCUxxxxxxx

Chipset list (common):
- SoC Marvell Armada 370 88F6707, CPU @1.2GHz
- SDRAM memory: 512MB DDR3 600MHz (16-bits bandwidth)
- NAND flash 256MB, 8-bits (Micron MT29F2G08AAB or Hinyx H27U2G8F2CTR-BC)
- 2 SATA II ports (SoC)
- 1 Ethernet Gigabit ports (PHY Marvell 88E1518)
- 2 USB3 host ports (PCIe controller ASM1042)
- GPIO fan (4 speeds)
- External I2C RTC (MCP7940NT)
- 3 push buttons (power, backup and reset)
- 2 SATA LEDs (bi-color, blue and red)
- 1 power LED (bi-color, blue and red)

Only on 4-Bay models:
- 2 extra SATA III ports (PCIe AHCI controller Marvell 88SE9170)
- 1 extra Ethernet Gigabit ports (PHY Marvell 88E1518)
- I2C GPIO expander (PCA9554A)
- 2 extra SATA LEDs (bi-color, blue and red)

Note that support for the white SATA LEDs associated with HDDs 0 and 1
is missing. A dedicated LED driver is needed.

Signed-off-by: Vincent Donnefort <vdonnefort@gmail.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-12 16:45:35 +02:00
Hans de Goede
6fb2ffd737 ARM: dts: sun5i: Add backlight node to sun5i-q8-common.dtsi
All A13 based q8 formfactor tablets use the same backlight setup, add
a backlight devicetree node for controlling the backlight on these devices.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-12 15:51:54 +02:00
Chen-Yu Tsai
6bf28cb995 ARM: dts: sunxi: Enable PWM controller on Q8 format tablets
Q8 format tablets use channel 0 of the PWM controller for backlight dimming.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-12 15:51:32 +02:00
Hans de Goede
bb39019306 ARM: dts: sun5i: Add PWM channel 0 pinmux setting for A13/A10s
Add a pinmux setting for the first pwm channel. This is often used for
backlight dimming on tablets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-12 15:51:09 +02:00
Hans de Goede
51763bd73d ARM: dts: sun5i: Add PWM controller node for A13 / A10s
Add dts nodes for the PWM controller on the A13 / A10s.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-12 15:50:20 +02:00
Maxime Ripard
465a225fb2 ARM: sun5i: Add C.H.I.P DTS
The C.H.I.P. is a small SBC with an Allwinner R8, 8GB of NAND, 512MB of
RAM, USB host and OTG, a wifi / bluetooth combo chip, an audio/video jack
and two connectors to plug additional boards on top of it.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
2015-10-12 11:33:36 +02:00
Chen-Yu Tsai
cf09d7b076 ARM: dts: sunxi: Add dtsi for AXP22x PMIC
The AXP22x family of PMIC is used with some Allwinner SoCs. This
includes the AXP221, AXP221s and AXP223. They differ in the host
interface, maximum supply current for DCDC1 regulator, and default
voltage and state for various LDO regulators. Also, the AXP221s
does not support fine calibration of the battery fuel gauge.

This patch adds a dtsi file for all the common bindings for these
PMICs. Currently this is just listing all the regulator nodes. The
regulators are initialized based on their device node names.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-12 11:27:10 +02:00
Sergei Shtylyov
f9953c5e2a ARM: shmobile: porter: enable PCIe
Enable the PCIe controller and clock for the Porter board.

This patch is analogous to the commit 485f3ce67c ("ARM: shmobile:
henninger: Enable PCIe Controller & PCIe bus clock") as there are no
differences between the boards in this respect.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-12 09:06:59 +09:00
Sergei Shtylyov
2685a2cefe ARM: shmobile: porter: add QSPI DT support
Define the Porter board dependent part of the QSPI device node.
Add device nodes  for Spansion  S25FL512S SPI flash and the MTD partitions
on it.

This patch is  mostly analogous  to the commit f59838d448 ("ARM:
shmobile: henninger: add QSPI DT support")  as there are no differences
between the boards in this respect.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-12 08:59:07 +09:00
Adam Sampson
b3f3db9c39 ARM: dts: sun7i: Correct USB regulators on pcDuino v3 Nano
The LinkSprite pcDuino v3 Nano's two USB host ports are powered by a
single RT9701GB regulator, which has its enable input tied to the A20's
PD2 pin, pulled up to 3v3 via a 10k resistor.

However, the script.bin that shipped with the device listed PH11 and PH3
as Vbus control pins for the two USB ports. Neither of these are
actually connected to anything.

Siarhei Siamashka spotted this problem while reviewing the other
LinkSprite boards. This patch fixes it by only defining a single
regulator, controlled by PD2. Testing shows that the USB ports are now
(correctly) only powered up once the USB PHY driver is loaded.

Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Adam Sampson <ats@offog.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-11 19:27:13 +02:00
Maxime Ripard
eeea0fa3c5 ARM: sun5i: dt: Add UART3 CTS and RTS pins
Add a separate pinctrl node for the UART3 CTS and RTS pins shared between
the A10s and A13.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
2015-10-11 19:10:03 +02:00
Maxime Ripard
6ef8c8bf4c ARM: sun5i: dt: Move uart3 pinctrl node to common DTSI
The uart3 pins are shared between the A10s and A13, move the pinctrl node
to the common DTSI to avoid duplication.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
2015-10-11 19:09:08 +02:00
Maxime Ripard
49e4f3c327 ARM: sun5i: Add R8 DTSI
The R8 is very close to the A13, but it still has a few differences,
notably a composite output, which the A13 lacks.

Add a DTSI based on the A13's to hold those differences.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-10-11 19:08:49 +02:00
Siarhei Siamashka
5d0c8b190a ARM: dts: sun4i: Enable USB DRC on pcDuino1/2
Enable the otg/drc usb controller on the pcDuino1/2 board. Note
that the pcDuino1 FEX file from the vendor contains the following
information in the [usbc0] section:
    usb_id_gpio = port:PH04<0><1><default><default>
    usb_det_vbus_gpio = port:PH05<0><0><default><default>
    usb_drv_vbus_gpio = port:PB09<1><0><default><0>
While the pcDuino2 FEX has:
    usb_id_gpio = port:PH04<0><1><default><default>
    usb_det_vbus_gpio = port:PH05<0><0><default><default>
    usb_drv_vbus_gpio = port:PD02<1><0><default><0>

The ID pin is indeed PH4. The PD2 pin can be used to switch power
on/off for the USB Type A receptacle on pcDuino2, but it has nothing
to do with the MicroUSB OTG receptacle. The VBUS pin of the MicroUSB
receptacle is always connected to 5V according to the schematics
(both pcDuino1 and pcDuino2) and confirmed by doing some tests on
pcDuino2. The PH5 pin is just one of the pins on the J8 expansion
header and has nothing to do with USB OTG. The PB9 pin is pulled
up and connected to the N_VBUSEN pin of AXP209 PMIC, while the
VBUS pin of AXP209 only has a capacitor between it and the
ground (this pin is not used for anything else).

To sum it up. Only the ID pin (PH4) has a real use. And 5V voltage
is always served to the MicroUSB OTG receptacle no matter what is
the state of the PB9/PD2 pins.

This patch has been tested on pcDuino2 to work fine in a host role
with a USB keyboard connected via an OTG cable. It also works fine
in a device role (cdc_ether) with a regular Micro-B cable connected
to a desktop PC.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-11 19:06:22 +02:00
Siarhei Siamashka
d6f17def06 ARM: sun4i: dt: Add new LinkSprite pcDuino2 board
The LinkSprite pcDuino2 board is almost identical to the older
LinkSprite pcDuino1 board according to the schematic pdf files.
So we just include the existing "sun4i-a10-pcduino.dts" file and
make the necessary adjustments.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-11 18:50:55 +02:00
Siarhei Siamashka
96521b7200 ARM: dts: sun4i: Allow to use the PH6 pin for GPIO on pcDuino1/2
The pcDuino1 board does not use any power switches at all for its
two USB host ports and the VBUS pins are always connected to 5V.

The pcDuino2 board uses the RT9701GB power switch for its single
USB host port, but the USB_EN pin (PD2) is pulled up with a 10K
resistor. So that the USB power is still enabled by default,
resulting in the same behaviour as pcDuino1 if nobody touches
the PD2 pin. This minor difference is going to be handled in a
follow-up patch, introducing a separate dts file for pcDuino2.

The primary reason for this fix is that the current dts file
unnecessarily meddles with the PH3 and PH6 pins. But the PH6 pin
is available on the Arduino-compatible expansion header and may
have a better use for other purposes. This patch fixes the
problem and now the PH6 pin can be used with the GPIO sysfs
interface. Tested on a pcDuino2 board with a multimeter:

    echo 230 > /sys/class/gpio/export
    echo "out" > /sys/class/gpio/gpio230/direction
    echo 0 > /sys/class/gpio/gpio230/value
    echo 1 > /sys/class/gpio/gpio230/value

USB still works as expected too.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-11 18:47:42 +02:00
Hans de Goede
dcfd8443d8 ARM: dts: sun7i: Enable USB DRC on Bananapi
Enable the otg/drc usb controller on the Bananapi.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-11 18:45:36 +02:00
Timo Sigurdsson
a15b80fb0a ARM: dts: sunxi: Add regulators for LeMaker BananaPi
sun7i-a20-bananapi.dts doesn't contain regulator nodes for the AXP209 PMU
driver, so add them to allow for voltage-scaling with cpufreq-dt. Also
add board-specific OPP to use slightly higher voltages at lower
frequencies since Kevin Hilman reported that not all BananaPi boards run
stable at the default voltages inherited by sun7i-a20.dtsi.

Signed-off-by: Timo Sigurdsson <public_timo.s@silentcreek.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-11 18:42:15 +02:00
Wei Xu
14317946d1 ARM: hisilicon: DT: Drop console= and earlyprintk bootargs parameter
Replace console with stdout-path so that we don't have to put the
console on the kernel command line.

Remove earlyprintk to allow the kernel to boot on a system even
if DEBUG_LL is configured for another system.

Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2015-10-09 17:05:57 +01:00
Arnd Bergmann
d749d94b4c Merge tag 'arm-soc/for-4.4/devicetree' of http://github.com/Broadcom/stblinux into next/dt
Merge "Broadcom devicetree changes for v4.4" from Florian Fainelli:

This pull requests contains the following Broadcom SoCs Device Tree changes:

- Brian Norris documents the BCM7445 SoCs Power Management controllers and
  hardware and updates the reference BCM7445 Device Tree with these nodes

- Florian Fainelli documents the BCM7xxx write-pairing feature in the top-level
  BCM7xxx binding document

- Hauke Merthens enables the NAND controller for the Asus RT-AC87U and adds the
  GPIO pin controlling the USB power supply on Netgear R6250

- Jon Mason adds support for the NorthStar Plus SoC by providing a top-level
  binding document and the minimalist device tree skeleton for these SoCs

- Rafal Milecki adds support for the Netgear R7000 (BCM5301x SoC)

- Ray Jui provides a set of Cygnus DT changes that make the Device Tree clearer
  and more correct with respect to how the hardware is designed. He also enables
  the NAND controller on the bcm911360_entphn design, enables a bunch of
  peripherals on the bcm958305k evaluation board, and adds a skeleton .dtsi file
  for the touchscreen extansion board(s)

* tag 'arm-soc/for-4.4/devicetree' of http://github.com/Broadcom/stblinux:
  ARM: dts: move aliases back to .dts in Cygnus
  ARM: dts: fix Cygnus nand device node
  ARM: dts: enable touchscreen support on Cygnus
  ARM: dts: Enable NAND support on bcm911360_entphn
  ARM: dts: Enable various peripherals on bcm958305k
  ARM: dts: Reorder Cygnus peripherals
  ARM: dts: Move all Cygnus peripherals into axi bus
  ARM: dts: Put Cygnus core components under core bus
  ARM: dts: Use label for device nodes in Cygnus dts
  ARM: dts: consolidate aliases for Cygnus dt files
  ARM: BCM5301X: Netgear R6250 add USB GPIO
  Documentation: bindings: brcmstb: Document write-pairing
  ARM: dts: brcmstb: add BCM7445 system PM DT nodes
  Documentation: dt: brcmstb: add system PM bindings
  ARM: BCM5301X: add NAND flash chip description for Asus RT-AC87U
  ARM: BCM5301X: Add DT for Netgear R7000
  ARM: NSP: add minimal Northstar Plus device tree
  dt-bindings: Create Documentation for NSP DT bindings
2015-10-09 17:15:21 +02:00
Arnd Bergmann
d27199cb03 DTS changes including one new Veyron-board and the Radxa Rock2
system-on-module as well as the square baseboard. On top of that
 a lot of mmc-related changes to improve speeds on the Cortex-A9
 socs and also setting up the supplies for rk3288 mmc-controllers
 for the following mmc-tuning support. And of course the dts-part
 of the rk3288 power-domains.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJWFta1AAoJEPOmecmc0R2BwsoH/iAhuYW/AMw9theS5e3QKYaT
 AetDQHjjXPkbQpkMMxVpyyIGhBvHWHX+iTINqkVVx5MVlhvC1xmF4oJ6Yo4lbDVF
 S6YgYrgI72P4inP0v3DZhJ2CpYB7bTVcPsU/ZiJOacvwKk2rgXWqE+nbBrZHpYbe
 pDR9ONdOB0PsXfTsawcjb1FmK2/+xwRhHZJUSdlQRIoUZe1qIOjR2Lx25sprQ6vb
 v6sBuY2T/rrWlKE0ME6HtdcA2s7HLKY1E1OdQPr15ceXR8k0yRz0dqH0ydULtZVZ
 d6ZghxS+1ygir6Uw4sUXQa5QZjEeWU7M9+z6jCdKLEH/jUuaTFKFj+tko9uboa8=
 =LB4D
 -----END PGP SIGNATURE-----

Merge tag 'v4.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Merge "Rockchip dts32 changes for 4.4" from Heiko Stuebner:

DTS changes including one new Veyron-board and the Radxa Rock2
system-on-module as well as the square baseboard. On top of that
a lot of mmc-related changes to improve speeds on the Cortex-A9
socs and also setting up the supplies for rk3288 mmc-controllers
for the following mmc-tuning support. And of course the dts-part
of the rk3288 power-domains.

* tag 'v4.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: add the support power-domain node on RK3288 SoCs
  ARM: dts: rockchip: add rk3288-firefly iodomains
  ARM: dts: rockchip: fixup firefly mmc supplies
  ARM: dts: rockchip: add rk3288-popmetal iodomains
  ARM: dts: rockchip: add rk3288-popmetal mmc supplies
  ARM: dts: rockchip: add rk3288-popmetal board to dtb list
  ARM: dts: rockchip: Add dtb for the Radxa Rock 2 Square board
  ARM: dts: rockchip: support highspeed sd-cards on rk3066a boards
  ARM: dts: rockchip: support highspeed sd-cards for rk3188-radxarock
  ARM: dts: rockchip: Add the hdmi-ddc pinctrl settings for rk3288
  ARM: dts: rockchip: Remove specific cts pullup from veyron
  ARM: dts: rockchip: pull up cts lines on rk3288
  ARM: dts: rockchip: add veyron-jaq board
  ARM: dts: rockchip: Add support for SD/MMC on MarsBoard-RK3066
  dt-bindings: add power-domain header for RK3288 SoCs
2015-10-09 17:10:27 +02:00
Boris Brezillon
9b24a35cb5 ARM: mvebu: modify Orion and Kirkwoord crypto compatible strings
Explicitly use the SoC specific compatible strings in kirkwood.dtsi and
dove.dtsi, so that the crypto devices have access to the TDMA feature
when attached to the new CESA driver.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-09 17:08:02 +02:00
Boris Brezillon
eb69e00198 ARM: mvebu: use new bindings for existing crypto devices
The new bindings split the crypto and sram node in two separate devices.
Modify the existing crypto nodes to match the new representation.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-09 17:08:01 +02:00
Boris Brezillon
d716f2e837 ARM: mvebu: define crypto SRAM ranges for all armada-38x boards
Define the crypto SRAM ranges so that the resources referenced by the
sa-sram node can be properly extracted from the DT.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-09 17:08:00 +02:00
Boris Brezillon
35c99ec932 ARM: mvebu: add crypto related nodes to armada 38x dtsi
Add crypto related nodes in armada-38x.dtsi.

[gregory.clement@free-electrons.com: Fix typo for compatible string
armada38x instead of armada375]

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-10-09 17:07:53 +02:00
Punit Agrawal
dfacaf0e7c arm64: dts: Add sensor node to Juno dt
The SCP firmware on Juno provides access to SoC sensors via the
SCPI. Add the sensor nodes to the device tree to enable this support.

Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
2015-10-09 10:26:41 +01:00
Sudeep Holla
a738459888 arm64: dts: add clock support for all the cpus
This patch adds the CPU clocks so that the CPU DVFS can be enabled.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
2015-10-09 10:23:49 +01:00
Sudeep Holla
050c69e876 arm64: dts: add CPU topology on Juno
This patch adds CPU topology on Juno. It will be useful for ther other
IP blocks depending on this topology.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
2015-10-09 10:23:49 +01:00
Sudeep Holla
ff9a6262b9 arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno
This patch adds support for the MHU mailbox peripheral used on Juno by
application processors to communicate with remote SCP handling most of
the CPU/system power management. It also adds the SRAM reserving the
shared memory and SCPI message protocol using that shared memory.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
2015-10-09 10:23:49 +01:00
Sergei Shtylyov
778f2e7a7b ARM: shmobile: porter: add VIN0/ADV7180 DT support
Define the  Porter board dependent part of the VIN0 device node.
Add the device node for Analog Devices  ADV7180 video decoder to I2C2 bus.
Add the necessary subnodes to interconnect VIN0 and ADV7180 devices.

This patch is  analogous to the commit 8d62f4f753 ("ARM: shmobile:
henninger: add VIN0/ADV7180 DT support") as there are no differences
between the boards in this respect.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-09 12:12:13 +09:00
Sergei Shtylyov
d6b940395e ARM: shmobile: porter: add I2C2 DT support
Define the Porter board dependent part of the I2C2 device node.

This patch is  analogous to the commit 29a647c396 ("ARM: shmobile:
henninger: add I2C2 DT support") as there are no differences between
the boards in this respect.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-09 12:12:12 +09:00
Bjorn Andersson
45b0ef0558 ARM: dts: msm8974: Add smd, rpm and regulator nodes
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-10-08 15:47:48 -05:00
Caesar Wang
b63af764ca ARM: dts: rockchip: add the support power-domain node on RK3288 SoCs
We can add more domains node in the future.
This patch add the needed clocks into power-controller.
As the discuess about all the device clocks being listed in
the power-domains itself.

There are several reasons as follows:

Firstly, the clocks need be turned off to save power when
the system enter the suspend state. So we need to enumerate
the clocks in the dts. In order to power domain can turn on and off.

Secondly, the reset-circuit should reset be synchronous on RK3288,
then sync revoked. So we need to enable clocks of all devices.
In other words, we have to enable the clocks before you operate them
if all the device clocks are included in someone domians.

Thirdly, as the chip designs for PM hardhare. we need turn on the noc
clocks, if we are operating the "pd_vio" domain to enter the idle status.
The device's clock be included in domains that needed turn on if do that.

The clocks in the dts are needed to enable before you want to happy work.
At the moment, This patch is very good work for PM hardware.

Also, we can add these clocks in the future if we have some hidden clocks.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Reviewed-by: Michael Turquette <mturquette@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@linaro.org>

[add necessary power-domain properties to keep drm subsys working]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:41:11 +02:00
Heiko Stuebner
4490dc5cee ARM: dts: rockchip: add rk3288-firefly iodomains
Add the iodomains node and reference the correct regulator for each
domain. This also includes adding the currently unused dvp regulators.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:40:18 +02:00
Heiko Stuebner
fae3b81120 ARM: dts: rockchip: fixup firefly mmc supplies
Fix some incorrect references to mmc regulators.
vccio_wl for example is the io-voltage supply not the core supply
of the wifi module itself, which is vbat_wl instead.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:40:10 +02:00
Heiko Stuebner
90f9a541d8 ARM: dts: rockchip: add rk3288-popmetal iodomains
Add the iodomains node and reference the correct regulator for each
domain. This also includes adding the currently unused dvp regulators
and fixing up two regulators to follow the naming in the schematics.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:40:06 +02:00
Heiko Stuebner
fa1c193261 ARM: dts: rockchip: add rk3288-popmetal mmc supplies
Add missing regulators and supply properties to emmc and sdmmc nodes.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:39:59 +02:00
Heiko Stuebner
48961b3494 ARM: dts: rockchip: add rk3288-popmetal board to dtb list
The popmetal board was not included in the list of Rockchip boards,
so was only built when explicitly called with make rk3288-popmetal.dtb
but not in a generic make dtbs, so add the missing entry.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:39:47 +02:00
Sjoerd Simons
44d5039a9a ARM: dts: rockchip: Add dtb for the Radxa Rock 2 Square board
The Radxa Rock 2 Square board is a combination of the Radxa Rock 2 SoM
with the Square baseboard. Add a dtsi for the SoM which can be included
into the dts for the various baseboards (e.g. full and square) and a dts
for the square board.

Currently supported are serial console, wired networking, hdmi output,
eMMC and SD storage and USB.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:38:17 +02:00
Shawn Lin
1d727ec922 ARM: dts: rockchip: support highspeed sd-cards on rk3066a boards
Add cap-sd-highspeed and cap-mmc-highspeed for rk3066a-bqcurie2
and rk3066a-rayeager boards to make sd cards run faster.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:38:07 +02:00
Shawn Lin
2a4527ff53 ARM: dts: rockchip: support highspeed sd-cards for rk3188-radxarock
Add cap-sd-highspeed and cap-mmc-highspeed for rk3188-radxarock
board to make sd cards running faster.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:37:54 +02:00
Douglas Anderson
e61ccb12d3 ARM: dts: rockchip: Add the hdmi-ddc pinctrl settings for rk3288
The pins for i2c5 can either be configured as "I2C5" which means that
they're controlled by the normal RK3288 I2C controller or as "EDP / HDMI
I2C".  It's unclear why EDP is referenced here since apparently setting
the mux to this position enables I2C communication using the dw_hdmi
block with a patch like <https://patchwork.kernel.org/patch/7098101/>.

There appear to be some reasons why using the builtin I2C controller in
dw_hdmi is better than using the normal RK3288 I2C controller, so boards
based on rk3288 might eventually want to use this pinmux if it's known
to work.

Once driver support in dw_hdmi lands, boards would use this by selecting
this pinctrl for the HDMI block and then _not_ specifying a ddc-i2c-bus
and _not_ setting the status to "okay" for i2c5 (which uses the same
pins).

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:37:42 +02:00
Alexandru M Stan
035015b10e ARM: dts: rockchip: Remove specific cts pullup from veyron
With the previous patch ("rk3288: pull up cts lines") this is redundant,
I sent that patch for the same reason this existed here, so the lines don't
wiggle randomly when disconnected.

Signed-off-by: Alexandru M Stan <amstan@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:37:23 +02:00
Alexandru M Stan
8915f36441 ARM: dts: rockchip: pull up cts lines on rk3288
The flow control lines from a user accessible UART are optional,
the user might not have anything connected to those pins.
In order to prevent random interrupts happening and noise affecting
the cts pin should be pulled up.

Note that the default state for that pin on the rk3288 is pulled up,
so this patch merely restores them.

This is similar to what we're already doing with the RX pin,
so it should be safe. At worst it might be a slightly higher power usage
(through ~50 kohms) when the cts is low.

Suggested-by: Neil Hendin <nhendin@chromium.org>
Signed-off-by: Alexandru M Stan <amstan@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:37:16 +02:00
Brian Norris
d5f9f4ff73 ARM: dts: rockchip: add veyron-jaq board
a.k.a. Haier Chromebook 11, and others

Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:37:09 +02:00
Romain Perier
736ef3395a ARM: dts: rockchip: Add support for SD/MMC on MarsBoard-RK3066
This enables SDMMC0 on the board and gives a basic support for SD cards.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-10-08 22:37:00 +02:00
Arnd Bergmann
a3e2ed443d ARM Keystone DTS updates:
- Add SOC compatible along with EVMs for future board variations.
 	- Add SPI nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWE/13AAoJEHJsHOdBp5c/FmsQAICxZPCOWP6AzUfPanOkbWSZ
 TBgVotIQJU0wMBBkMXgjIci+Y7/ETQXqJJsxHAm9LkTxAYVq0K2+TNSrrVIORT94
 ScVNO2/J9nzOdu34d79KFZpeP1SNRIZlkMCqRz6WGCtxjX3HSoTLsUOOk9cz9xiy
 0Yb8NYVWsLpBx5aHBZtaTgUBL/C4TCi2qc7JXRWx8puoKkEK6wOiswSfHzR0RoCT
 TKmtzzh0sgC7ElpKdJ3GEWlwj7Tx61GDcfoYpJ8Tk8gG0Fq1EvYcg+UVdHOKZrCe
 KfTMKVE8X4hgZI3mKVvZUATICVjPILbPAP423DhWb5Sb45WSHWqDAOJVoyWkRaXf
 OFATBXm7YbD9tMCwJX3LAeweE3P3vGjFc4LYg5qp+WHBhaLNGAGU8nz4qTuGeRKi
 NVE/wW0hSt4B4xenYHJD7lBQwEjarON+BoObeqBNKBij2D5R5EdDD2pV+CQ9AdyM
 qWco6r8HNAUVaR6Qjd2rmRcmrVHtKxrPPb/IGJWsOH40DW+xNPxIGbDgkR4319SN
 nz4Z8+mICyqtaCU3bqFIXg2YfQB0bPP0aFWNp8LL8fJMhXrj7RB0GIqAAuNtDKt5
 c6IkJBuW2IEBFJxe9q27FT4oSfK3tXoXtZCTiHplDu3vMF02X53QMEufdAeK06MB
 FB4V7ek5+ynGvg+ZrWKb
 =2vau
 -----END PGP SIGNATURE-----

Merge tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Merge "ARM Keystone DTS updates" from Santosh Shilimkar:
	- Add SOC compatible along with EVMs for future board variations.
	- Add SPI nodes

* tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone: Update SoC specific compatible flags
  ARM: keystone: Update compatible to have SoC specific matches
  Documentation: dt: keystone: provide SoC specific compatible flags
  ARM: dts: keystone: Add ti,keystone-spi for SPI
2015-10-08 17:30:23 +02:00
Carlo Caione
4a69fcd3a1 ARM: meson: Add DTS for Odroid-C1 and Tronfy MXQ boards
Signed-off-by: Carlo Caione <carlo@endlessm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-08 17:21:55 +02:00
Arnd Bergmann
21fadea995 Renesas ARM Based SoC DT Updates for v4.4
* Add missing CPG/MSTP Clock Domain for sound on r8a779[01] SoCs
 * Tidy up SCI resource region on r8a779[018] SoCs
 * Add pinmux for iic0 on Lager board
 * Use CCF for audio clock on Lager and Koelsch boards
 * Use serial0 and 1 as serial ports on Marzen board
 * Use adxl345-specific compatible property for KZM9G board
 * Document compat string for Silk board
 * Enable GPIO, I2C, PCI, QSPI, USB PHY and HS, and VIN support on r8a7794/Silk
 * Add initial support for r8a7791/porter
 * Add common file for AA121TD01 panel
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWFHsPAAoJENfPZGlqN0++WBQQAKewTnv8GBqBtgT7WFz3ADLV
 CSDqME9lx70Hwfst8PWS0MLD4Fs/g/thf36LUbYSomZ35hzy4FGCXHvEOSwjZ9wq
 zEvwoIu9yWv3Ujc2EZ07YndXhqliyaNwRkC9foRHx3Nzasaa+2m4mDXIF6ENndlt
 9hJoWuE+iAAsTFAkcTp+0Bu97VNrtlcEjEA59KM5xGEBdCfN3mVt5+mHGcQh4yHF
 rBFkcqC7+8y5Igxk2VrcfMIlPv1cxWy/llCRQrvyV48CLf1HyIHYtfKx0Bj2JMFL
 pH841A6Sxi9Uhce0fjr4YCkBFpsGRtXjWOovyMKM+042PS7ugOUqf7GMskqIoLkN
 6hLzsNR2Da8p3OQrhXfv1dHbLkUMkyRkE6n2btAPnJWxAQwQBtTgLUXq561NnJuD
 to52gIKnmH9DeW3uaslZSE/GlgAeusQI9QwUIVnGq6m1AT9t3UKNaoohRo68pjQC
 P6YACrZLys0luPQkwGoZJdBH9clI4OBkcmw9t/6N7yg10aNnME9yjWaEbk/KsGVy
 yyiiqm2AKhXM6Qsho4DA7tSoxQRzX8Mee43vRRLlOIothzuVVdSGx/61uJtWLWFc
 52wNBdmSBWkaUTw237K7fXkIUtKXlhruCW1At3gBbBY2S53jOBrJ5+ZBFDf2hRpm
 GecycolgMWa+8/SID/jc
 =ceDx
 -----END PGP SIGNATURE-----

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

Merge "Renesas ARM Based SoC DT Updates for v4.4" from Simon Horman:

* Add missing CPG/MSTP Clock Domain for sound on r8a779[01] SoCs
* Tidy up SCI resource region on r8a779[018] SoCs
* Add pinmux for iic0 on Lager board
* Use CCF for audio clock on Lager and Koelsch boards
* Use serial0 and 1 as serial ports on Marzen board
* Use adxl345-specific compatible property for KZM9G board
* Document compat string for Silk board
* Enable GPIO, I2C, PCI, QSPI, USB PHY and HS, and VIN support on r8a7794/Silk
* Add initial support for r8a7791/porter
* Add common file for AA121TD01 panel

* tag 'renesas-dt-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (28 commits)
  ARM: shmobile: porter: add Ether DT support
  ARM: shmobile: fix SILK board name
  ARM: shmobile: r8a7794: add HS-USB DT support
  ARM: shmobile: dts: Add common file for AA121TD01 panel
  ARM: shmobile: r8a7794: link PCI USB devices to USB PHY
  ARM: shmobile: silk: enable USB PHY
  ARM: shmobile: r8a7794: add USB PHY DT support
  ARM: shmobile: porter: initial device tree
  ARM: shmobile: add Porter board DT bindings
  ARM: shmobile: silk: enable internal PCI
  ARM: shmobile: r8a7794: add internal PCI bridge nodes
  ARM: shmobile: r8a7790: lager: add pinmux for iic0
  ARM: shmobile: r8a7778: tidyup SSI resource region
  ARM: shmobile: r8a7791: tidyup SSI resource region
  ARM: shmobile: r8a7790: tidyup SSI resource region
  ARM: shmobile: lager: use CCF for audio clock
  ARM: shmobile: koelsch: use CCF for audio clock
  ARM: shmobile: silk: add VIN0/ADV7180 DT support
  ARM: shmobile: r8a7794: add VIN DT support
  ARM: shmobile: silk: add I2C1 DT support
  ...
2015-10-08 17:20:25 +02:00
Arnd Bergmann
9dd289a4a9 Merge branch 'renesas/cleanup' into next/dt
Dependency for renesas/dt
2015-10-08 17:20:09 +02:00
Sergei Shtylyov
efbb05c2c0 ARM: shmobile: porter: enable SATA0
Enable SATA0 device for the Porter board.

This patch is analogous to the commit 5a62ec5700 ("ARM: shmobile:
henninger: enable SATA0") as there are no differences between the boards
in this respect.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-08 11:15:38 +09:00
Javier Martinez Canillas
df829b06f0 ARM: dts: Use GPIO constants for flags cells in exynos5440 boards
The board DTS are using numeric values instead of the defined GPIO
constanst to express polarity, use them to make the DTS more clear.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-08 07:39:58 +09:00
Javier Martinez Canillas
31b9903c23 ARM: dts: Use GPIO constants for flags cells in exynos5420/5422/5800 boards
The board DTS are using numeric values instead of the defined GPIO
constanst to express polarity, use them to make the DTS more clear.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-08 07:39:58 +09:00
Javier Martinez Canillas
c10d3290cb ARM: dts: Use GPIO constants for flags cells in exynos4412 boards
The board DTS are using numeric values instead of the defined GPIO
constanst to express polarity, use them to make the DTS more clear.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-08 07:39:58 +09:00
Javier Martinez Canillas
39c1c413c1 ARM: dts: Use GPIO constants for flags cells in exynos4120 boards
The board DTS are using numeric values instead of the defined GPIO
constanst to express polarity, use them to make the DTS more clear.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-08 07:39:58 +09:00
Javier Martinez Canillas
de77e52d34 ARM: dts: Use GPIO constants for flags cells in exynos3250 boards
The board DTS are using numeric values instead of the defined GPIO
constanst to express polarity, use them to make the DTS more clear.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-08 07:39:57 +09:00
Emilio Lopez
27e6699c35 ARM: dts: Enable EC vboot context support on Peach boards
The Peach boards use the EC to store the vboot context information,
so add the corresponding properties on the EC node to indicate so.

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Emilio Lopez <emilio.lopez@collabora.co.uk>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-08 07:35:21 +09:00
Kukjin Kim
6252eb0a17 Device Tree improvements for Exynos based boards (updated pull request):
1. Enable DMA on Exynos4 serial ports. This old patch uncovered
    a number of other issues in dmaengine and samsung serial driver.
    All of known issues are resolved so finally enable the DMA for UART.
 2. Fix incorrect location of display-timings node (FIMD->DP node)
    on Arndale, SMDK5250 and SMDK5240 boards.
 3. Minor cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWEyjZAAoJEME3ZuaGi4PXJe4QAI72zIVsSOI6tzm5m8uUDMhn
 LM9+0Yxv7LcD9vxNQyEgtz8l/+DYnZNGqcr1hqG1ch44Ep4NTCxIXA9XltH/dRuj
 hdM+kmqlo72rGE3tye1OXLzLi7Wn2277Bz6x17gFID0/f9hrpJm7F8ZFxe83rKTl
 zTBLoCwYVbDfCM98uZWlQfpvAGSE4SRjonDMD3RnkyS1PzD59mHVfdr0Eq//Io+o
 dEGCB5ysHO20R6p/qYe6Dqd9ytE8xzhabATjIYX3RuMKlgUH/xnWHVz2DSHCiyMv
 4fcIIa1mwRjDyrtC3dH9jSk/pePjYKsdyrXcMju8Si6O4hi1c9YMzplW4xIVuGjd
 wR3sQqY9NG8xbudEf35NN9R669dYH0uaxRmsHvC9E9E16fVYe+ufcBewdZGHFniJ
 jLt2cesMaABACI0jC2vGw8BD0JAoidJku/0xKdBR2ymoThuZo0qDGHR8YVhAuea5
 T41O2jgmuqQBltfLX6WMX2O19/8BeibI45cwRcOZRfACwkd1qZkUqXInle/tx2cD
 7ZBSnTxSF8wV4uun5CLiP1IbYslycMZuVho+WQT3Mhphw4y6+DZfLqOIeWA+LO8T
 dT55snexZd8Cp2vmST9ybcn9ExE7vdG6xpeaN00A9isNGcFm1KkNFX/0INsMlfBO
 XDFr50iIdTidTRW0g/Uf
 =OWHD
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-4.4-2' of http://github.com/krzk/linux into v4.4-next/dt-samsung

Device Tree improvements for Exynos based boards (updated pull request):
1. Enable DMA on Exynos4 serial ports. This old patch uncovered
   a number of other issues in dmaengine and samsung serial driver.
   All of known issues are resolved so finally enable the DMA for UART.
2. Fix incorrect location of display-timings node (FIMD->DP node)
   on Arndale, SMDK5250 and SMDK5240 boards.
3. Minor cleanups.
2015-10-08 07:16:31 +09:00
Chen-Yu Tsai
52095d179c ARM: dts: sun6i: hummingbird: Drop AXP221 DC1SW and DC5LDO supplies
"dcdc1-supply" and "dcdc5-supply" have been dropped, as they are
internally connected and should not be represented in the device
tree.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-07 11:34:54 +01:00
Chen-Yu Tsai
b2ec7029c9 ARM: dts: sun8i: sinlinx-sina33: Enable Reduced Serial Bus controller
The Reduced Serial Bus controller is used to talk to the onboard PMIC.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-07 10:56:32 +01:00
Chen-Yu Tsai
d4eac998b9 ARM: dts: sun8i: q8-common: Enable RSB controller for A23/A33 Q8 tablets
The Reduced Serial Bus controller is used to talk to the onboard PMIC.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-07 10:56:16 +01:00
Chen-Yu Tsai
79d05ec96a ARM: dts: sun8i: Add Reduced Serial Bus controller device node to A23/A33 dtsi
This patch adds a device node for the Reduced Serial Bus (RSB)
controller and the defacto pinmux setting to the A23/A33 dtsi.

Since there is only one possible pinmux setting for RSB, just
set it in the dtsi.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-07 10:55:54 +01:00
Sergei Shtylyov
b941a5cbe1 ARM: shmobile: porter: add SDHI0/2 DT support
Define the Porter board dependent part of the SDHI0/2 device nodes along
with the  necessary  voltage regulators (note that the Vcc regulators are
dummy -- they are required but don't actually exist on the board). Also,
GPIOs have to be used for the CD and WP signals due to the SDHI driver
constraints...

This patch is analogous to the commit 1299df03d7 ("ARM: shmobile:
henninger: add SDHI0/2 DT support") as there  are no differences between
those boards in this respect.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-07 12:36:02 +09:00
Nishanth Menon
91dca0f0fe ARM: dts: keystone: Update SoC specific compatible flags
Update the compatible flags to allow specific SoC identification.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2015-10-06 09:51:09 -07:00
Nishanth Menon
01cf228b55 ARM: keystone: Update compatible to have SoC specific matches
With future SoCs of keystone2 family, the generic compatible match
may not be sufficient to handle SoC specific handling. So introduce
matches based on SoC compatiblity.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2015-10-06 09:51:08 -07:00
Tyler Baker
a362ec8f67 arm64: dts: add all hi6220 uart nodes
This patch adds all UART nodes for the Hi6220 SoC. Recently a board[1] has
been developed to standardize UART access across all the 96boards consumer
edition boards. To use this hardware on HiKey we must configure and enable
UART3. However, to ensure backward compatibility we must keep UART0 enabled
as well.

I have removed the hard coded clock index values in favor of using the ones
already defined in include/dt-bindings/clock/hi6220-clock.h.

Since UART0 needs to be soldered, it has been suggested to use the UART3 as
the default console.

This patch was boot tested on top of next-20150930, with both UART
configurations.

[1] http://www.seeedstudio.com/depot/96Boards-UART-p-2525.html?ref=newInBazaar

Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-06 16:34:40 +02:00
Arnd Bergmann
90656b8414 SoCFPGA DTS updates for v4.4
- Add base arm64 dts for Statrix 10
 - Peripheral updates for Arria10(USB,I2C,UART)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJWE5f9AAoJEBmUBAuBoyj08/MQAJXkM1yd7kTK9HMJPnYZPD2f
 J6GHP9elKhFUieIaXB3uTJEUP/BjRd0rRFgMcHqLOrybICCbiynyJKvZGjGSIrks
 zjNkkDjiBEfxTCkvO0bF0kszh2mHNKtIXo8yzAnDUCHTR8uo4PnQUFbDz7+EbOqf
 WoGVCP+9o6zd0wQUM5JgEjKeEDiD7CWmh7KQXhFFlgzTAR72TpBhYY5eYQ/LVzEE
 XAFbW1z+Iz0d4jD9EkA73DwkZpYuc7viLqWlASGa6Khq80ZMZRMS5ydG+sWnw8g5
 W18IRQURVeGOTF/wSSra2FclC7PhYPiWeAShQf7rhbsIji0uU1jDQCJLSXMTiVW2
 t/SJaCVBerkCyCmNOmn0k5bE+7aaxF1bYMmsOBg+8TDCLRiZpvcJzc7M92kZAMpR
 gZSbNnAj+ZcnCUiWDS3Um6UQqz3fUGeJ2T7dSHeRTQ6VZoiCqspom+1VVOYCTrOe
 SzwU+V9ZgGrXqcU6lMJbMkeYtGDDxEb9kQX5uvUSSNuLfTsy2Wf66BPhTIsAQvvv
 c04LOaUHyzDEKPj40DjHyPVnu0SWteaKicNmMthpx1OqPzD/A3qloM14WzBufaNZ
 6sI5h8OZWDNOGHE7ZJum8n1zTUMU134QgX7RlQrbl5h0Et4q1FhCsOw4NuL5BAZ6
 WlyIkTV3pJEwnMNHYbWW
 =3A9d
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt

Merge "SoCFPGA DTS updates for v4.4" from Dinh Nguyen:
- Add base arm64 dts for Statrix 10
- Peripheral updates for Arria10(USB,I2C,UART)

* tag 'socfpga_dts_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: Add base stratix 10 dtsi
  ARM: socfpga: dts: enable USB and I2C on Arria10 SoCDK
  ARM: socfpga: dts: add clock fields for I2C, UART and USB on Arria10
2015-10-06 16:31:17 +02:00
Arnd Bergmann
b8faca6af8 X-Gene DTS changes queued for v4.4
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJV+0vrAAoJEB11UG/BVQ/g2bEP/RCrmy3VyDQJgt3aTvoPKjJN
 x0cIJOeEwA7YXhQB7l0w7d71v2aHvbOY3FzOddKJisCFlDuu5RfmQXL8BOO6YBbU
 wRe94U4M32zjb9AbyOdLVEuonMjFr1lbxGNVaSKRYm/39qW7Knd6KXx/EGw8AIUR
 Oz1SjM9qCVp/dXq4tfhbGZa7ZT/k2J8933vYm0mEwqcflkp02017InWMZuwAzshW
 8hDeFo5MWcIxRgY6fMpgY4LRXlTachbQtz+SGyfO8z//AuepgCSDen2iBsewQVyN
 OP4BYgvEIU3a7RNpi/frYNS25OJ6MlFmMUKMtnKJVJDC9mF1rmDYzPnZrCU/a9lW
 ca7FIl88HxzXrymlS1FhQJt2MI4eDryB1oeeFcx2J6avnqDEE5pd3Wym1YG9cu4S
 C6/6NtJeyEQMbo1zooyV4zO2cNDvGD9wd5zUlnNi/Ye4UPxJbGd7w7ZpFItNNWnU
 Q01QCt2Nn2BFStiMZPUvpP1Jp+c2huAc3FmjcCqMLOL/HXkSBB8pu0ILY148dOdu
 +hJdthoDF9jilNM7V9JkSb9belMtbyvtK2wQQpCR24TQzbpTy8GHLX9OcEjkP9E8
 2Z3pbqDMjQ1yGrHWPwZBrWXa0a+LCmNDWbgqB/xYNVgCyMq9XimawbQpLnLTDG9R
 mireHhD8xc3+QwfC9MJ1
 =IW/G
 -----END PGP SIGNATURE-----

Merge tag 'xgene-dts-for-v4.4-1' of https://github.com/AppliedMicro/xgene-next into next/dt

Merge "X-Gene DTS changes queued for v4.4" from Duc Dang:

* tag 'xgene-dts-for-v4.4-1' of https://github.com/AppliedMicro/xgene-next:
  arm64: dts: Add poweroff device nodes for APM X-Gene 2 platform
  arm64: dts: Add APM X-Gene 2 standby GPIO controller DTS entries
  arm64: dts: Add PMU node for APM X-Gene Storm SOC
  Documentation: arm: pmu: Add Potenza PMU binding
  arm64: dts: Add X-Gene v2 reboot driver dts node
  arm64: dts: add APM Merlin Board device tree
  power: reset: Add syscon poweroff device node for APM X-Gene platform
  arm64: dts: Add X-Gene reboot driver dts node
  Documentation: arm64: add SCU dts binding documentation to linux kernel
  MAINTAINERS: Add Applied Micro (APM) X-Gene Device Tree maintainer
2015-10-06 16:28:37 +02:00
Arnd Bergmann
d1176d175e First batch of DT changes for 4.4:
- some DT fixes: dma declaration, led labels
 - disable some nodes: PMIC on sama5d3 Xplained, unused i2c1 on at91sam9n12ek
 - add some others that were missing: touchscreen, cryto nodes, LCD panels or
   image capture properties on various boards
 - as the new pinmux for sama5d2 was accepted, we can now add the definitions
   and the actual muxing for sama5d2 Xplained board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJWDSc+AAoJEAf03oE53VmQSu0H/RSxt4bK9Mb3p5le7pXCefXD
 JO53I56T7lAjQcfbzGF9yPyeRfYDImVdehXMs+2eY8bBzasLbayeqTJq+SIwpLv7
 xOgfnSZos7bzz+efwF5r937EvW1G9/VeO0OYksvKt0FdJPeMaj55/x9E7022sgSh
 dAyx1+L8u+w+HcFEzLESAuXXCaredMMdVH+a0i5CEP02OQATVovR5Mb29GiQtdmU
 CHai+ziJSYzmqG0/9QShR7gWFmlJuEpAE0fyukGGFq9AJWuyDvAQlTVu5UQblra9
 0SQ2fOKh4J22E2cLYlt1K+JBW2M8kw98QGx3wCDtDiP4IsssVtw+C/VLCwvACKo=
 =whS/
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt

Merge "First batch of DT changes for 4.4:" from Nicolas Ferre:

- some DT fixes: dma declaration, led labels
- disable some nodes: PMIC on sama5d3 Xplained, unused i2c1 on at91sam9n12ek
- add some others that were missing: touchscreen, cryto nodes, LCD panels or
  image capture properties on various boards
- as the new pinmux for sama5d2 was accepted, we can now add the definitions
  and the actual muxing for sama5d2 Xplained board

* tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: at91/dt: sama5d2 Xplained: add device pin muxing
  ARM: at91/dt: add sama5d2 pinmux
  ARM: at91/dt: ov2640: add hsync/vsync-active property
  ARM: at91/dt: sama5d4 xplained: enable the led D8
  ARM: at91/dt: sama5d4ek: Add support of QT1070 and Maxtouch
  ARM: at91/dt: sama5d4: enable crypto nodes
  ARM: at91/dt: sama5d4: add pioD pin mux mask and enable pioD
  ARM: at91/dt: sama5d3: update iio config for touchscreen
  ARM: at91/dt: sama5d3 xplained: disable pmic
  ARM: at91/dt: at91sam9x5: enable iio touchscreen for 9x5ek
  ARM: at91/dt: at91sam9n12ek: disable i2c1
  ARM: at91/dt: at91sam9n12ek: fix the led labels name
  ARM: at91/dt: corrections to i2c1 declaration to sama5d4
2015-10-06 16:26:38 +02:00
Arnd Bergmann
3cb06b30e4 Highlights:
-----------
  - Add multiple pinctrl configurations to STiH407
  - Enable devices using pins only at board level
  - Add HW RNG device nodes to STiH407 family
  - Fix MMC0 clock configuration on STiH418
  - Fix interrupt related bindings on STiH407
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWDQTZAAoJEMo4jShGhw+JTnAQANy0dV32jlmxyhjZNBkz56Ri
 JS4DL/kGAhlAtV+zzxhw31AMNJrL8JiBYA8mVANfXSAizQNqUnSz378fUVbb1+LS
 BjX1UoWiT5+ZUpf6uBQfEPZRfxe+iuc2mFfmx8vL/KbueCAikBXqCIo/7Ow490H7
 shpQTa1M2vTeqX9+OMuFEyOuxuyL3+Qj4iSmpfLSjPWWscJ5WaUeQtNRpZ08o+NQ
 RhmxMPacUTDmD8vRnnVsZWiF5/c2MjfpCYQalWKPM4nuyyRQkaXRVkk+jzIwzwh7
 fzH7sR3fu0ZIqWLt9CjugcbzTk46abaGp/UDLM8TK9/fziVwM5vcHO2kmcxm0FIm
 FJLY4X5lZ+7v/Y5IxCPws9G5mI6KqDGOxe+X3Di5GRRT2TKqXvRkS+fUUZ3J9qRl
 kOwLf5/dJ/cH7w3DUH2GEFJEVZeu3jeElcIQFiqEordZrkobN+2uZOH9IJHnqXqd
 dmCpw6f0SM2GDDYKqjYQNc7wF+zoVrSvo64Aq6L8BmwIn/+RyKqW5TPb/v/TSpWU
 V7gvJ6cwHMWKn4+JREmpQR19mjftUEy6kNYH/KW4CUK1QNh6635otFIu4S1d/Nzm
 Kg8jcwH7D+in/fobm3fcELnFdZa6RpLiMn6nA61qyC84+u5m9wcOsqb5Ge/JzlK9
 nK6xjOPZQ0JfJVdxyPH2
 =jDta
 -----END PGP SIGNATURE-----

Merge tag 'sti-dt-for-v4.4-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt

Merge "STi DT changes for v4.4, round 1" from Maxime Coquelin:

Highlights:
-----------
 - Add multiple pinctrl configurations to STiH407
 - Enable devices using pins only at board level
 - Add HW RNG device nodes to STiH407 family
 - Fix MMC0 clock configuration on STiH418
 - Fix interrupt related bindings on STiH407

* tag 'sti-dt-for-v4.4-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti:
  ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10}
  ARM: DT: STi: STiH418: Fix mmc0 clock configuration
  ARM: STi: DT: STiH407: Rename incorrect interrupt related binding
  ARM: STi: STiH407: Add spi default pinctrl groups.
  ARM: DT: STiH407: Add RMII pinctrl support
  ARM: DT: STiH407: Add pinconfig for IRB UHF and IRB TX
  ARM: DT: STiH407: Add SD pinctrl config for mmc0 controller
  ARM: DT: STiH407: Add systrace pin configuration
  ARM: DT: STiH407: Add NAND flash controller pin configuration
  ARM: DT: STiH407: Add SPI FSM (NOR Flash) Controller pin config
  ARM: DT: STiH407: Add serial3 pinctrl configuration
  ARM: DT: STiH407: Add SPI 3 wire and 4 wire pinctrl configs
  ARM: STi: DT: STiH407: Add i2c3 alternate pin configs
  ARM: STi: DT: STiH407: Add a cec0 pin definition
  ARM: dts: stih410: Enable USB2.0 and related PHY nodes at board level
  ARM: dts: stih407/410: Tidy up display nodes
  ARM: dts: stih407: Enable PWM nodes only board level
2015-10-06 16:25:00 +02:00
Arnd Bergmann
f85e64b540 ARM64: DT: Hisilicon hip05 soc and D02 board updates for 4.3
- Updated the hisilicon devicetree bindings document to support hip05-D02 board
 - Added dts files for hip05 SoC and D02 board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWACysAAoJEAvIV27ZiWZcSXgP/0WdQv4rUnE9gEno8l8QTGam
 S7MJO7hfrGlTwOXVPGjXUd8vSsCtl0BObiuy5sf8swGlWGtfuncnu5Fp2ArKd2gm
 +15gVVBasAQFvMnsvVFQ5VxVgbFpa2QFTlXzgd3tJC/U86qr9Ij+1eNw5C5LtGKO
 gqiPmu2bHYugRZOYRg+xHAeDgXBgSE6Kz88RDZTWSf/QxQY7ik0mc1H67VLIbJJ1
 KZ+KO1Gj1VJn/aymvTB+7bK+hc+2BHPoGWz59f5sExwZWpHdp3p34zxzs7ENiYU2
 n/m0NeZXRqpHVrquRd4noMTceo20v2nRi1sw7xFGQ3Jm9mZqgBDH1IA6ejvP+x7t
 DeFn38kHqO2NNPDM+BpUBcCs5Z1cfpfxnZjcs6rM2shoYf7rtAcu0tlQMdplqoI+
 WG1hJElZdAx0jpXXxC2F/U208GzurgditqHdVQoQ2SU7fEgobS95TF7s1cxY1FIG
 8cef68NVWkBInwzJL9gH8Ukq78q0TZY0g7sydVG2vCSmcpk4BUvSF4xpsz0C2okO
 jsUT38/m17O75eRhSc57GF7vhSpsW02s0Fd7TFQJ+8JUqFqTt2Y8qk4W0b9gaSK7
 8j02xMUsGnin72XwdU2qtLgZutHkhNqYu8TD9NBNas00U7c7Jfma9rK+IiK9Vh79
 FgVJlyNdrFGl/uzDNBq6
 =Swzi
 -----END PGP SIGNATURE-----

Merge tag 'hip05-dt-for-4.3' of git://github.com/hisilicon/linux-hisi into next/dt

Merge "ARM64: DT: Hisilicon hip05 soc and D02 board updates for 4.3" from Wei Xu:

- Updated the hisilicon devicetree bindings document to support hip05-D02 board
- Added dts files for hip05 SoC and D02 board

* tag 'hip05-dt-for-4.3' of git://github.com/hisilicon/linux-hisi:
  arm64: dts: add dts files for Hisilicon Hip05-D02 Development Board
  arm64: hip05-d02: Document devicetree bindings for Hisilicon Hip05-D02 Board
2015-10-06 16:20:52 +02:00
Dinh Nguyen
78cd6a9d8e arm64: dts: Add base stratix 10 dtsi
Add the base DTS for Altera's SoCFPGA Stratix 10 platform.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
---
v4: Add a non-zero ranges property for /soc node
v3: change #address-cells and #size-cells to <2>
    change the GIC address to 0xfffc1000
    update the GIC virtual CPU reg length to 0x2000
v2: use interrupt-affinity for pmu node
2015-10-06 04:42:38 -05:00
Dinh Nguyen
19c2138827 ARM: socfpga: dts: enable USB and I2C on Arria10 SoCDK
On the Arria10 Devkit, the I2C bus has a serial EEPROM and an RTC
hanging off it. Also, enable the USB node.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2015-10-06 04:42:34 -05:00
Dinh Nguyen
e7604ae277 ARM: socfpga: dts: add clock fields for I2C, UART and USB on Arria10
Add the required clock fields for all the I2C nodes. Also add missing clock
fields for UART0 and USB1.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2015-10-06 04:42:29 -05:00
Javier Martinez Canillas
c21dbcfefc ARM: dts: Remove regulator-compatible usage in exynos4412-trats2
The regulator-compatible property from the regulator DT binding was
deprecated and the correct approach is to use the node's name.

This patch has no functional changes but by not using a deprecated
property, new DTS based on this one will not carry the same issue.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2015-10-06 10:47:13 +09:00
Sean Paul
c518506806 ARM: dts: Move display-timings node from fimd to dp in exynos5250-arndale, smdk5250 and smdk5420
This patch moves the display-timings node from fimd to dp to reflect the
device tree bindings change.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
[tomeu.vizoso@collabora.com: Rebased]
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2015-10-06 10:47:08 +09:00
Sergei Shtylyov
0877098d82 ARM: shmobile: porter: add Ether DT support
Define  the Porter board dependent part of the Ether device node.
Enable DHCP and NFS root for the kernel booting.

This  patch  is analogous to the commit 26b0d2cf73 ("ARM: shmobile:
henninger: add Ether DT support") as there  are no differences between
those boards in this respect.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-06 09:44:53 +09:00
Antoine Tenart
5f5cdc0823 ARM: berlin: add a PWM node on the BG2CD
This patch adds a PWM node in the Berlin BG2CD device tree, using the
newly added Berlin PWM driver.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
2015-10-05 20:09:26 +02:00
Antoine Tenart
8eaaaa6f9d ARM: berlin: add a PWM node on the BG2
This patch adds a PWM node in the Berlin BG2 device tree, using the
newly added Berlin PWM driver.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
2015-10-05 20:09:22 +02:00
Antoine Tenart
956d821784 ARM: berlin: add a PWM node on the BG2Q
This patch adds a PWM node in the Berlin BG2Q device tree, using the
newly added Berlin PWM driver.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
2015-10-05 20:09:17 +02:00
Siarhei Siamashka
a2f1a68011 ARM: dts: sun4i: Add AXP209 PMU regulators for pcDuino1/2
This allows voltage-scaling with cpufreq-dt. The reliability of
voltage-scaling has been checked by reducing the voltage of all
operating points by 0.025V (for extra safety headroom) and running
libjpeg-turbo decoding tests on 5 pcDuino2 boards. It means that
the standard sun4i voltages should be perfectly fine too.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2015-10-05 14:56:11 +02:00
Sergei Shtylyov
2f33b9f796 ARM: shmobile: r8a7794: add HS-USB DT support
Define the R8A7794 generic part of the HS-USB device node.
It is up to the board file to enable the device.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-05 12:01:42 +09:00
Linus Torvalds
30c44659f4 Merge branch 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull strscpy string copy function implementation from Chris Metcalf.

Chris sent this during the merge window, but I waffled back and forth on
the pull request, which is why it's going in only now.

The new "strscpy()" function is definitely easier to use and more secure
than either strncpy() or strlcpy(), both of which are horrible nasty
interfaces that have serious and irredeemable problems.

strncpy() has a useless return value, and doesn't NUL-terminate an
overlong result.  To make matters worse, it pads a short result with
zeroes, which is a performance disaster if you have big buffers.

strlcpy(), by contrast, is a mis-designed "fix" for strlcpy(), lacking
the insane NUL padding, but having a differently broken return value
which returns the original length of the source string.  Which means
that it will read characters past the count from the source buffer, and
you have to trust the source to be properly terminated.  It also makes
error handling fragile, since the test for overflow is unnecessarily
subtle.

strscpy() avoids both these problems, guaranteeing the NUL termination
(but not excessive padding) if the destination size wasn't zero, and
making the overflow condition very obvious by returning -E2BIG.  It also
doesn't read past the size of the source, and can thus be used for
untrusted source data too.

So why did I waffle about this for so long?

Every time we introduce a new-and-improved interface, people start doing
these interminable series of trivial conversion patches.

And every time that happens, somebody does some silly mistake, and the
conversion patch to the improved interface actually makes things worse.
Because the patch is mindnumbing and trivial, nobody has the attention
span to look at it carefully, and it's usually done over large swatches
of source code which means that not every conversion gets tested.

So I'm pulling the strscpy() support because it *is* a better interface.
But I will refuse to pull mindless conversion patches.  Use this in
places where it makes sense, but don't do trivial patches to fix things
that aren't actually known to be broken.

* 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
  tile: use global strscpy() rather than private copy
  string: provide strscpy()
  Make asm/word-at-a-time.h available on all architectures
2015-10-04 16:31:13 +01:00
Linus Torvalds
0d8770815f Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle:
 "This week's round of MIPS fixes:
   - Fix JZ4740 build
   - Fix fallback to GFP_DMA
   - FP seccomp in case of ENOSYS
   - Fix bootmem panic
   - A number of FP and CPS fixes
   - Wire up new syscalls
   - Make sure BPF assembler objects can properly be disassembled
   - Fix BPF assembler code for MIPS I"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MIPS: scall: Always run the seccomp syscall filters
  MIPS: Octeon: Fix kernel panic on startup from memory corruption
  MIPS: Fix R2300 FP context switch handling
  MIPS: Fix octeon FP context switch handling
  MIPS: BPF: Fix load delay slots.
  MIPS: BPF: Do all exports of symbols with FEXPORT().
  MIPS: Fix the build on jz4740 after removing the custom gpio.h
  MIPS: CPS: #ifdef on CONFIG_MIPS_MT_SMP rather than CONFIG_MIPS_MT
  MIPS: CPS: Don't include MT code in non-MT kernels.
  MIPS: CPS: Stop dangling delay slot from has_mt.
  MIPS: dma-default: Fix 32-bit fall back to GFP_DMA
  MIPS: Wire up userfaultfd and membarrier syscalls.
2015-10-04 11:41:58 +01:00
Markos Chandras
d218af7849 MIPS: scall: Always run the seccomp syscall filters
The MIPS syscall handler code used to return -ENOSYS on invalid
syscalls. Whilst this is expected, it caused problems for seccomp
filters because the said filters never had the change to run since
the code returned -ENOSYS before triggering them. This caused
problems on the chromium testsuite for filters looking for invalid
syscalls. This has now changed and the seccomp filters are always
run even if the syscall is invalid. We return -ENOSYS once we
return from the seccomp filters. Moreover, similar codepaths have
been merged in the process which simplifies somewhat the overall
syscall code.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/11236/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-10-04 12:10:56 +02:00
Linus Torvalds
2cf30826bb Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
 "Fixes all around the map: W+X kernel mapping fix, WCHAN fixes, two
  build failure fixes for corner case configs, x32 header fix and a
  speling fix"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/headers/uapi: Fix __BITS_PER_LONG value for x32 builds
  x86/mm: Set NX on gap between __ex_table and rodata
  x86/kexec: Fix kexec crash in syscall kexec_file_load()
  x86/process: Unify 32bit and 64bit implementations of get_wchan()
  x86/process: Add proper bound checks in 64bit get_wchan()
  x86, efi, kasan: Fix build failure on !KASAN && KMEMCHECK=y kernels
  x86/hyperv: Fix the build in the !CONFIG_KEXEC_CORE case
  x86/cpufeatures: Correct spelling of the HWP_NOTIFY flag
2015-10-03 10:53:05 -04:00
Linus Torvalds
a758379b03 Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI fixes from Ingo Molnar:
 "Two EFI fixes: one for x86, one for ARM, fixing a boot crash bug that
  can trigger under newer EFI firmware"

* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  arm64/efi: Fix boot crash by not padding between EFI_MEMORY_RUNTIME regions
  x86/efi: Fix boot crash by mapping EFI memmap entries bottom-up at runtime, instead of top-down
2015-10-03 10:46:41 -04:00
Linus Torvalds
5634347dee - Fix for transparent huge page change_protection() logic which was
inadvertently changing a huge pmd page into a pmd table entry.
 - Function graph tracer panic fix caused by the return_to_handler code
   corrupting the multi-regs function return value (composite types).
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWDr76AAoJEGvWsS0AyF7xdKsP/1oE1dM/xXhQbYcJxXV3MgnT
 05pXmxxJUz7o2meVcbsz4c4UbhdHaQX2//jsgwxmoTNZo4EVz15c8GLWCPh5IRsw
 FQ/bVbDNmbOMZd4RSKShfIkW4bjelT5Mn/WuxUQoIX0qx316hmfFXMLCK2Gg7iOc
 hLkERWrbwHUynu0/lzE9EphOcLIGMmuT6n4qXtdhiLoFFMg8iuKDoxetj14oR3GC
 LQ5JHpvnS6ECLl50RbVvWLCSymnfhzveGvW/d58rFHFRY5PnjV2LATfLCkaKiz8h
 szxJLFuZZzP0lmhOZ9LUaRnNwTUFx5sg0FMEJaLimnTWZ2KmvxBgMuZz+vutjjlz
 DHsQQWVVW771Yzv4vWkv/4oAd/IMcoZFLaAjVYxcjzEFC/kB/i1zRSe8BMxdTs1u
 xqIi3Iv6c7Kv7VdANfTuR9zvFDPRSLoK1UEqQ0Sdvg9NuP8rPrn2ZaMyL1fIwxaL
 AO9JTAWqCYhgWXfeCAQYI1aDEdeE1ndK7a6eX6RDu1nRupQAHfTvV+DwfLRTF6g2
 T3IwfcDuquZHNaKBR6CIgF0xSzyfk7Wsbf3QPqtIGjGsyoHfrcf/9y0b3yNxXNq9
 GEepvrYQfdoP2xhwOyDK+8kNt0HxMiCrrPD0dni95No8DDct1TJ3kPnBdWyfAWLi
 sNNSuGbqMTRpONnuC9kK
 =AJCF
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Catalin Marinas:

 - Fix for transparent huge page change_protection() logic which was
   inadvertently changing a huge pmd page into a pmd table entry.

 - Function graph tracer panic fix caused by the return_to_handler code
   corrupting the multi-regs function return value (composite types).

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: ftrace: fix function_graph tracer panic
  arm64: Fix THP protection change logic
2015-10-02 14:54:16 -04:00
Linus Torvalds
b55a97e759 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
Pull m68k updates from Geert Uytterhoeven:
 "Summary:
   - Fix for accidental modification of arguments of syscall functions
   - Wire up new syscalls
   - Update defconfigs"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
  m68k/defconfig: Update defconfigs for v4.3-rc1
  m68k: Define asmlinkage_protect
  m68k: Wire up membarrier
  m68k: Wire up userfaultfd
  m68k: Wire up direct socket calls
2015-10-02 14:51:46 -04:00
Matt Bennett
66803dd919 MIPS: Octeon: Fix kernel panic on startup from memory corruption
During development it was found that a number of builds would panic
during the kernel init process, more specifically in 'delayed_fput()'.
The panic showed the kernel trying to access a memory address of
'0xb7fdc00' while traversing the 'delayed_fput_list' structure.
Comparing this memory address to the value of the pointer used on
builds that did not panic confirmed that the pointer on crashing
builds must have been corrupted at some stage earlier in the init
process.

By traversing the list earlier and earlier in the code it was found
that 'plat_mem_setup()' was responsible for corrupting the list.
Specifically the line:

    memory = cvmx_bootmem_phy_alloc(mem_alloc_size,
			__pa_symbol(&__init_end), -1,
			0x100000,
			CVMX_BOOTMEM_FLAG_NO_LOCKING);

Which would eventually call:

    cvmx_bootmem_phy_set_size(new_ent_addr,
		cvmx_bootmem_phy_get_size
		(ent_addr) -
		(desired_min_addr -
			ent_addr));

Where 'new_ent_addr'=0x4800000 (the address of 'delayed_fput_list')
and the second argument (size)=0xb7fdc00 (the address causing the
kernel panic). The job of this part of 'plat_mem_setup()' is to
allocate chunks of memory for the kernel to use. At the start of
each chunk of memory the size of the chunk is written, hence the
value 0xb7fdc00 is written onto memory at 0x4800000, therefore the
kernel panics when it goes back to access 'delayed_fput_list' later
on in the initialisation process.

On builds that were not crashing it was found that the compiler had
placed 'delayed_fput_list' at 0x4800008, meaning it wasn't corrupted
(but something else in memory was overwritten).

As can be seen in the first function call above the code begins to
allocate chunks of memory beginning from the symbol '__init_end'.
The MIPS linker script (vmlinux.lds.S) however defines the .bss
section to begin after '__init_end'. Therefore memory within the
.bss section is allocated to the kernel to use (System.map shows
'delayed_fput_list' and other kernel structures to be in .bss).

To stop the kernel panic (and the .bss section being corrupted)
memory should begin being allocated from the symbol '_end'.

Signed-off-by: Matt Bennett <matt.bennett@alliedtelesis.co.nz>
Acked-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Cc: aleksey.makarov@auriga.com
Patchwork: https://patchwork.linux-mips.org/patch/11251/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-10-02 19:19:55 +02:00
Paul Burton
085c2f25d3 MIPS: Fix R2300 FP context switch handling
Commit 1a3d59579b ("MIPS: Tidy up FPU context switching") removed FP
context saving from the asm-written resume function in favour of reusing
existing code to perform the same task. However it only removed the FP
context saving code from the r4k_switch.S implementation of resume.
Remove it from the r2300_switch.S implementation too in order to prevent
attempting to save the FP context twice, which would likely lead to an
exception from the second save because the FPU had already been disabled
by the first save.

This patch has only been build tested, using rbtx49xx_defconfig.

Fixes: 1a3d59579b ("MIPS: Tidy up FPU context switching")
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: linux-kernel@vger.kernel.org
Cc: Manuel Lauss <manuel.lauss@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/11167/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-10-02 19:16:46 +02:00
Paul Burton
0fa24340f7 MIPS: Fix octeon FP context switch handling
Commit 1a3d59579b ("MIPS: Tidy up FPU context switching") removed FP
context saving from the asm-written resume function in favour of reusing
existing code to perform the same task. However it only removed the FP
context saving code from the r4k_switch.S implementation of resume.
Octeon uses its own implementation in octeon_switch.S, so remove FP
context saving there too in order to prevent attempting to save context
twice. That formerly led to an exception from the second save as follows
because the FPU had already been disabled by the first save:

    do_cpu invoked from kernel context![#1]:
    CPU: 0 PID: 2 Comm: kthreadd Not tainted 4.3.0-rc2-dirty #2
    task: 800000041f84a008 ti: 800000041f864000 task.ti: 800000041f864000
    $ 0   : 0000000000000000 0000000010008ce1 0000000000100000 ffffffffbfffffff
    $ 4   : 800000041f84a008 800000041f84ac08 800000041f84c000 0000000000000004
    $ 8   : 0000000000000001 0000000000000000 0000000000000000 0000000000000001
    $12   : 0000000010008ce3 0000000000119c60 0000000000000036 800000041f864000
    $16   : 800000041f84ac08 800000000792ce80 800000041f84a008 ffffffff81758b00
    $20   : 0000000000000000 ffffffff8175ae50 0000000000000000 ffffffff8176c740
    $24   : 0000000000000006 ffffffff81170300
    $28   : 800000041f864000 800000041f867d90 0000000000000000 ffffffff815f3fa0
    Hi    : 0000000000fa8257
    Lo    : ffffffffe15cfc00
    epc   : ffffffff8112821c resume+0x9c/0x200
    ra    : ffffffff815f3fa0 __schedule+0x3f0/0x7d8
    Status: 10008ce2        KX SX UX KERNEL EXL
    Cause : 1080002c (ExcCode 0b)
    PrId  : 000d0601 (Cavium Octeon+)
    Modules linked in:
    Process kthreadd (pid: 2, threadinfo=800000041f864000, task=800000041f84a008, tls=0000000000000000)
    Stack : ffffffff81604218 ffffffff815f7e08 800000041f84a008 ffffffff811681b0
              800000041f84a008 ffffffff817e9878 0000000000000000 ffffffff81770000
              ffffffff81768340 ffffffff81161398 0000000000000001 0000000000000000
              0000000000000000 ffffffff815f4424 0000000000000000 ffffffff81161d68
              ffffffff81161be8 0000000000000000 0000000000000000 0000000000000000
              0000000000000000 0000000000000000 0000000000000000 ffffffff8111e16c
              0000000000000000 0000000000000000 0000000000000000 0000000000000000
              0000000000000000 0000000000000000 0000000000000000 0000000000000000
              0000000000000000 0000000000000000 0000000000000000 0000000000000000
              0000000000000000 0000000000000000 0000000000000000 0000000000000000
              ...
    Call Trace:
    [<ffffffff8112821c>] resume+0x9c/0x200
    [<ffffffff815f3fa0>] __schedule+0x3f0/0x7d8
    [<ffffffff815f4424>] schedule+0x34/0x98
    [<ffffffff81161d68>] kthreadd+0x180/0x198
    [<ffffffff8111e16c>] ret_from_kernel_thread+0x14/0x1c

Tested using cavium_octeon_defconfig on an EdgeRouter Lite.

Fixes: 1a3d59579b ("MIPS: Tidy up FPU context switching")
Reported-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Aleksey Makarov <aleksey.makarov@auriga.com>
Cc: linux-kernel@vger.kernel.org
Cc: Chandrakala Chavva <cchavva@caviumnetworks.com>
Cc: David Daney <david.daney@cavium.com>
Cc: Leonid Rosenboim <lrosenboim@caviumnetworks.com>
Patchwork: https://patchwork.linux-mips.org/patch/11166/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-10-02 19:16:06 +02:00
Li Bin
ee556d00cf arm64: ftrace: fix function_graph tracer panic
When function graph tracer is enabled, the following operation
will trigger panic:

mount -t debugfs nodev /sys/kernel
echo next_tgid > /sys/kernel/tracing/set_ftrace_filter
echo function_graph > /sys/kernel/tracing/current_tracer
ls /proc/

------------[ cut here ]------------
[  198.501417] Unable to handle kernel paging request at virtual address cb88537fdc8ba316
[  198.506126] pgd = ffffffc008f79000
[  198.509363] [cb88537fdc8ba316] *pgd=00000000488c6003, *pud=00000000488c6003, *pmd=0000000000000000
[  198.517726] Internal error: Oops: 94000005 [#1] SMP
[  198.518798] Modules linked in:
[  198.520582] CPU: 1 PID: 1388 Comm: ls Tainted: G
[  198.521800] Hardware name: linux,dummy-virt (DT)
[  198.522852] task: ffffffc0fa9e8000 ti: ffffffc0f9ab0000 task.ti: ffffffc0f9ab0000
[  198.524306] PC is at next_tgid+0x30/0x100
[  198.525205] LR is at return_to_handler+0x0/0x20
[  198.526090] pc : [<ffffffc0002a1070>] lr : [<ffffffc0000907c0>] pstate: 60000145
[  198.527392] sp : ffffffc0f9ab3d40
[  198.528084] x29: ffffffc0f9ab3d40 x28: ffffffc0f9ab0000
[  198.529406] x27: ffffffc000d6a000 x26: ffffffc000b786e8
[  198.530659] x25: ffffffc0002a1900 x24: ffffffc0faf16c00
[  198.531942] x23: ffffffc0f9ab3ea0 x22: 0000000000000002
[  198.533202] x21: ffffffc000d85050 x20: 0000000000000002
[  198.534446] x19: 0000000000000002 x18: 0000000000000000
[  198.535719] x17: 000000000049fa08 x16: ffffffc000242efc
[  198.537030] x15: 0000007fa472b54c x14: ffffffffff000000
[  198.538347] x13: ffffffc0fada84a0 x12: 0000000000000001
[  198.539634] x11: ffffffc0f9ab3d70 x10: ffffffc0f9ab3d70
[  198.540915] x9 : ffffffc0000907c0 x8 : ffffffc0f9ab3d40
[  198.542215] x7 : 0000002e330f08f0 x6 : 0000000000000015
[  198.543508] x5 : 0000000000000f08 x4 : ffffffc0f9835ec0
[  198.544792] x3 : cb88537fdc8ba316 x2 : cb88537fdc8ba306
[  198.546108] x1 : 0000000000000002 x0 : ffffffc000d85050
[  198.547432]
[  198.547920] Process ls (pid: 1388, stack limit = 0xffffffc0f9ab0020)
[  198.549170] Stack: (0xffffffc0f9ab3d40 to 0xffffffc0f9ab4000)
[  198.582568] Call trace:
[  198.583313] [<ffffffc0002a1070>] next_tgid+0x30/0x100
[  198.584359] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
[  198.585503] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
[  198.586574] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
[  198.587660] [<ffffffc0000907bc>] ftrace_graph_caller+0x6c/0x70
[  198.588896] Code: aa0003f5 2a0103f4 b4000102 91004043 (885f7c60)
[  198.591092] ---[ end trace 6a346f8f20949ac8 ]---

This is because when using function graph tracer, if the traced
function return value is in multi regs ([x0-x7]), return_to_handler
may corrupt them. So in return_to_handler, the parameter regs should
be protected properly.

Cc: <stable@vger.kernel.org> # 3.18+
Signed-off-by: Li Bin <huawei.libin@huawei.com>
Acked-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2015-10-02 11:12:56 +01:00
Ralf Baechle
0c5d187828 MIPS: BPF: Fix load delay slots.
The entire bpf_jit_asm.S is written in noreorder mode because "we know
better" according to a comment.  This also prevented the assembler from
throwing in the required NOPs for MIPS I processors which have no
load-use interlock, thus the load's consumer might end up using the
old value of the register from prior to the load.

Fixed by putting the assembler in reorder mode for just the affected
load instructions.  This is not enough for gas to actually try to be
clever by looking at the next instruction and inserting a nop only
when needed but as the comment said "we know better", so getting gas
to unconditionally emit a NOP is just right in this case and prevents
adding further ifdefery.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-10-02 09:48:57 +02:00
Ben Hutchings
f4b4aae182 x86/headers/uapi: Fix __BITS_PER_LONG value for x32 builds
On x32, gcc predefines __x86_64__ but long is only 32-bit.  Use
__ILP32__ to distinguish x32.

Fixes this compiler error in perf:

	tools/include/asm-generic/bitops/__ffs.h: In function '__ffs':
	tools/include/asm-generic/bitops/__ffs.h:19:8: error: right shift count >= width of type [-Werror=shift-count-overflow]
	  word >>= 32;
	       ^

This isn't sufficient to build perf for x32, though.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1443660043.2730.15.camel@decadent.org.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-10-02 09:43:21 +02:00
Stephen Smalley
ab76f7b4ab x86/mm: Set NX on gap between __ex_table and rodata
Unused space between the end of __ex_table and the start of
rodata can be left W+x in the kernel page tables.  Extend the
setting of the NX bit to cover this gap by starting from
text_end rather than rodata_start.

  Before:
  ---[ High Kernel Mapping ]---
  0xffffffff80000000-0xffffffff81000000          16M                               pmd
  0xffffffff81000000-0xffffffff81600000           6M     ro         PSE     GLB x  pmd
  0xffffffff81600000-0xffffffff81754000        1360K     ro                 GLB x  pte
  0xffffffff81754000-0xffffffff81800000         688K     RW                 GLB x  pte
  0xffffffff81800000-0xffffffff81a00000           2M     ro         PSE     GLB NX pmd
  0xffffffff81a00000-0xffffffff81b3b000        1260K     ro                 GLB NX pte
  0xffffffff81b3b000-0xffffffff82000000        4884K     RW                 GLB NX pte
  0xffffffff82000000-0xffffffff82200000           2M     RW         PSE     GLB NX pmd
  0xffffffff82200000-0xffffffffa0000000         478M                               pmd

  After:
  ---[ High Kernel Mapping ]---
  0xffffffff80000000-0xffffffff81000000          16M                               pmd
  0xffffffff81000000-0xffffffff81600000           6M     ro         PSE     GLB x  pmd
  0xffffffff81600000-0xffffffff81754000        1360K     ro                 GLB x  pte
  0xffffffff81754000-0xffffffff81800000         688K     RW                 GLB NX pte
  0xffffffff81800000-0xffffffff81a00000           2M     ro         PSE     GLB NX pmd
  0xffffffff81a00000-0xffffffff81b3b000        1260K     ro                 GLB NX pte
  0xffffffff81b3b000-0xffffffff82000000        4884K     RW                 GLB NX pte
  0xffffffff82000000-0xffffffff82200000           2M     RW         PSE     GLB NX pmd
  0xffffffff82200000-0xffffffffa0000000         478M                               pmd

Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: <stable@vger.kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1443704662-3138-1-git-send-email-sds@tycho.nsa.gov
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-10-02 09:21:06 +02:00
Lee, Chun-Yi
e3c41e37b0 x86/kexec: Fix kexec crash in syscall kexec_file_load()
The original bug is a page fault crash that sometimes happens
on big machines when preparing ELF headers:

    BUG: unable to handle kernel paging request at ffffc90613fc9000
    IP: [<ffffffff8103d645>] prepare_elf64_ram_headers_callback+0x165/0x260

The bug is caused by us under-counting the number of memory ranges
and subsequently not allocating enough ELF header space for them.
The bug is typically masked on smaller systems, because the ELF header
allocation is rounded up to the next page.

This patch modifies the code in fill_up_crash_elf_data() by using
walk_system_ram_res() instead of walk_system_ram_range() to correctly
count the max number of crash memory ranges. That's because the
walk_system_ram_range() filters out small memory regions that
reside in the same page, but walk_system_ram_res() does not.

Here's how I found the bug:

After tracing prepare_elf64_headers() and prepare_elf64_ram_headers_callback(),
the code uses walk_system_ram_res() to fill-in crash memory regions information
to the program header, so it counts those small memory regions that
reside in a page area.

But, when the kernel was using walk_system_ram_range() in
fill_up_crash_elf_data() to count the number of crash memory regions,
it filters out small regions.

I printed those small memory regions, for example:

  kexec: Get nr_ram ranges. vaddr=0xffff880077592258 paddr=0x77592258, sz=0xdc0

Based on the code in walk_system_ram_range(), this memory region
will be filtered out:

  pfn = (0x77592258 + 0x1000 - 1) >> 12 = 0x77593
  end_pfn = (0x77592258 + 0xfc0 -1 + 1) >> 12 = 0x77593
  end_pfn - pfn = 0x77593 - 0x77593 = 0  <=== if (end_pfn > pfn) is FALSE

So, the max_nr_ranges that's counted by the kernel doesn't include
small memory regions - causing us to under-allocate the required space.
That causes the page fault crash that happens in a later code path
when preparing ELF headers.

This bug is not easy to reproduce on small machines that have few
CPUs, because the allocated page aligned ELF buffer has more free
space to cover those small memory regions' PT_LOAD headers.

Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Baoquan He <bhe@redhat.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: kexec@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/1443531537-29436-1-git-send-email-jlee@suse.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-10-02 09:13:06 +02:00
Kuninori Morimoto
5325f83aba ARM: shmobile: dts: Add common file for AA121TD01 panel
The Mitsubishi AA121TD01 panel is commonly used with the Marzen, Lager
and Koelsch boards. Create a .dtsi file that describe the panel and its
connection to the board.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-02 15:11:20 +09:00
Linus Torvalds
bde17b90dd Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton:
 "12 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  dmapool: fix overflow condition in pool_find_page()
  thermal: avoid division by zero in power allocator
  memcg: remove pcp_counter_lock
  kprobes: use _do_fork() in samples to make them work again
  drivers/input/joystick/Kconfig: zhenhua.c needs BITREVERSE
  memcg: make mem_cgroup_read_stat() unsigned
  memcg: fix dirty page migration
  dax: fix NULL pointer in __dax_pmd_fault()
  mm: hugetlbfs: skip shared VMAs when unmapping private pages to satisfy a fault
  mm/slab: fix unexpected index mapping result of kmalloc_size(INDEX_NODE+1)
  userfaultfd: remove kernel header include from uapi header
  arch/x86/include/asm/efi.h: fix build failure
2015-10-01 22:20:11 -04:00
Andrey Ryabinin
a523841ee4 arch/x86/include/asm/efi.h: fix build failure
With KMEMCHECK=y, KASAN=n:

  arch/x86/platform/efi/efi.c:673:3: error: implicit declaration of function `memcpy' [-Werror=implicit-function-declaration]
  arch/x86/platform/efi/efi_64.c:139:2: error: implicit declaration of function `memcpy' [-Werror=implicit-function-declaration]
  arch/x86/include/asm/desc.h:121:2: error: implicit declaration of function `memcpy' [-Werror=implicit-function-declaration]

Don't #undef memcpy if KASAN=n.

Fixes: 769a8089c1 ("x86, efi, kasan: #undef memset/memcpy/memmove per arch")
Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Reported-by: Ingo Molnar <mingo@kernel.org>
Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-10-01 21:42:35 -04:00
Sergei Shtylyov
45cb0bd77a ARM: shmobile: r8a7794: link PCI USB devices to USB PHY
Describe the PCI USB devices that are behind the PCI bridges, adding necessary
links to the USB PHY device.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-10-02 10:27:03 +09:00