[linux-sunxi] Re: [PATCH 1/2] clk: sunxi-ng: Fix CPUX clock for the A23/A33
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
On Mon, Nov 7, 2016 at 2:57 AM, Maxime Ripardwrote: > 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
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
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
On Sun, 23 Oct 2016 09:33:16 +0800 Chen-Yu Tsaiwrote: > 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 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
Hi, On Sun, Nov 6, 2016 at 10:23 PM, Hans de Goedewrote: > 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
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 ZhengHe, 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
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
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
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
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.