openwrt/staging/blogic.git
9 years agoARM: sun5i: Add the Audio codec DT node
Maxime Ripard [Mon, 27 Jul 2015 14:50:21 +0000 (16:50 +0200)]
ARM: sun5i: Add the Audio codec DT node

The A13 and A10s also have the audio codec present. List it in the device
tree.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: sun4i: Add sunxi codec device node
Marcus Cooper [Tue, 22 Jul 2014 11:06:48 +0000 (13:06 +0200)]
ARM: sun4i: Add sunxi codec device node

The A10 SoC includes the Allwinner audio codec, capable of both 24-bit
playback and capture. This commit adds a device node for it.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: sun7i: Add audio codec clock
Maxime Ripard [Mon, 12 Oct 2015 20:28:46 +0000 (22:28 +0200)]
ARM: sun7i: Add audio codec clock

The audio codec functional clock is a child of PLL2 and is used to control
the audio rate, enable it in the DT.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: sun5i: Add audio codec clock
Maxime Ripard [Mon, 12 Oct 2015 20:28:46 +0000 (22:28 +0200)]
ARM: sun5i: Add audio codec clock

The audio codec functional clock is a child of PLL2 and is used to control
the audio rate, enable it in the DT.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: sun4i: Add audio codec clock
Maxime Ripard [Mon, 12 Oct 2015 20:28:46 +0000 (22:28 +0200)]
ARM: sun4i: Add audio codec clock

The audio codec functional clock is a child of PLL2 and is used to control
the audio rate, enable it in the DT.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: sun7i: Add audio PLL
Maxime Ripard [Mon, 12 Oct 2015 20:21:49 +0000 (22:21 +0200)]
ARM: sun7i: Add audio PLL

The A20 uses the PLL2 as the audio PLL, which is the parent of all the
other audio clocks in the system (i2s, codec, etc.). Add it to the DTSI.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: sun5i: Add audio PLL
Maxime Ripard [Mon, 12 Oct 2015 20:21:49 +0000 (22:21 +0200)]
ARM: sun5i: Add audio PLL

The A13 uses the PLL2 as the audio PLL, which is the parent of all the
other audio clocks in the system (i2s, codec, etc.). However, it has a
different divider configuration than the A10, hence the difference
compatible.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: sun4i: Add audio PLL
Maxime Ripard [Mon, 12 Oct 2015 20:21:49 +0000 (22:21 +0200)]
ARM: sun4i: Add audio PLL

The A10 uses the PLL2 as the audio PLL, which is the parent of all the
other audio clocks in the system (i2s, codec, etc.). Add it to the DTSI.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
9 years agoARM: dts: sun7i: Enable USB DRC on pcDuino v3 Nano
Adam Sampson [Sat, 17 Oct 2015 22:08:29 +0000 (23:08 +0100)]
ARM: dts: sun7i: Enable USB DRC on pcDuino v3 Nano

