[linux-sunxi] Re: [PATCH v6 0/7] mfd: AXP20x: Add support for AXP202 and AXP209

2014-05-21 Thread Carlo Caione
On Wed, May 21, 2014 at 12:23 AM, Mark Brown broo...@kernel.org wrote:
 On Mon, May 19, 2014 at 09:47:41PM +0200, Carlo Caione wrote:

 This set of patches introduces the core driver and support for two different
 subsystems:
   - Regulators

  .../ABI/testing/sysfs-driver-input-axp-pek |  11 +
  Documentation/devicetree/bindings/mfd/axp20x.txt   |  93 +++
  .../devicetree/bindings/vendor-prefixes.txt|   1 +
  arch/arm/configs/multi_v7_defconfig|   3 +
  arch/arm/configs/sunxi_defconfig   |   4 +
  drivers/input/misc/Kconfig |  11 +
  drivers/input/misc/Makefile|   1 +
  drivers/input/misc/axp20x-pek.c| 281 
 +
  drivers/mfd/Kconfig|  12 +
  drivers/mfd/Makefile   |   1 +
  drivers/mfd/axp20x.c   | 258 +++
  include/linux/mfd/axp20x.h | 180 +
  12 files changed, 856 insertions(+)

 The regulator changes don't appear to be showing up in the diffstat or
 obviously in the series?

Right. Cut-and-paste error.
You have already applied the regulator patches so I didn't include
them here (in theory I posted this series to be picked up by Lee).

Thanks,

-- 
Carlo Caione

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH v7] DMA: sun6i: Add driver for the Allwinner A31 DMA controller

2014-05-21 Thread Maxime Ripard
On Wed, May 21, 2014 at 11:01:05AM +0530, Vinod Koul wrote:
 On Tue, May 13, 2014 at 03:42:58PM +0200, Maxime Ripard wrote:
  Hi Vinod,
  
  On Wed, Apr 30, 2014 at 12:34:08PM +0530, Vinod Koul wrote:
+
+static int sun6i_dma_terminate_all(struct sun6i_vchan *vchan)
+{
+   struct sun6i_dma_dev *sdev = 
to_sun6i_dma_dev(vchan-vc.chan.device);
+   struct sun6i_pchan *pchan = vchan-phy;
+   unsigned long flags;
+   LIST_HEAD(head);
+
+   spin_lock(sdev-lock);
+   list_del_init(vchan-node);
+   spin_unlock(sdev-lock);
+
+   spin_lock_irqsave(vchan-vc.lock, flags);
+
+   vchan_get_all_descriptors(vchan-vc, head);
+
+   if (pchan) {
+   writel(DMA_CHAN_ENABLE_STOP, pchan-base + 
DMA_CHAN_ENABLE);
+   writel(DMA_CHAN_PAUSE_RESUME, pchan-base + 
DMA_CHAN_PAUSE);
+
+   vchan-phy = NULL;
+   pchan-vchan = NULL;
+   pchan-desc = NULL;
+   pchan-done = NULL;
+   }
+
+   spin_unlock_irqrestore(vchan-vc.lock, flags);
+
+   vchan_dma_desc_free_list(vchan-vc, head);
   
   shouldn't you kill the tasklet as well here?
  
  Just to be clear, which tasklet? vchan's or the driver's?
 You need to take care of both. But I suspect if we ensure irq is not triggered
 and any pending ones are completed you can simply kill both of the tasklets
 happily. See the fixes merged in dmaengine last cycle (hint: patchlog shows 
 what
 we need to do)

I still don't get why I should kill the driver tasklet in terminate_all.

The tasklet is common to all the channels, if you kill it, you'll
prevent it from scheduling while other channels might have had a need
for it to actually run.

About the commits themselves, I guess you talk about 9068b032 and
ccc7aad0. Both these commits only fix the remove path, not the
terminate_all one, and both these drivers are not doing anything
related to the tasklet in terminate_all.

 Btw just noticed, you *should* use dmaengine: as the subsytem name on the 
 patch
 series...

Ok, I will.

Thanks,
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


signature.asc
Description: Digital signature


[linux-sunxi] Re: [PATCH v6 0/7] mfd: AXP20x: Add support for AXP202 and AXP209

2014-05-21 Thread Lee Jones
  This set of patches introduces the core driver and support for two 
  different
  subsystems:
- Regulators
 
   .../ABI/testing/sysfs-driver-input-axp-pek |  11 +
   Documentation/devicetree/bindings/mfd/axp20x.txt   |  93 +++
   .../devicetree/bindings/vendor-prefixes.txt|   1 +
   arch/arm/configs/multi_v7_defconfig|   3 +
   arch/arm/configs/sunxi_defconfig   |   4 +
   drivers/input/misc/Kconfig |  11 +
   drivers/input/misc/Makefile|   1 +
   drivers/input/misc/axp20x-pek.c| 281 
  +
   drivers/mfd/Kconfig|  12 +
   drivers/mfd/Makefile   |   1 +
   drivers/mfd/axp20x.c   | 258 
  +++
   include/linux/mfd/axp20x.h | 180 +
   12 files changed, 856 insertions(+)
 
  The regulator changes don't appear to be showing up in the diffstat or
  obviously in the series?
 
 Right. Cut-and-paste error.
 You have already applied the regulator patches so I didn't include
 them here (in theory I posted this series to be picked up by Lee).

That's fine.  Just tell me which patches need to stay together and
which are able to be applied through their respective subsystem trees
separately.  Then, once I have all the Acks I can apply no problem.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH v8 0/2] Add support for the Allwinner A31 DMA Controller

