[linux-sunxi] Re: [PATCH 1/2] clk: sunxi-ng: Fix CPUX clock for the A23/A33

2016-11-06 Thread Maxime Ripard
Hi,

On Mon, Nov 07, 2016 at 01:29:31AM +0800, Icenowy Zheng wrote:
> The CPUX clock of A23/33 CCU driver forgot to add CLK_SET_RATE_PARENT
> flag, which makes its frequency fail to change (as part of cpu thermal
> throttle).
> 
> Fix it by add this flag.

Your commit title and log could be better.

The title usually is more about what is done in the patch itself,
something like "clk: sunxi-ng: Allow to change the parent rate for the
CPU clocks" in this case.

And your commit log should explain why it is an issue. Yours is even
wrong here, we could definitely change the rate of these clocks
already. The only thing that was not allowed was to change the rate of
its parents, which is what this patch fixes.

> Signed-off-by: Icenowy Zheng 
> ---
> Patch 4.9-rc too.

I don't see why it should be part of 4.9. No one uses that code in 4.9.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.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.


signature.asc
Description: PGP signature


[linux-sunxi] Re: [PATCH v2 06/14] ASoC: sun4i-codec: Add support for A31 playback through headphone output

2016-11-06 Thread Chen-Yu Tsai
On Mon, Nov 7, 2016 at 2:57 AM, Maxime Ripard
 wrote:
> On Fri, Nov 04, 2016 at 09:08:11AM +0800, Chen-Yu Tsai wrote:
>> On Fri, Nov 4, 2016 at 1:36 AM, Maxime Ripard
>>  wrote:
>> > Hi,
>> >
>> > On Thu, Nov 03, 2016 at 03:55:48PM +0800, Chen-Yu Tsai wrote:
>> >> +/* headphone controls */
>> >> +static const char * const sun6i_codec_hp_src_enum_text[] = {
>> >> + "DAC", "Mixer",
>> >> +};
>> >> +
>> >> +static SOC_ENUM_DOUBLE_DECL(sun6i_codec_hp_src_enum,
>> >> + SUN6I_CODEC_OM_DACA_CTRL,
>> >> + SUN6I_CODEC_OM_DACA_CTRL_LHPIS,
>> >> + SUN6I_CODEC_OM_DACA_CTRL_RHPIS,
>> >> + sun6i_codec_hp_src_enum_text);
>> >> +
>> >> +static const struct snd_kcontrol_new sun6i_codec_hp_src[] = {
>> >> + SOC_DAPM_ENUM("Headphone Source Playback Route",
>> >> +   sun6i_codec_hp_src_enum),
>> >> +};
>> >
>> > What is that route exactly? A muxer?
>>
>> Yup. The following is part of the widgets list later in the code:
>>
>> +   /* Headphone output path */
>> +   SND_SOC_DAPM_MUX("Headphone Source Playback Route",
>> +SND_SOC_NOPM, 0, 0, sun6i_codec_hp_src),
>
> Oh, right.
>
> You can add my Acked-by on this one and the other patches too.

Thanks. Mark already merged all the driver patches though.

ChenYu

-- 
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 v2 06/14] ASoC: sun4i-codec: Add support for A31 playback through headphone output

2016-11-06 Thread Maxime Ripard
On Fri, Nov 04, 2016 at 09:08:11AM +0800, Chen-Yu Tsai wrote:
> On Fri, Nov 4, 2016 at 1:36 AM, Maxime Ripard
>  wrote:
> > Hi,
> >
> > On Thu, Nov 03, 2016 at 03:55:48PM +0800, Chen-Yu Tsai wrote:
> >> +/* headphone controls */
> >> +static const char * const sun6i_codec_hp_src_enum_text[] = {
> >> + "DAC", "Mixer",
> >> +};
> >> +
> >> +static SOC_ENUM_DOUBLE_DECL(sun6i_codec_hp_src_enum,
> >> + SUN6I_CODEC_OM_DACA_CTRL,
> >> + SUN6I_CODEC_OM_DACA_CTRL_LHPIS,
> >> + SUN6I_CODEC_OM_DACA_CTRL_RHPIS,
> >> + sun6i_codec_hp_src_enum_text);
> >> +
> >> +static const struct snd_kcontrol_new sun6i_codec_hp_src[] = {
> >> + SOC_DAPM_ENUM("Headphone Source Playback Route",
> >> +   sun6i_codec_hp_src_enum),
> >> +};
> >
> > What is that route exactly? A muxer?
> 
> Yup. The following is part of the widgets list later in the code:
> 
> +   /* Headphone output path */
> +   SND_SOC_DAPM_MUX("Headphone Source Playback Route",
> +SND_SOC_NOPM, 0, 0, sun6i_codec_hp_src),

Oh, right.