The OTG arrangement on the LinkSprite pcDuino v3 Nano is the same as the
pcDuino 1/2/3: the OTG port's 5V line is connected directly to the 5V
bus (it's not switchable), and the OTG port's ID pin is connected to PH4
on the A20.

Tested successfully in both host and device modes.

Signed-off-by: Adam Sampson <ats@offog.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: Add support for Sinlinx A31s SDK board
Chen-Yu Tsai [Sat, 17 Oct 2015 16:04:09 +0000 (00:04 +0800)]
ARM: dts: sun6i: Add support for Sinlinx A31s SDK board

The Sinlinx A31s SDK is a A31s based module/baseboard development kit.

The core module has the SoC, PMIC, DRAM, eMMC and supporting components.
There are also pads for UART0, JTAG and I2S.

The baseboard has 100 Mbps Ethernet, 5x USB 2.0 host ports via a USB 2.0
hub chip, MMC, HDMI, SPDIF, CIR, audio jacks, 2 tablet-like volume
buttons, RS232 style UART and USB OTG (though VBUS is not connected).
Various headers are available for other addon modules, such as SDIO
WiFi, LCD display, camera sensor, UARTs, I2C, SPI and GPIOs.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: Add a dts file for the Sinovoip BPI-M2 board
Hans de Goede [Thu, 15 Oct 2015 14:28:47 +0000 (16:28 +0200)]
ARM: dts: sun6i: Add a dts file for the Sinovoip BPI-M2 board

The Sinovoip BPI-M2 is a SBC board based on the A31s SoC it features
1G RAM, a microsd slot, Gbit ethernet, 4 usb-a USB-2 ports, ir receiver,
stereo headphone jack and hdmi video output.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: Add mmc2_pins_a pinmux setting to sun6i-a31.dtsi
Hans de Goede [Thu, 15 Oct 2015 14:28:46 +0000 (16:28 +0200)]
ARM: dts: sun6i: Add mmc2_pins_a pinmux setting to sun6i-a31.dtsi

Add a pinmux setting for using mmc2 in regular 4 bit mode.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sunxi: Fix interrupt-cells for [r]pio on A23/A31/A33/A80
Hans de Goede [Thu, 15 Oct 2015 14:28:45 +0000 (16:28 +0200)]
ARM: dts: sunxi: Fix interrupt-cells for [r]pio on A23/A31/A33/A80

When the gpio interrupt bindings where changed to add a bank to the
specifier list, the r_pio nodes of A23/A31/A33 where not updated to
match and neither was the pio node of the A80, this fixes this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun8i: Add NMI interrupt controller node
Chen-Yu Tsai [Wed, 14 Oct 2015 16:32:21 +0000 (00:32 +0800)]
ARM: dts: sun8i: Add NMI interrupt controller node

The NMI interrupt controller is in charge of the NMI pin exposed by
the SoC to the PMIC. The PMIC signals interrupts through this.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus"
Chen-Yu Tsai [Sat, 10 Oct 2015 14:48:59 +0000 (22:48 +0800)]
ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus"

The DC5LDO regulator supplies VDD-CPUS, which is for the embedded
controller in the A31 SoC.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators
Chen-Yu Tsai [Sat, 10 Oct 2015 14:48:58 +0000 (22:48 +0800)]
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>
9 years agoARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names
Chen-Yu Tsai [Sat, 10 Oct 2015 14:48:56 +0000 (22:48 +0800)]
ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names

The VDD-CPU and VDD-GPU regulators were incorrectly swapped.

Fixes: bab03561224ba ("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>
9 years agoARM: dts: sun7i: Add regulator configuration for pcDuino v3 Nano
Adam Sampson [Sat, 10 Oct 2015 20:15:21 +0000 (21:15 +0100)]
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>
9 years agoARM: dts: sun6i: Turn on gmac on Colombus
Hans de Goede [Tue, 13 Oct 2015 12:37:45 +0000 (14:37 +0200)]
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>
9 years agoARM: dts: sun8i: Make et-q8-v1.6.dts a symlink to q8-tablet.dts
Hans de Goede [Tue, 13 Oct 2015 12:35:48 +0000 (14:35 +0200)]
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>
9 years agoARM: dts: sun8i: Make ippo-q8h-v*.dts a symlink to q8-tablet.dts
Hans de Goede [Tue, 13 Oct 2015 12:35:47 +0000 (14:35 +0200)]
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>
9 years agoARM: dts: sun8i: Add sun8i-a23-q8-tablet.dts file
Hans de Goede [Tue, 13 Oct 2015 12:35:46 +0000 (14:35 +0200)]
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>
9 years agoARM: dts: sun5i: Add backlight node to sun5i-q8-common.dtsi
Hans de Goede [Sun, 11 Oct 2015 09:55:08 +0000 (11:55 +0200)]
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>
9 years agoARM: dts: sunxi: Enable PWM controller on Q8 format tablets
Chen-Yu Tsai [Sun, 11 Oct 2015 09:55:07 +0000 (11:55 +0200)]
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>
9 years agoARM: dts: sun5i: Add PWM channel 0 pinmux setting for A13/A10s
Hans de Goede [Sun, 11 Oct 2015 09:55:06 +0000 (11:55 +0200)]
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>
9 years agoARM: dts: sun5i: Add PWM controller node for A13 / A10s
Hans de Goede [Sun, 11 Oct 2015 09:55:05 +0000 (11:55 +0200)]
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>
9 years agoARM: sun5i: Add C.H.I.P DTS
Maxime Ripard [Tue, 9 Jun 2015 17:38:43 +0000 (19:38 +0200)]
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>
9 years agoARM: dts: sunxi: Add dtsi for AXP22x PMIC
Chen-Yu Tsai [Sat, 10 Oct 2015 14:48:57 +0000 (22:48 +0800)]
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>
9 years agoARM: dts: sun7i: Correct USB regulators on pcDuino v3 Nano
Adam Sampson [Sat, 10 Oct 2015 12:52:52 +0000 (13:52 +0100)]
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>
9 years agoARM: sun5i: dt: Add UART3 CTS and RTS pins
Maxime Ripard [Mon, 22 Jun 2015 10:00:30 +0000 (12:00 +0200)]
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>
9 years agoARM: sun5i: dt: Move uart3 pinctrl node to common DTSI
Maxime Ripard [Mon, 22 Jun 2015 09:56:09 +0000 (11:56 +0200)]
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>
9 years agoARM: sun5i: Add R8 DTSI
Maxime Ripard [Fri, 18 Sep 2015 07:09:34 +0000 (09:09 +0200)]
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>
9 years agoARM: dts: sun4i: Enable USB DRC on pcDuino1/2
Siarhei Siamashka [Fri, 9 Oct 2015 11:09:39 +0000 (14:09 +0300)]
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>
9 years agoARM: sun4i: dt: Add new LinkSprite pcDuino2 board
Siarhei Siamashka [Fri, 9 Oct 2015 11:09:38 +0000 (14:09 +0300)]
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>
9 years agoARM: dts: sun4i: Allow to use the PH6 pin for GPIO on pcDuino1/2
Siarhei Siamashka [Fri, 9 Oct 2015 11:09:37 +0000 (14:09 +0300)]
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>
9 years agoARM: dts: sun7i: Enable USB DRC on Bananapi
Hans de Goede [Tue, 22 Sep 2015 13:36:01 +0000 (15:36 +0200)]
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>
9 years agoARM: dts: sunxi: Add regulators for LeMaker BananaPi
Timo Sigurdsson [Wed, 7 Oct 2015 22:18:36 +0000 (00:18 +0200)]
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>
9 years agoARM: dts: sun6i: hummingbird: Drop AXP221 DC1SW and DC5LDO supplies
Chen-Yu Tsai [Wed, 30 Sep 2015 06:39:47 +0000 (14:39 +0800)]
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>
9 years agoARM: dts: sun8i: sinlinx-sina33: Enable Reduced Serial Bus controller
Chen-Yu Tsai [Thu, 1 Oct 2015 11:57:51 +0000 (19:57 +0800)]
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>
9 years agoARM: dts: sun8i: q8-common: Enable RSB controller for A23/A33 Q8 tablets
Chen-Yu Tsai [Thu, 1 Oct 2015 11:57:50 +0000 (19:57 +0800)]
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>
9 years agoARM: dts: sun8i: Add Reduced Serial Bus controller device node to A23/A33 dtsi
Chen-Yu Tsai [Thu, 1 Oct 2015 11:57:49 +0000 (19:57 +0800)]
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>
9 years agoARM: dts: sun4i: Add AXP209 PMU regulators for pcDuino1/2
Siarhei Siamashka [Sun, 4 Oct 2015 18:58:48 +0000 (21:58 +0300)]
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>
9 years agoARM: sun7i: dt: Add new Olimex A20 EVB device
Marcus Cooper [Wed, 30 Sep 2015 17:34:39 +0000 (19:34 +0200)]
ARM: sun7i: dt: Add new Olimex A20 EVB device

The A20-SOM-EVB is a reference design of a 2-layer board for the
A20-SOM.
It expands the features of A20-SOM by adding VGA connector, HDMI
connector, audio In/Out, LCD connector, 2 Mpix camera, gigabit
Ethernet, SATA, USB-OTG and 2 USB hosts.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: hummingbird: Add aliases for rtc devices
Chen-Yu Tsai [Thu, 1 Oct 2015 12:48:29 +0000 (20:48 +0800)]
ARM: dts: sun6i: hummingbird: Add aliases for rtc devices

The hummingbird A31 has 2 rtc devices available: one in the SoC,
and a pcf8563 external rtc on i2c2.

For some unknown reason, the onboard backup battery alone can not
supply enough power to the internal rtc. When external power is
removed, the internal rtc would reset. Hence we want to use the
external one by default.

Add aliases for the rtc devices with the external one as rtc0.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Add dts file for Wits Pro A20 DKT
Jelle de Jong [Tue, 22 Sep 2015 13:36:05 +0000 (15:36 +0200)]
ARM: dts: sun7i: Add dts file for Wits Pro A20 DKT

The Wits Pro A20 DKT is an A20 Development KiT with 1G RAM, 4G NAND,
sdio wifi, 1Gbit ethernet, 1024x768 lcd screen with ft5x_ts touchscreen
and a ton of IO connectors.

Note there seem to be multiple sdcard slots on the board (4 in total), but
other then mmc0 none of these are hooked up by default, there is a ton of
dip-switches which likely allow hooking some of these up, but the
documentation of the board only describes the use of a fraction of them,
so for now we only support mmc0.

Signed-off-by: Jelle de Jong <jelledejong@powercraft.nl>
[hdegoede@redhat.com: Use pwrseq instead of a regulator for the wifi-en pin]
[hdegoede@redhat.com: Add support for OOB irq for the sdio wifi]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Enable USB DRC on Wexler TAB7200
Aleksei Mamlin [Tue, 22 Sep 2015 13:36:04 +0000 (15:36 +0200)]
ARM: dts: sun7i: Enable USB DRC on Wexler TAB7200

Enable the otg/drc usb controller on the Wexler TAB7200 tablet.

Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Enable USB DRC on the Orange pi
Reinder de Haan [Tue, 22 Sep 2015 13:36:03 +0000 (15:36 +0200)]
ARM: dts: sun7i: Enable USB DRC on the Orange pi

Add usb otg support for Orange pi, based on Orange pi mini.

Signed-off-by: Reinder de Haan <patchesrdh@mveas.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Enable USB DRC on orangepi-mini
Hans de Goede [Tue, 22 Sep 2015 13:36:02 +0000 (15:36 +0200)]
ARM: dts: sun7i: Enable USB DRC on orangepi-mini

Enable the otg/drc usb controller on the orangepi-mini.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: axp209: Add usb_power_supply child node to the ax209 node
Hans de Goede [Tue, 22 Sep 2015 13:36:00 +0000 (15:36 +0200)]
ARM: dts: axp209: Add usb_power_supply child node to the ax209 node

Add a node representing the usb power supply part of the axp209 pmic, note
that the usb power supply and the (to be added later) ac power supply will
each have their own child-node, so that they can be separately specified
as power-supply for other nodes using a power-supply property with a
phandle pointing to the right axp209 child-node.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun8i: Make ippo-q8h-v1.2.dts a symlink to q8-tablet.dts
Hans de Goede [Thu, 24 Sep 2015 15:23:54 +0000 (17:23 +0200)]
ARM: dts: sun8i: Make ippo-q8h-v1.2.dts a symlink to q8-tablet.dts

A33 Q8 tablets with the ippo-q8h-v1.2 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-v1.2.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>
9 years agoARM: dts: sun8i: Add sun8i-a33-q8-tablet.dts file
Hans de Goede [Thu, 24 Sep 2015 15:23:53 +0000 (17:23 +0200)]
ARM: dts: sun8i: Add sun8i-a33-q8-tablet.dts file

This is a generic dts file for A33 based q8 formfactor tablets,
this is intended to replace both sun8i-a33-ippo-q8h-v1.2.dts and
sun8i-a33-et-q8-v1.6.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>
9 years agoARM: dts: sun6i: Add support for Yones Toptech bs1078v2 tablets
Lawrence Yu [Tue, 22 Sep 2015 15:50:50 +0000 (08:50 -0700)]
ARM: dts: sun6i: Add support for Yones Toptech bs1078v2 tablets

The bs1078v2 is a pcb found in 10.1" tablets with an A31 soc, 1G RAM
and 8G NAND, rtl8723as usb wifi, 1 micro USB OTG port, 1 USB HOST port

This commit adds a dts for v2 of the bs1078 pcb.

Signed-off-by: Lawrence Yu <lyu@micile.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: Enable USB DRC on the Marsboard A10
Aleksei Mamlin [Thu, 24 Sep 2015 07:33:46 +0000 (10:33 +0300)]
ARM: dts: sun4i: Enable USB DRC on the Marsboard A10

Enable the otg/drc usb controller on the Marsboard A10.
Similar to Cubieboard, the 5V of the otg is directly connected to the
general 5V, so we only use the id pin.

Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: gemei-g9: Add accelerometer (bma250) IRQ
Priit Laes [Wed, 23 Sep 2015 07:38:31 +0000 (10:38 +0300)]
ARM: dts: sun4i: gemei-g9: Add accelerometer (bma250) IRQ

Add IRQ configuration for bma250 accelerometer.

Signed-off-by: Priit Laes <plaes@plaes.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun8i-a33: Add security system crypto engine clock and device nodes
Chen-Yu Tsai [Wed, 23 Sep 2015 04:34:39 +0000 (12:34 +0800)]
ARM: dts: sun8i-a33: Add security system crypto engine clock and device nodes

A33 has the same "Security System" crypto engine as A10/A20, but with a
separate reset control.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun8i: Add pwm-backlight device for A23/A33 Q8 format tablets
Chen-Yu Tsai [Sun, 20 Sep 2015 12:30:50 +0000 (08:30 -0400)]
ARM: dts: sun8i: Add pwm-backlight device for A23/A33 Q8 format tablets

The LCD backlight on the A23/A33 Q8 format tablets is enabled
with a GPIO controlled regulator, and brightness controlled with
the SoC's PWM controller.

The backlight is powered from the AXP223 PMIC's DC1SW output,
which is not supported yet. A proper bootloader is required
to enable it.

The brightness levels are arbitrary. The FEX files do not have
such information. As such, actual brightness levels may differ
from device to device.

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>
9 years agoARM: sun8i: A23: Add missing msgbox gate
Maxime Ripard [Tue, 18 Aug 2015 17:36:18 +0000 (19:36 +0200)]
ARM: sun8i: A23: Add missing msgbox gate

Even though it's not mentionned in the A23 user manual, the A23 has a gate
for the AHB1 clock to the msgbox IP. Add it to the clock-indices.

Reported-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: sun8i: Move A23 AHB1 gates out of common DTSI
Maxime Ripard [Tue, 18 Aug 2015 17:34:06 +0000 (19:34 +0200)]
ARM: sun8i: Move A23 AHB1 gates out of common DTSI

The AHB1 gates were assumed to be identical between the A23 and the A33,
which turned out to be wrong. Move the A23 gates definition to the A23
DTSI.

Reported-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: sun8i: Add the A33 AHB1 gates clock driver
Maxime Ripard [Tue, 18 Aug 2015 17:32:56 +0000 (19:32 +0200)]
ARM: sun8i: Add the A33 AHB1 gates clock driver

The A33 has a different gates array than the A23, add the node to the DT.

Reported-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun5i: Add dts file for q8 formfactor a13 based tablets
Hans de Goede [Sat, 5 Sep 2015 14:55:53 +0000 (16:55 +0200)]
ARM: dts: sun5i: Add dts file for q8 formfactor a13 based tablets

This commits adds a generic dts file for q8 formfactor a13 based tablets.

The tablets ship in many variants, with the difference mainly being the
touchscreen controller / accelerometer / wifi chip used.

The wifi is USB based, and thus not listed in devicetree.

The touchscreen controller / accelerometer may turn out to be a problem
once we add support for those. We can either do something with devicetree
overlays, or add sun5i-a13-<touchscreen>-<accelerometer>.dts files. The
latter is what the android mod community is doing with firmware images.

This dts was tested with an a13 q8 tablet with a pcb labelled: "94V-0",
silead gsl1680 touchscreen controller and a mc32x0 accelerometer.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun5i: Add sun5i-q8-common.dtsi
Hans de Goede [Sat, 5 Sep 2015 14:55:52 +0000 (16:55 +0200)]
ARM: dts: sun5i: Add sun5i-q8-common.dtsi

This is the sun5i / a13 version of sun8i-q8-common.dtsi for use in dts
files for a13 q8 based tablets. Compared to sun8i this uses uart1 for the
serial console, and PG0 for card-detect for mmc0.

This also adds pmic and otg support, which both use the same config on
all known q8 a13 devices. This is not present in sun5i-q8-common.dtsi
because pmic / otg support for sun8i has not yet been merged.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun8i: Add PWM channel 0 pinmux setting for A23/A33
Chen-Yu Tsai [Fri, 18 Sep 2015 07:35:37 +0000 (15:35 +0800)]
ARM: dts: sun8i: Add PWM channel 0 pinmux setting for A23/A33

The PWM controller has 2 outputs, with one usable pin for each.

Add a pinmux setting for the first channel. This is often used
for backlight dimming on tablets.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun8i: Add PWM controller node for A23/A33
Chen-Yu Tsai [Fri, 18 Sep 2015 07:35:36 +0000 (15:35 +0800)]
ARM: dts: sun8i: Add PWM controller node for A23/A33

A23/A33 have a PWM controller that is compatible to the one on the A20.
Add a device node for it.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Add keypad clk node
Yassin Jaffer [Tue, 15 Sep 2015 14:05:54 +0000 (00:05 +1000)]
ARM: dts: sun7i: Add keypad clk node

This patch add support to the keypad clock on sun7i

Signed-off-by: Yassin Jaffer <yassinjaffer@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: Add accelerometer on Columbus A31
Sander Vermin [Sun, 13 Sep 2015 18:26:01 +0000 (20:26 +0200)]
ARM: dts: sun6i: Add accelerometer on Columbus A31

Add mma8452 accelerometer to sun6i-a31-colombus.dts.

Signed-off-by: Sander Vermin <sander@vermin.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun5i: Add dts file for the Wobo i5 top set box
Jelle van der Waa [Thu, 10 Sep 2015 13:05:59 +0000 (15:05 +0200)]
ARM: dts: sun5i: Add dts file for the Wobo i5 top set box

The Wobo i5 top set box is a somewhat curious A10s based top set box,
it uses an AXP209 rather then the AXP152 usually used in combination
with the A10s. It has an ethernet phy connected to PORTD rather then
PORTA, and its built-in usb wifi is connected via the otg controller.

This commit adds a dts file adding support for this top set box.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun5i: Add emac_pins_b definition
Jelle van der Waa [Thu, 10 Sep 2015 13:05:58 +0000 (15:05 +0200)]
ARM: dts: sun5i: Add emac_pins_b definition

The emac pins on an A10s can also be routed to the outside through
PORTD rather then through PORTA, add a pinctrl node for this.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agodts: sunxi: add eeprom to A20 OLinuXino micro board
Olliver Schinagl [Thu, 10 Sep 2015 08:31:21 +0000 (10:31 +0200)]
dts: sunxi: add eeprom to A20 OLinuXino micro board

The Olimex A20 OLinuXino Micro features an eeprom that is always on the
board. This patch adds it to the dts.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agodts: sunxi: add eeprom to A20 OLinuXino Lime2 board
Olliver Schinagl [Thu, 10 Sep 2015 08:31:20 +0000 (10:31 +0200)]
dts: sunxi: add eeprom to A20 OLinuXino Lime2 board

The Olimex A20 OLinuXino Lime2 features an eeprom that is always on the
board. This patch adds it to the dts.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agodts: sunxi: add eeprom to A20 OLinuXino Lime board
Olliver Schinagl [Thu, 10 Sep 2015 08:31:19 +0000 (10:31 +0200)]
dts: sunxi: add eeprom to A20 OLinuXino Lime board

The Olimex A20 OLinuXino Lime features an eeprom that is always on the
board. This patch adds it to the dts.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agodts: sunxi: correct vendor prefix on OLinuXino a10s micro
Olliver Schinagl [Thu, 10 Sep 2015 08:31:18 +0000 (10:31 +0200)]
dts: sunxi: correct vendor prefix on OLinuXino a10s micro

The OLinuXino A10S micro features an eeprom. According to the eeprom.txt
binding document, we should use the manufacturer and 'at' is not the
proper manufacturer id according to the vendor-prefixes.

This patch takes the proper vendor-prefix and uses it for the eeprom
node.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agodts: sunxi: add eeprom to A10 OLinuXino Lime board
Olliver Schinagl [Thu, 10 Sep 2015 08:31:17 +0000 (10:31 +0200)]
dts: sunxi: add eeprom to A10 OLinuXino Lime board

The Olimex A10 OLinuXino Lime features an eeprom that is always on the
board. This patch adds it to the dts.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: Add dts file for iNet-1 based tablets
Hans de Goede [Wed, 9 Sep 2015 08:23:24 +0000 (10:23 +0200)]
ARM: dts: sun4i: Add dts file for iNet-1 based tablets

The iNet-tek iNet-1 PCB is a PCB found in various generic 10.1" 1024x600
A10 based tablets such as the Point of View Protab2 XXL and the
Cherry M1007.

This patch has been tested on both rev2 and rev5 of this board / these
tablets.

It comes with a rtl8188cus usb wifi connected to ehci1, focal ft5406ee8
touchscreen connected to i2c2 addr 0x38, bosch bma 250 accelerometer
connected to i2c1 addr 0x18 and the usual connectors: headphone,
mini hdmi, power-barrel, mini-usb and a micro-sd slot.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: Add dts file inet9f-rev03 based tablets
Hans de Goede [Wed, 9 Sep 2015 08:23:23 +0000 (10:23 +0200)]
ARM: dts: sun4i: Add dts file inet9f-rev03 based tablets

The inet9f-rev03 pcb is specially designed for gaming tablets, such as
the qware tb-g100 tablet.

These 7" tablets feature a dpad, firebuttons and 2 joysticks on the sides
of the screen.

Besides this they have the usual connectors: power-barrel, mini usb,
mini hdmi, headphone and micro-sd slot.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sunxi: Add sun?i-q8-common.dtsi files for q8 tablets
Hans de Goede [Sat, 5 Sep 2015 14:55:51 +0000 (16:55 +0200)]
ARM: dts: sunxi: Add sun?i-q8-common.dtsi files for q8 tablets

Cheap allwinner based devices in the q8 enclosure come in many variants,
all sharing the case and a number of other basic features.

They differ in the display, touchscreen, accelerometer and wifi chips
used.

This commit adds 2 dtsi files defining the shared features of all the
q8 tablets. sunxi-q8-common.dtsi defines features shared amongst all
q8 tablets, sun8i-q8-common.dtsi defines features shared amongst all
a23 / a33 based q8 tablets, but not with a13 q8 based tablets.

a13 based tablets use a different card-detect pin for the mmc, and
use uart1 instead of the r_uart for the serial console.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun5i: Add dts file for inet98v_rev2 based tablets
Hans de Goede [Fri, 28 Aug 2015 13:15:17 +0000 (15:15 +0200)]
ARM: dts: sun5i: Add dts file for inet98v_rev2 based tablets

The inet98v_rev2 is a pcb used in generic A13 based tablets. It features
volume buttons, a power barrel, micro-usb otg, headphone connector and
a power button.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: Add mmc2 pins for 8 bit emmc
Chen-Yu Tsai [Fri, 28 Aug 2015 09:54:37 +0000 (17:54 +0800)]
ARM: dts: sun6i: Add mmc2 pins for 8 bit emmc

This also includes the reset pin for emmc.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: Add lradc node
Chen-Yu Tsai [Fri, 28 Aug 2015 09:54:34 +0000 (17:54 +0800)]
ARM: dts: sun6i: Add lradc node

sun6i also has the LRADC for tablet buttons.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: inet97fv2: Enable i2c1 and i2c2 controllers
Hans de Goede [Sun, 23 Aug 2015 22:37:26 +0000 (00:37 +0200)]
ARM: dts: sun4i: inet97fv2: Enable i2c1 and i2c2 controllers

Enable i2c1 and i2c2 controllers, these are used for the touchscreen resp.
the accelerometer.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: inet97fv2: Enable support for tablet keys
Hans de Goede [Sun, 23 Aug 2015 22:37:25 +0000 (00:37 +0200)]
ARM: dts: sun4i: inet97fv2: Enable support for tablet keys

Enable support for the tablet keys which are connected via the lradc.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: inet97fv2: Enable otg controller
Hans de Goede [Sun, 23 Aug 2015 22:37:24 +0000 (00:37 +0200)]
ARM: dts: sun4i: inet97fv2: Enable otg controller

Enable the otg controller on the inet97fv2 tablet.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: inet97fv2: Add regulator nodes
Hans de Goede [Sun, 23 Aug 2015 22:37:23 +0000 (00:37 +0200)]
ARM: dts: sun4i: inet97fv2: Add regulator nodes

Use axp209.dtsi and add regulator nodes for the regulators used on the
inet97fv2 tablet.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: inet97fv2: Disable unused usb controllers
Hans de Goede [Sun, 23 Aug 2015 22:37:22 +0000 (00:37 +0200)]
ARM: dts: sun4i: inet97fv2: Disable unused usb controllers

The inet97fv2 tablet only has a usb-2 wifi device connected to the second
ehci controller, disable the first ehci controller and both ohci
controllers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun5i: Add support for the Auxtek-T003 HDMI stick
Hans de Goede [Fri, 7 Aug 2015 15:22:33 +0000 (17:22 +0200)]
ARM: dts: sun5i: Add support for the Auxtek-T003 HDMI stick

The Auxtek-T003 HDMI stick is an A10s based HDMI stick with USB wifi,
and composite video out support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: hummingbird: Add missing pinmux setting for gmac phy reset
Chen-Yu Tsai [Wed, 19 Aug 2015 08:57:22 +0000 (16:57 +0800)]
ARM: dts: sun6i: hummingbird: Add missing pinmux setting for gmac phy reset

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Enable USB DRC on cubieboard2
Ralph Benadski [Fri, 14 Aug 2015 14:44:36 +0000 (16:44 +0200)]
ARM: dts: sun7i: Enable USB DRC on cubieboard2

Enable the otg/drc usb controller on the cubieboard2.

Note this board has the otg-vbus connected directly to the 5v-dcc of
the board, so there is no vbus0 regulator, nor vbus0-det.

Signed-off-by: Ralph Benadski <benadski@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Enable USB DRC on pcDuino 3
Jelle van der Waa [Fri, 14 Aug 2015 14:44:35 +0000 (16:44 +0200)]
ARM: dts: sun7i: Enable USB DRC on pcDuino 3

Enable the otg/drc usb controller on the pcDuino 3.

Note this board has the otg-vbus connected directly to the 5v-dcc of
the board, so there is no vbus0 regulator, nor vbus0-det.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun8i: Add support for qt90h-v4 tablets
Hans de Goede [Fri, 14 Aug 2015 14:44:37 +0000 (16:44 +0200)]
ARM: dts: sun8i: Add support for qt90h-v4 tablets

The gt90h is a pcb found in generic 9" tablets with an A23 soc, 1G RAM
and 8G nand, rtl8723as usb wifi, 1 micro usb port and 1 micro sd slot.

This commit adds a dts for v4 of the gt90h pcb.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun7i: Add regulator configuration to the pcduino3 dts file
Jelle van der Waa [Fri, 14 Aug 2015 14:44:34 +0000 (16:44 +0200)]
ARM: dts: sun7i: Add regulator configuration to the pcduino3 dts file

Add regulator configuration to the pcduino3 dts file.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[Maxime: Removed usb_power_supply node that isn't defined in the DTSI]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun5i: Add simplefb node for tvencoder output
Hans de Goede [Fri, 14 Aug 2015 14:44:32 +0000 (16:44 +0200)]
ARM: dts: sun5i: Add simplefb node for tvencoder output

Add a simplefb node for tvencoder / composite-video output, such as found
on the Auxtek-T003 and the CHIP.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun6i: Columbus: Add i2c controller for communicating with the LCD
Hans de Goede [Fri, 7 Aug 2015 15:22:35 +0000 (17:22 +0200)]
ARM: dts: sun6i: Columbus: Add i2c controller for communicating with the LCD

The Colombus development kit uses an optional 2048x1536 edp panel using
an anx9804 parallel lcd to edp converter. The anx9804 chip is controlled
via an i2c bus which is connected to 2 regular gpio pins.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sunxi: enable otg port on the sun7i-a20-olinuxino-lime2
Olliver Schinagl [Sun, 9 Aug 2015 18:22:58 +0000 (20:22 +0200)]
ARM: dts: sunxi: enable otg port on the sun7i-a20-olinuxino-lime2

This patch enables the musb-otg USB controller on the Lime2. The Lime2
differs from the Lime1 series in pins used for usb0 power.

Tested on a OlinuXino Lime2-4GB.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: Enable i2c1 and i2c2 on the Chuwi V7-CW0825 tablet
Hans de Goede [Sat, 8 Aug 2015 15:38:54 +0000 (17:38 +0200)]
ARM: dts: sun4i: Enable i2c1 and i2c2 on the Chuwi V7-CW0825 tablet

i2c1 has a freescale mma7660 accelerometer connected to it at addr 0x4c,
i2c2 has a ft5x touchscreen connected to it at addr 0x38.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sun4i: Enable otg in host only mode on Jesurun Q5
Hans de Goede [Tue, 4 Aug 2015 21:30:09 +0000 (23:30 +0200)]
ARM: dts: sun4i: Enable otg in host only mode on Jesurun Q5

The Jesurun Q5 has the musb hooked up to an usb-a receptacle, enable it
in host-only mode.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: Fix Makefile target for sun4i-a10-itead-iteaduino-plus
Josh Boyer [Fri, 4 Sep 2015 12:49:34 +0000 (08:49 -0400)]
ARM: dts: Fix Makefile target for sun4i-a10-itead-iteaduino-plus

Commit 79ae3e66f8d (ARM: dts: sun4i: Add Iteaduino Plus A10) added a new
make target for the sun4i-a10-itead-iteaduino-plus dts file, but mistakenly
used .dts instead of the correct .dtb suffix.  This resulted in a build error
like:

        scripts/Makefile.dtbinst:42: target 'sun4i-a10-itead-iteaduino-plus.dts' doesn't match the target pattern

when doing a make dtbs_install.

Fix it to use the proper file name.

Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoARM: dts: sunxi: Raise minimum CPU voltage for sun7i-a20 to meet SoC specifications
Timo Sigurdsson [Tue, 4 Aug 2015 21:08:01 +0000 (23:08 +0200)]
ARM: dts: sunxi: Raise minimum CPU voltage for sun7i-a20 to meet SoC specifications

sun7i-a20.dtsi contains a cpufreq operating point at 0.9 volts. The minimum
CPU voltage for the Allwinner A20 SoC, however, is 1.0 volts. Thus, raise
the voltage for the lowest operating point to 1.0 volts in order to stay
within the SoC specifications. It is an undervolted setting that isn't
stable across all SoCs and boards out there.

Cc: <stable@vger.kernel.org> # v4.0+
Fixes: d96b7161916f ("ARM: dts: sun7i: Add cpu clock reference and operating points to dtsi")
Signed-off-by: Timo Sigurdsson <public_timo.s@silentcreek.de>
Acked-by: Iain Paton <ipaton0@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoLinux 4.3-rc1
Linus Torvalds [Sat, 12 Sep 2015 23:35:56 +0000 (16:35 -0700)]
Linux 4.3-rc1

9 years agoMerge tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
Linus Torvalds [Sat, 12 Sep 2015 19:24:29 +0000 (12:24 -0700)]
Merge tag 'cris-for-4.3' of git://git./linux/kernel/git/jesper/cris

Pull CRIS updates from Jesper Nilsson:
 "Mostly removal of old cruft of which we can use a generic version, or
  fixes for code not commonly run in the cris port, but also additions
  to enable some good debug"

* tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: (25 commits)
  CRISv10: delete unused lib/dmacopy.c
  CRISv10: delete unused lib/old_checksum.c
  CRIS: fix switch_mm() lockdep splat
  CRISv32: enable LOCKDEP_SUPPORT
  CRIS: add STACKTRACE_SUPPORT
  CRISv32: annotate irq enable in idle loop
  CRISv32: add support for irqflags tracing
  CRIS: UAPI: use generic types.h
  CRIS: UAPI: use generic shmbuf.h
  CRIS: UAPI: use generic msgbuf.h
  CRIS: UAPI: use generic socket.h
  CRIS: UAPI: use generic sembuf.h
  CRIS: UAPI: use generic sockios.h
  CRIS: UAPI: use generic auxvec.h
  CRIS: UAPI: use generic headers via Kbuild
  CRIS: UAPI: fix elf.h export
  CRIS: don't make asm/elf.h depend on asm/user.h
  CRIS: UAPI: fix ptrace.h
  CRISv32: Squash compile warnings for axisflashmap
  CRISv32: Add GPIO driver to the default configs
  ...

9 years agoblk: rq_data_dir() should not return a boolean
Linus Torvalds [Wed, 27 May 2015 22:32:15 +0000 (15:32 -0700)]
blk: rq_data_dir() should not return a boolean

rq_data_dir() returns either READ or WRITE (0 == READ, 1 == WRITE), not
a boolean value.

Now, admittedly the "!= 0" doesn't really change the value (0 stays as
zero, 1 stays as one), but it's not only redundant, it confuses gcc, and
causes gcc to warn about the construct

    switch (rq_data_dir(req)) {
        case READ:
            ...
        case WRITE:
            ...

that we have in a few drivers.

Now, the gcc warning is silly and stupid (it seems to warn not about the
switch value having a different type from the case statements, but about
_any_ boolean switch value), but in this case the code itself is silly
and stupid too, so let's just change it, and get rid of warnings like
this:

  drivers/block/hd.c: In function ‘hd_request’:
  drivers/block/hd.c:630:11: warning: switch condition has boolean value [-Wswitch-bool]
     switch (rq_data_dir(req)) {

The odd '!= 0' came in when "cmd_flags" got turned into a "u64" in
commit 5953316dbf90 ("block: make rq->cmd_flags be 64-bit") and is
presumably because the old code (that just did a logical 'and' with 1)
would then end up making the type of rq_data_dir() be u64 too.

But if we want to retain the old regular integer type, let's just cast
the result to 'int' rather than use that rather odd '!= 0'.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agoMerge branch 'writeback-plugging'
Linus Torvalds [Sat, 12 Sep 2015 18:19:01 +0000 (11:19 -0700)]
Merge branch 'writeback-plugging'

Fix up the writeback plugging introduced in commit d353d7587d02
("writeback: plug writeback at a high level") that then caused problems
due to the unplug happening with a spinlock held.

* writeback-plugging:
  writeback: plug writeback in wb_writeback() and writeback_inodes_wb()
  Revert "writeback: plug writeback at a high level"