2014-05-21 Thread Arnd Bergmann
On Wednesday 21 May 2014 17:55:51 Maxime Ripard wrote:
 On Wed, May 21, 2014 at 05:23:41PM +0200, Arnd Bergmann wrote:
  On Wednesday 21 May 2014 17:15:54 Maxime Ripard wrote:
   Changes from v7:
 - select DMA_OF, since we're only relying on DT
   
  
  I missed the discussion about this issue, but it seems wrong to me.
  DMA_OF is currently enabled if we have both DMAENGINE and OF turned on.
  
  If OF is disabled but DMA_OF gets selected by DMA_SUN6I, what happens?
 
 Is that even possible with a multiplatform-based platform?

It's not possible for ARCH_SUNXI or any other that depends on
ARCH_MULTIPLATFORM. I just noticed that you have 'depends on ARCH_SUNXI',
so the 'select DMA_OF' statement is just redundant, not wrong.

However, if the driver was 'depends on ARCH_SUNXI || COMPILE_TEST' as many
others are nowadays, it would be a bug.

Arnd

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



[linux-sunxi] [PATCH 1/2] ARM: dts: sun7i: cubietruck: set mmc3 bus-width property

2014-05-21 Thread Hans de Goede
bus-width defaults to 1, and all 4 lines are hooked up at the cubietruck,
properly set bus-width to 4.

Signed-off-by: Hans de Goede hdego...@redhat.com
---
 arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts 
b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
index 765191d..70271f6 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -34,6 +34,7 @@
pinctrl-names = default;
pinctrl-0 = mmc3_pins_a;
vmmc-supply = reg_vmmc3;
+   bus-width = 4;
non-removable;
status = okay;
};
-- 
1.9.0

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] [PATCH 2/2] ARM: dts: sun7i: Add new i12-tvbox board

2014-05-21 Thread Hans de Goede
The i12 tvbox is an A20 based android tvbox, with 512M / 1G RAM, 4G nand flash,
ap6210 or ap6330 sdio wifi + bt (broadcom sdio wifi + uart attached brcm bt),
2USB host ports using USB-A receptacles and a micro-usb receptacle for USB OTG,
and 100Mbit ethernet using an IP101a phy.

The PCB is labelled i12-a20 hence I've named the board i12-a20. It is used
in noname allwinner A20 tv-boxes, which are sometimes sold with Q5 or
QT840A as product name.

Signed-off-by: Hans de Goede hdego...@redhat.com
---
 arch/arm/boot/dts/Makefile|   1 +
 arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts | 176 ++
 2 files changed, 177 insertions(+)
 create mode 100644 arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 1d9c50d..b40be4e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -349,6 +349,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
sun6i-a31-m9.dtb \
sun7i-a20-cubieboard2.dtb \
sun7i-a20-cubietruck.dtb \
+   sun7i-a20-i12-tvbox.dtb \
sun7i-a20-olinuxino-micro.dtb
 dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