You can add my Acked-by on this one and the other patches too.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.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.


signature.asc
Description: PGP signature


[linux-sunxi] Re: [PATCH v2 2/9] drm/sun4i: support A33 tcon

2016-11-06 Thread Maxime Ripard
On Sat, Nov 05, 2016 at 11:54:28PM +0800, Chen-Yu Tsai wrote:
> Hi,
> 
> On Tue, Sep 6, 2016 at 10:46 PM, Maxime Ripard
>  wrote:
> > The A33 has a significantly different pipeline, with components that differ
> > too.
> >
> > Make sure we had compatible for them.
> >
> > Signed-off-by: Maxime Ripard 
> > ---
> >  Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 7 ++-
> >  drivers/gpu/drm/sun4i/sun4i_backend.c | 1 +
> >  drivers/gpu/drm/sun4i/sun4i_drv.c | 8 +---
> >  drivers/gpu/drm/sun4i/sun4i_tcon.c| 8 +++-
> >  4 files changed, 19 insertions(+), 5 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt 
> > b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> > index df8f4aeefe4c..bd3136a5cba5 100644
> > --- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> > +++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> > @@ -26,7 +26,9 @@ TCON
> >  The TCON acts as a timing controller for RGB, LVDS and TV interfaces.
> >
> >  Required properties:
> > - - compatible: value should be "allwinner,sun5i-a13-tcon".
> > + - compatible: value must be either:
> > +   * allwinner,sun5i-a13-tcon
> > +   * allwinner,sun8i-a33-tcon
> >   - reg: base address and size of memory-mapped region
> >   - interrupts: interrupt associated to this IP
> >   - clocks: phandles to the clocks feeding the TCON. Three are needed:
> > @@ -59,6 +61,7 @@ system.
> >  Required properties:
> >- compatible: value must be one of:
> >  * allwinner,sun5i-a13-display-backend
> > +* allwinner,sun8i-a33-display-backend
> >- reg: base address and size of the memory-mapped region.
> >- clocks: phandles to the clocks feeding the frontend and backend
> >  * ahb: the backend interface clock
> > @@ -80,6 +83,7 @@ deinterlacing and color space conversion.
> >  Required properties:
> >- compatible: value must be one of:
> >  * allwinner,sun5i-a13-display-frontend
> > +* allwinner,sun8i-a33-display-frontend
> 
> I just looked at the A23. It seems it's the same display frontend as the A33.
> Should we change the compatible string to a23 while it's still in RC?
> 
> The backend is probably different. The A33 only claims to support 2048x2048
> layers, while the A23 claims to support 8192x8192 layers.

I think we can still keep it. Especially if we're not sure, we might
need to make use of it in the future.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.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.


signature.asc
Description: PGP signature


Re: [linux-sunxi] [PATCH v5 4/7] ASoC: sunxi: Add sun8i I2S driver

2016-11-06 Thread Jean-Francois Moine
On Sun, 23 Oct 2016 09:33:16 +0800
Chen-Yu Tsai  wrote:

> On Fri, Oct 21, 2016 at 4:36 PM, Jean-Francois Moine  wrote:
> > This patch adds I2S support to sun8i SoCs as the A83T and H3.
> >
> > Signed-off-by: Jean-Francois Moine 
> > ---
> > Note: This driver is closed to the sun4i-i2s except that:
> > - it handles the H3
> 
> If it's close to sun4i-i2s, you should probably rework that one to support
> the newer SoCs.

I started to add the H3 into the sun4i-i2s, but I am blocked with
regmap.
Many H3 registers are common with the A10, but some of them have more
or less fields, the fields may be at different offsets. And, finally,
some registers are completely different.
This would not raise any problem, except with regmap which is really
painful.

As I may understood, regmap is used to simplify suspend/resume, but, is
it useful to save the I2S register on suspend?
Practically, I am streaming some tune on my device. I suspend it for
any reason. The next morning, I resume it. Are you sure I want to
continue to hear the end of the tune?

I better think that streaming should be simply stopped on suspend.
Then, there is no need to save the playing registers, and, here I am,
there is no need to use regmap.

May I go this way?

-- 
Ken ar c'hentaƱ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/

-- 
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] Nintendo NES runs on Allwinner R16

2016-11-06 Thread Dmitriy B.
2016-11-06 16:42 GMT+03:00 Icenowy Zheng :

>
> The only hackable interface found is re-solder a NAND ;-)


It has testpads on PCB, so there is hope for FEL and UART.
Nintendo most likely flashes NAND using standard and known Allwinner's
ways, I would be surprised to see if there is something unusual.

-- 
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] About DRM simple panel and DTS files for A33 Q8 Tablets

2016-11-06 Thread Chen-Yu Tsai
Hi,

On Sun, Nov 6, 2016 at 10:23 PM, Hans de Goede  wrote:
> Hi,
>
> On 06-11-16 11:54, Icenowy Zheng wrote:
>>
>>
>>
>> 06.11.2016, 18:13, "Hans de Goede" :
>>>
>>> Hi,
>>>
>>> On 06-11-16 04:35, Chen-Yu Tsai wrote:

  Hi everyone,

  I spent a bit of time adding DRM support for the A23 yesterday.
  Icenowy successfully got DRM working for the A33 Q8 tablets.

  It occurred to me today that we have 2 types of panels for the
  A33 Q8 tablets, one is 800x480 and the other is 1024x600. However
  we are currently sharing the same dts file for both, and only
  U-boot knows about the different resolutions.

  I see 2 ways to fix this. One would be to provide a separate
  dts file for the 1024x600 variant. The other would be to get
  U-boot to patch the dts file.

  Either way would require users upgrading U-boot, or at least
  their boot scripts in the first case, though.

  Any ideas?
>>>
>>>
>>> Since we already have 2 u-boot configs for this having 2 dts files
>>> seems like the best solution to me.
>>
>>
>> Maybe for compatibility we need 3 dts files...
>>
>> 1. Q8 dts : everything except display (For users migrated from the old
>> single-dt time)
>> 2. Q8 800x480 dts : #include , /panel/compatible =
>> "urt,umsh-8596md-t"
>>   /* This compatible is what Chen-Yu used in sun5i-q8, and I used it also
>> on my A33 Q8 */
>> 3. Q8 1024x600 dts : #include , /panel/compatible = foo
>
>
> Ah yes, I was wondering how to deal with older u-boot and
> users then potentially getting the wrong panel setting.
>
> This is much better.

As part of my work to get DRM working on the A23, my plan was to add the
tcon links and panel sans compatible to sun8i-reference-tablet.dtsi, and
enable the display pipeline in sun8i-q8-common.dtsi.

What I have already: https://github.com/wens/linux/commits/a23-drm

I still need to see if the panel lights up and works tomorrow. There's
also the vblank timeout issue both Icenowy and myself have run into.

This was before I thought of the issue with the A33 Q8 tablets though.
But we could just move the enable bits to the individual tablet dts
files that we're going to create as Icenowy suggested.

Regards
ChenYu

-- 
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: [RFC PATCH] ARM: dts: add panel and tcon nodes to Allwinner A33 Q8 tablet dts

2016-11-06 Thread Hans de Goede

Hi,

On 06-11-16 12:11, Icenowy Zheng wrote:

All A33 Q8 tablets features a LCD panel, with a resolution of either
800x480 or 1024x600.

Add "bone" device nodes to the device tree.


Bone ?



Signed-off-by: Icenowy Zheng 


He, as discussed in the other thread since sun8i-a33-q8-tablet.dts
is used for both 800x480 and 1024x600 versions we really need to
introduce new sun8i-a33-q8-tablet-800x600.dts and
sun8i-a33-q8-tablet-1024x600.dts files, which include
sun8i-a33-q8-tablet.dts and then add just the panel bits; and patch
newer u-boots to use those instead.

This way people who stick with an old u-boot will just not get
the drm driver, rather then all of a sudden getting a wrong
resolution.

Icenowy, can you please also submit a matching u-boot patch
(both the new dts file, as well as updating the defconfig you
 use to the new dts file)?

Regards,

Hans




---

Maybe it will be better to add them to sun8i-q8-reference-tablet.dtsi, as
these pin configurations are part of reference design of both A23 and A33,
not only restricted to Q8.

The DTS file is tested by me, after cherry-picks this patch from Chen-Yu Tsai:
https://github.com/wens/linux/commit/2823b887a289fbee5f97f3c6b45ed6c74a6368c6

And add these commands to my U-Boot boot command:

fdt addr 0x4300
fdt resize
fdt set /panel compatible "urt,umsh-8596md-t"
fdt set /panel status "okay"
fdt set /display-engine status "okay"
fdt set /soc@01c0/lcd-controller@01c0c000 status "okay"

 arch/arm/boot/dts/sun8i-a33-q8-tablet.dts | 44 +++
 1 file changed, 44 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts 
b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts
index b0bc236..871a20c 100644
--- a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts
+++ b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts
@@ -47,4 +47,48 @@
 / {
model = "Q8 A33 Tablet";
compatible = "allwinner,q8-a33", "allwinner,sun8i-a33";
+
+   panel: panel {
+   /* compatible should be set according to the panel */
+   pinctrl-names = "default";
+   pinctrl-0 = <_en_q8>;
+   backlight = <>;
+   enable-gpios = < 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
+   power-supply = <_dc1sw>;
+   status = "disabled";
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   port@0 {
+   reg = <0>;
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   panel_input: endpoint@0 {
+   reg = <0>;
+   remote-endpoint = <_out_lcd>;
+   };
+   };
+   };
+};
+
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_rgb666_pins>;
+};
+
+_out {
+   tcon0_out_lcd: endpoint@0 {
+   reg = <0>;
+   remote-endpoint = <_input>;
+   };
+};
+
+ {
+   lcd_en_q8: lcd_en@0 {
+   allwinner,pins = "PH7";
+   allwinner,function = "gpio_out";
+   allwinner,drive = ;
+   allwinner,pull = ;
+   };
 };