tegra20-iris-512.dtb \
diff --git a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts 
b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
new file mode 100644
index 000..b77308e
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2014 Hans de Goede hdego...@redhat.com
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ sun7i-a20.dtsi
+/include/ sunxi-common-regulators.dtsi
+
+/ {
+   model = I12 / Q5 / QT840A A20 tvbox;
+   compatible = allwinner,i12-tvbox, allwinner,sun7i-a20;
+
+   soc@01c0 {
+   mmc0: mmc@01c0f000 {
+   pinctrl-names = default;
+   pinctrl-0 = mmc0_pins_a, 
mmc0_cd_pin_reference_design;
+   vmmc-supply = reg_vcc3v3;
+   bus-width = 4;
+   cd-gpios = pio 7 1 0; /* PH1 */
+   cd-inverted;
+   status = okay;
+   };
+
+   mmc3: mmc@01c12000 {
+   pinctrl-names = default;
+   pinctrl-0 = mmc3_pins_a;
+   vmmc-supply = reg_vmmc3;
+   bus-width = 4;
+   non-removable;
+   status = okay;
+   };
+
+   usbphy: phy@01c13400 {
+   usb1_vbus-supply = reg_usb1_vbus;
+   usb2_vbus-supply = reg_usb2_vbus;
+   status = okay;
+   };
+
+   ehci0: usb@01c14000 {
+   status = okay;
+   };
+
+   ohci0: usb@01c14400 {
+   status = okay;
+   };
+
+   ehci1: usb@01c1c000 {
+   status = okay;
+   };
+
+   ohci1: usb@01c1c400 {
+   status = okay;
+   };
+
+   pinctrl@01c20800 {
+   mmc3_pins_a: mmc3@0 {
+   /* AP6210 / AP6330 requires pull-up */
+   allwinner,pull = 1;
+   };
+
+   vmmc3_pin_i12_tvbox: vmmc3_pin@0 {
+   allwinner,pins = PH2;
+   allwinner,function = gpio_out;
+   allwinner,drive = 0;
+   allwinner,pull = 0;
+   };
+
+   vmmc3_io_pin_i12_tvbox: vmmc3_io_pin@0 {
+   allwinner,pins = PH12;
+   allwinner,function = gpio_out;
+   allwinner,drive = 0;
+   allwinner,pull = 0;
+   };
+
+   gmac_power_pin_i12_tvbox: gmac_power_pin@0 {
+   allwinner,pins = PH21;
+   allwinner,function = gpio_out;
+   allwinner,drive = 0;
+   allwinner,pull = 0;
+   };
+
+   led_pins_i12_tvbox: led_pins@0 {
+   allwinner,pins = PH9, PH20;
+   allwinner,function = gpio_out;
+   allwinner,drive = 0;
+   allwinner,pull = 0;
+   };
+   };
+
+   uart0: serial@01c28000 {
+   pinctrl-names = default;
+   pinctrl-0 = uart0_pins_a;
+ 

Re: [linux-sunxi] [PATCH] Add qt840a

2014-05-21 Thread Amit Kucheria
On Sun, May 18, 2014 at 8:45 PM, Hans de Goede hdego...@redhat.com wrote:
 Hi,

 On 05/18/2014 12:30 PM, Hans de Goede wrote:

 snip

 What about my u-boot patch? Did you create a dram file for the board too?

 Yes, that one I had not pushed yet, but I just did, if you checkout the 
 latest
 sunxi branch code, then you can do:
 make -j4 CROSS_COMPILE=arm-linux-gnu- i12-tvbox_config
 make -j4 CROSS_COMPILE=arm-linux-gnu-

 And you will get a u-boot which should work fine on your board too.

 As for your patch I've not seen that one, I guess it somehow never made it
 to the list. But is no longer necessary, the i12-tvbox target should work
 100% for you.

 I just realized this may not be true. My board has 1G of RAM in 2 16 bit dram
 chips, if your board is like the qt840a-s I've found on aliexpress, it has
 only 512M of RAM, if that is done by using lower capacity DRAM chips, the
 existing u-boot code should work fine. But if it is done by using only
 1 DRAM chip (which would be quite bad for performance since it would half
 the RAM bus width), then we need a separate board config for it in u-boot.

I just checked with the stock u-boot and it shows 1GiB on my device.
There is still hope we might get away with a single configuration.

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Booting devel device tree kernel on Cubietruck

2014-05-21 Thread jonsm...@gmail.com
I can't get anywhere trying to boot a devel device tree kernel on Cubietruck.

This is with https://github.com/jwrdegoede/linux-sunxi.git and the
linux-devel branch.
I don't get any boot output. I can boot a 3.4 kernel without problem.

I followed these steps. http://linux-sunxi.org/Mainline_Kernel_Howto
I also tried turning on low level printk but still no output

U-Boot SPL 2014.04-10675-g44b53fd (May 19 2014 - 20:39:18)
Board: Cubietruck
DRAM: 2048 MiB
CPU: 96000Hz, AXI/AHB/APB: 3/2/2
spl: not an uImage at 1600


U-Boot 2014.04-10675-g44b53fd (May 19 2014 - 20:39:18) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Board: Cubietruck
I2C:   ready
DRAM:  2 GiB
MMC:   SUNXI SD/MMC: 0
In:serial
Out:   serial
Err:   serial
Net:   dwmac.1c5
Hit any key to stop autoboot:  0
sun7i# tftp 0x4900 /var/lib/tftpboot/ct.dtb
dwmac.1c5 Waiting for PHY auto negotiation to complete done
Speed: 1000, full duplex
Using dwmac.1c5 device
TFTP from server 192.168.1.50; our IP address is 192.168.1.51
Filename '/var/lib/tftpboot/ct.dtb'.
Load address: 0x4900
Loading: ##
7.6 MiB/s
done
Bytes transferred = 24030 (5dde hex)
sun7i# tftp 0x4600 /var/lib/tftpboot/uImage
Speed: 1000, full duplex
Using dwmac.1c5 device
TFTP from server 192.168.1.50; our IP address is 192.168.1.51
Filename '/var/lib/tftpboot/uImage'.
Load address: 0x4600
Loading: #
#
12.3 MiB/s
done
Bytes transferred = 1837040 (1c07f0 hex)
sun7i#  env set fdt_high 
sun7i#
sun7i# bootm 0x4600 -  0x4900
## Booting kernel from Legacy Image at 4600 ...
   Image Name:   Linux-3.15.0-rc5-80186-gb9505da
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:1836976 Bytes = 1.8 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 4900
   Booting using the fdt blob at 0x4900
   Loading Kernel Image ... OK
   Using Device Tree in place at 4900, end 49008ddd

Starting kernel ...





-- 
Jon Smirl
jonsm...@gmail.com

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Booting devel device tree kernel on Cubietruck

2014-05-21 Thread Yassin Jaffer
setenv bootargs console=ttyS0,115200 loglevel=9 earlyprintk
root=/dev/mmcblk0p2 ro rootwait


On Thu, May 22, 2014 at 2:26 PM, jonsm...@gmail.com jonsm...@gmail.comwrote:

 I can't get anywhere trying to boot a devel device tree kernel on
 Cubietruck.

 This is with https://github.com/jwrdegoede/linux-sunxi.git and the
 linux-devel branch.
 I don't get any boot output. I can boot a 3.4 kernel without problem.

 I followed these steps. http://linux-sunxi.org/Mainline_Kernel_Howto
 I also tried turning on low level printk but still no output

 U-Boot SPL 2014.04-10675-g44b53fd (May 19 2014 - 20:39:18)
 Board: Cubietruck
 DRAM: 2048 MiB
 CPU: 96000Hz, AXI/AHB/APB: 3/2/2
 spl: not an uImage at 1600


 U-Boot 2014.04-10675-g44b53fd (May 19 2014 - 20:39:18) Allwinner Technology

 CPU:   Allwinner A20 (SUN7I)
 Board: Cubietruck
 I2C:   ready
 DRAM:  2 GiB
 MMC:   SUNXI SD/MMC: 0
 In:serial
 Out:   serial
 Err:   serial
 Net:   dwmac.1c5
 Hit any key to stop autoboot:  0
 sun7i# tftp 0x4900 /var/lib/tftpboot/ct.dtb
 dwmac.1c5 Waiting for PHY auto negotiation to complete done
 Speed: 1000, full duplex
 Using dwmac.1c5 device
 TFTP from server 192.168.1.50; our IP address is 192.168.1.51
 Filename '/var/lib/tftpboot/ct.dtb'.
 Load address: 0x4900
 Loading: ##
 7.6 MiB/s
 done
 Bytes transferred = 24030 (5dde hex)
 sun7i# tftp 0x4600 /var/lib/tftpboot/uImage
 Speed: 1000, full duplex
 Using dwmac.1c5 device
 TFTP from server 192.168.1.50; our IP address is 192.168.1.51
 Filename '/var/lib/tftpboot/uImage'.
 Load address: 0x4600
 Loading: #
 #
 12.3 MiB/s
 done
 Bytes transferred = 1837040 (1c07f0 hex)
 sun7i#  env set fdt_high 
 sun7i#
 sun7i# bootm 0x4600 -  0x4900
 ## Booting kernel from Legacy Image at 4600 ...
Image Name:   Linux-3.15.0-rc5-80186-gb9505da
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:1836976 Bytes = 1.8 MiB
Load Address: 40008000
Entry Point:  40008000
Verifying Checksum ... OK
 ## Flattened Device Tree blob at 4900
Booting using the fdt blob at 0x4900
Loading Kernel Image ... OK
Using Device Tree in place at 4900, end 49008ddd

 Starting kernel ...





 --
 Jon Smirl
 jonsm...@gmail.com

 --
 You received this message because you are subscribed to the Google Groups
 linux-sunxi group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to linux-sunxi+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.