--
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] About DRM simple panel and DTS files for A33 Q8 Tablets

2016-11-06 Thread Hans de Goede

Hi,

On 06-11-16 11:54, Icenowy Zheng wrote:



06.11.2016, 18:13, "Hans de Goede" :

Hi,

On 06-11-16 04:35, Chen-Yu Tsai wrote:

 Hi everyone,

 I spent a bit of time adding DRM support for the A23 yesterday.
 Icenowy successfully got DRM working for the A33 Q8 tablets.

 It occurred to me today that we have 2 types of panels for the
 A33 Q8 tablets, one is 800x480 and the other is 1024x600. However
 we are currently sharing the same dts file for both, and only
 U-boot knows about the different resolutions.

 I see 2 ways to fix this. One would be to provide a separate
 dts file for the 1024x600 variant. The other would be to get
 U-boot to patch the dts file.

 Either way would require users upgrading U-boot, or at least
 their boot scripts in the first case, though.

 Any ideas?


Since we already have 2 u-boot configs for this having 2 dts files
seems like the best solution to me.


Maybe for compatibility we need 3 dts files...

1. Q8 dts : everything except display (For users migrated from the old 
single-dt time)
2. Q8 800x480 dts : #include , /panel/compatible = "urt,umsh-8596md-t"
  /* This compatible is what Chen-Yu used in sun5i-q8, and I used it also on my 
A33 Q8 */
3. Q8 1024x600 dts : #include , /panel/compatible = foo


Ah yes, I was wondering how to deal with older u-boot and
users then potentially getting the wrong panel setting.

This is much better.

Regards,

Hans

--
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] Nintendo NES runs on Allwinner R16

2016-11-06 Thread Jean-Luc Aufranc



On 11/06/2016 08:42 PM, Icenowy Zheng wrote:


06.11.2016, 20:56, "Benjamin Henrion" :

Nintendo NES runs on Allwinner R16:

https://twitter.com/PCBrown/status/793933537867022336

Is there some code around for R16 support?

There is some.
R16 is nearly an A33.

But NES Mini have no external interfaces except game controllers.
The only hackable interface found is re-solder a NAND ;-)

Or maybe it's possible to access the serial console.



--
Benjamin Henrion 
FFII Brussels - +32-484-566109 - +32-2-3500762
"In July 2005, after several failed attempts to legalise software
patents in Europe, the patent establishment changed its strategy.
Instead of explicitly seeking to sanction the patentability of
software, they are now seeking to create a central European patent
court, which would establish and enforce patentability rules in their
favor, without any possibility of correction by competing courts or
democratically elected legislators."

--
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.


[linux-sunxi] Nintendo NES runs on Allwinner R16

2016-11-06 Thread Benjamin Henrion
Nintendo NES runs on Allwinner R16:

https://twitter.com/PCBrown/status/793933537867022336

Is there some code around for R16 support?

--
Benjamin Henrion 
FFII Brussels - +32-484-566109 - +32-2-3500762
"In July 2005, after several failed attempts to legalise software
patents in Europe, the patent establishment changed its strategy.
Instead of explicitly seeking to sanction the patentability of
software, they are now seeking to create a central European patent
court, which would establish and enforce patentability rules in their
favor, without any possibility of correction by competing courts or
democratically elected legislators."

-- 
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] About DRM simple panel and DTS files for A33 Q8 Tablets

2016-11-06 Thread Hans de Goede

Hi,

On 06-11-16 04:35, Chen-Yu Tsai wrote:

Hi everyone,

I spent a bit of time adding DRM support for the A23 yesterday.
Icenowy successfully got DRM working for the A33 Q8 tablets.

It occurred to me today that we have 2 types of panels for the
A33 Q8 tablets, one is 800x480 and the other is 1024x600. However
we are currently sharing the same dts file for both, and only
U-boot knows about the different resolutions.

I see 2 ways to fix this. One would be to provide a separate
dts file for the 1024x600 variant. The other would be to get
U-boot to patch the dts file.

Either way would require users upgrading U-boot, or at least
their boot scripts in the first case, though.

Any ideas?


Since we already have 2 u-boot configs for this having 2 dts files
seems like the best solution to me.

Regards,

Hans

--
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.