Re: [linux-sunxi] Requesting Help on a USD15, Allwinner Quadcore 1.2Ghz 64-bit A53 Hardware
Noted and thanks. Regards, KH Goh On 12/7/2015 1:41 PM, shela...@gmail.com wrote: Hi KH: I think what Luc said is very true. The efficiency and power of open source community in helping developing a new thing depends on how open the hardware upstream is toward to the spec of the hardware. I am not currently working on Ubuntu arm port, but I am woring on other Linux (e.g., Mageia) to an Arm SBC board, (r.g., Banana Pi M1 using allwinner A20). Once you have more developing boards available, I'd like to see whether I can also install Linux bootlaoder to your pine64. Let me know once you have it. Regards Shelandy KH Goh於 2015年12月2日星期三 UTC-6上午12時35分49秒寫道: Hi Priit Laes, Thank for the info. Currently we are in the process of sorting out our documentation. Will update in the http://linux-sunxi.org/New_Device_howto once it is ready. Anyway, the regulator used in Pine64 is AXP803 and the Wifi/BT is Realtek RTL-8273. Regards, KH Goh On Sunday, November 29, 2015 at 3:12:21 PM UTC+8, Priit Laes wrote:On Sat, 2015-11-28 at 17:43 -0800, KH Goh wrote: [...] In terms of the hardware, at the moment we are having 2 unit of Pine64 Engineering board (Please refer here for the spec http://pine64.com/product ), and would like to donate it to the community for further evaluation and testing. Since we are a newcomer in this community, we would like you to advise us on who and where should we send the 2 board to. You can already start with the new device howto - http://linux-sunxi.or g/New_Device_howto This would be a nice second step to working together with community. Do you also have access and/or permission to "publish" the datasheets (A53, AXP??? and Wifi/BT) and BSP? Also, on http://pine64.com/product#intro could you label all the ports and expansion headers (I can see from the board that there are headers/sockets for TP, CSI, DSI, RTC, VBAT, POWER, UART). And what regulator chip (AXP???) and wifi/bluetooth chip does it use? And a typo "muti-channel" on that page. Thanks for your advise and appreciate your kind assistance. Regards, KH Goh On Saturday, November 28, 2015 at 9:01:31 PM UTC+8, Luc Verhaegen wrote: On Sat, Nov 28, 2015 at 12:38:16AM -0800, khg...@gmail.com wrote: Hi, We are a group of people currently trying to come out with a very low cost single board computer, by making use of Allwinner Quadcore 1.2Ghz 64-bit A53 CPU. The target costing for the single board computer is USD15. The hardware will have a 4K HDMI video output and on board ethernet connection. Further more, each board will has its own unique MAC address. The objective for this project is to allow individual, having the opportunity to learn IT knowledge with a friction of the cost. Please refer to pine64.com for more detail on the hardware specification. Currently, the hardware development on the board is almost ready. And with us, is the full Linux BSP with the true 64bit compiler. Due to budget constrain and our limited know-how in Linux, We would like to request the help from this community to bring up the Linux into a full function Ubuntu desktop, thus allow the user to truly owning a fully function open source computer with just a friction of the cost. As for the hardware itself, currently we are in the mist of building some sample board to allow any interested developer to work on it. Thanks and Regard, KH Goh Hi, Thanks for contacting the canonical source of most things sunxi/allwinner before actually launching your kickstarter campaign. This is the first time since the original cubieboard that such a thing has happened. Many companies with similar products only afterwards find out to what extent they do depend on the linux-sunxi community, and then change their story in either direction. Often the work done by the people of the linux-sunxi community gets used directly, cloned/forked, and nothing is ever given back. As you can see, we (and while i do not speak for all of us, i know that i am not alone here) are sceptical about whoever approaches us like this, especially when one of the first statements is "budget constraints". You cannot expect the linux-sunxi community to do your work for you for free. You should however donate boards to many known and active linux- sunxi developers, but for that you must not expect anything in return. Whatever then happens, happens, or it doesn't. The results are usually quite positive, especially given the limited cost of said boards, but it will hardly ever consist of full support for your product (especially when based on a new SoC variant). If you wish to have more complete support, you can always try to hire known linux-sunxi developers directly, or work with those members of our community who do contracting. The choice is up to you. Thanks for reaching out to us before launching your marketing campaign, i hope that your collaboration with linux-sunxi ends up being just as fruitful as your kickstarter. Luc Ver
[linux-sunxi] [PATCH 2/2] input: gt801_2plus1 - Add initial support for Goodix GT801 2+1
This patch adds Goodix GT801 2+1 touchscreen controller support. GT801 2+1 is a 10-finger touch controller consisting of ARM controller interfacing two GT801 5-finger controllers. Signed-off-by: Priit Laes --- .../bindings/input/touchscreen/gt801_2plus1.txt| 23 ++ MAINTAINERS| 6 + drivers/input/touchscreen/Kconfig | 19 +- drivers/input/touchscreen/Makefile | 1 + drivers/input/touchscreen/gt801_2plus1.c | 375 + 5 files changed, 421 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/gt801_2plus1.txt create mode 100644 drivers/input/touchscreen/gt801_2plus1.c diff --git a/Documentation/devicetree/bindings/input/touchscreen/gt801_2plus1.txt b/Documentation/devicetree/bindings/input/touchscreen/gt801_2plus1.txt new file mode 100644 index 000..070ff5b --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/gt801_2plus1.txt @@ -0,0 +1,23 @@ +Device tree bindings for Goodix GT801 2+1 series touchscreen controller + +Required properties: + + - compatible : Should be "goodix,gt801_2plus1" + - reg : I2C address of the chip. Should be 0x55 + - interrupt-parent: Interrupt controller to which the chip is connected + - interrupts : Interrupt to which the chip is connected + +Example: + + i2c@ { + /* ... */ + + touchscreen@55 { + compatible = "goodix,gt801_2plus1"; + reg = <0x55>; + interrupt-parent = <&gpio>; + interrupts = <0 0>; + }; + + /* ... */ + }; diff --git a/MAINTAINERS b/MAINTAINERS index cba790b..e292126 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4743,6 +4743,12 @@ L: linux-in...@vger.kernel.org S: Maintained F: drivers/input/touchscreen/goodix.c +GOODIX GT801 2PLUS1 TOUCHSCREEN +M: Priit Laes +L: linux-in...@vger.kernel.org +S: Maintained +F: drivers/input/touchscreen/gt801_2plus1.c + GPIO SUBSYSTEM M: Linus Walleij M: Alexandre Courbot diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index ae33da7..c7c3324 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -322,11 +322,11 @@ config TOUCHSCREEN_FUJITSU module will be called fujitsu-ts. config TOUCHSCREEN_GOODIX - tristate "Goodix I2C touchscreen" + tristate "Goodix GT9xx I2C touchscreen" depends on I2C help - Say Y here if you have the Goodix touchscreen (such as one - installed in Onda v975w tablets) connected to your + Say Y here if you have one of the Goodix GT9xx touchscreens + (such as one installed in Onda v975w tablet) connected to your system. It also supports 5-finger chip models, which can be found on ARM tablets, like Wexler TAB7200 and MSI Primo73. @@ -335,6 +335,19 @@ config TOUCHSCREEN_GOODIX To compile this driver as a module, choose M here: the module will be called goodix. +config TOUCHSCREEN_GT801_2PLUS1 + tristate "Goodix GT801 2+1 I2C touchscreen" + depends on I2C + help + Say Y here if you have the Goodix GT801 2+1 touchscreen. + This controller is found on some older ARM tablets like + (Gemei G9 and Zareason Zatab). + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called gt801_2plus1. + config TOUCHSCREEN_ILI210X tristate "Ilitek ILI210X based touchscreen" depends on I2C diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile index cbaa6ab..ff25d1b4 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile @@ -38,6 +38,7 @@ obj-$(CONFIG_TOUCHSCREEN_EGALAX) += egalax_ts.o obj-$(CONFIG_TOUCHSCREEN_FT6236) += ft6236.o obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o obj-$(CONFIG_TOUCHSCREEN_GOODIX) += goodix.o +obj-$(CONFIG_TOUCHSCREEN_GT801_2PLUS1) += gt801_2plus1.o obj-$(CONFIG_TOUCHSCREEN_ILI210X) += ili210x.o obj-$(CONFIG_TOUCHSCREEN_IMX6UL_TSC) += imx6ul_tsc.o obj-$(CONFIG_TOUCHSCREEN_INEXIO) += inexio.o diff --git a/drivers/input/touchscreen/gt801_2plus1.c b/drivers/input/touchscreen/gt801_2plus1.c new file mode 100644 index 000..e2be479 --- /dev/null +++ b/drivers/input/touchscreen/gt801_2plus1.c @@ -0,0 +1,375 @@ +/* + * Driver for Goodix GT801 2+1 ARM touchscreen controllers + * + * Copyright (c) 2015 Priit Laes . + * + * This code is based on goodix.c driver (c) 2014 Red Hat Inc, + * various Android codedumps (c) 2010 - 2012 Goodix Technology + * and cleanups done by Emilio López (turl) for linux-sunxi. + * + * This program is free software; you can redistribu
[linux-sunxi] [PATCH 0/2] input: Driver for Goodix GT801 2+1 touchscreen
This series adds support for Goodix GT801 2+1 touchscreen controller and hooks it up on Gemei G9 tablet. Now about GT801 2+1 - I initially tried to implement this inside the existing Goodix driver, but unfortunately there are too many small bits and pieces that would make the otherwise simple driver a complicated mess: - endianness differences of coordinate readouts - totally different touch protocol - configuration layout and version information - I2C register differences (2 bytes vs single byte) To apply the patchset, you need both linux-input/next and linux-sunxi/next merged. Patch 1 (Gemei G9 devicetree bits) should go via linux-sunxi tree. Patch 2 (GT801 2+1 driver implementation) via linux-input Priit Laes (2): ARM: dts: sun4i: gemei-g9: Add touchscreen (Goodix gt801x2) support input: gt801_2plus1 - Add initial support for Goodix GT801 2+1 .../bindings/input/touchscreen/gt801_2plus1.txt| 23 ++ MAINTAINERS| 6 + arch/arm/boot/dts/sun4i-a10-gemei-g9.dts | 26 +- drivers/input/touchscreen/Kconfig | 19 +- drivers/input/touchscreen/Makefile | 1 + drivers/input/touchscreen/gt801_2plus1.c | 375 + 6 files changed, 445 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/gt801_2plus1.txt create mode 100644 drivers/input/touchscreen/gt801_2plus1.c -- 2.6.3 -- 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: sun4i: gemei-g9: Add touchscreen (Goodix gt801x2) support
Goodix GT801 2+1 is a touchscreen controller supporting up to 10 touches. Enable pin and wakeup pin support is currently not implemented: - enable pin (PI16, specified in FEX) seems to be wrong - wakeup pin needs some additional reverse engineering work Signed-off-by: Priit Laes --- arch/arm/boot/dts/sun4i-a10-gemei-g9.dts | 26 -- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts b/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts index 1d73a98..52e6275 100644 --- a/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts +++ b/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts @@ -48,6 +48,7 @@ #include #include #include +#include / { model = "Gemei G9 Tablet"; @@ -65,11 +66,11 @@ /* * TODO: * 2x cameras via CSI - * audio input + * audio input (+ ext. amplifier enable GPIO) * AXP battery management * NAND * OTG - * Touchscreen - gt801_2plus1 @ i2c adapter 2 @ 0x48 + * Touchscreen enable and wakeup pins */ &codec { status = "okay"; @@ -114,6 +115,27 @@ }; }; +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins_a>; + status = "okay"; + + touchscreen@55 { + compatible = "goodix,gt801_2plus1"; + reg = <0x55>; + + interrupt-parent = <&pio>; + interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>; /* EINT21 (PH21) */ + + /* +* TODO - figure out the wakeup pin: +* ctp_wakeup = port:PB13<1><1> +* TODO - find correct GPIO pin, PI16 seems to be incorrect: +* ctp_en = port:PI16<1><0> +*/ + }; +}; + &lradc { vref-supply = <®_ldo2>; -- 2.6.3 -- 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] clk_out_a usage in mainline
Hi Chen-Yu, indeed, it works now. In case someone else wants to use it, it works like this: in the dts file I put: / { tss463aa { compatible = "atmel,tss463aa"; clocks = <&clk_out_a>; pinctrl-0 = <&clk_out_a_pins_a>; pinctrl-names = "default"; }; }; &spi2 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&spi2_pins_a>; tss463aax { compatible = "atmel,tss463aa"; reg = <0>; spi-max-frequency = <400>; spi-cpol; spi-cpha; }; }; Note the differing pinctrl. Also note that it doesn't work if I put clk_out_a in the spi slave node. Then I created a Linux kernel module http://svn.nomike.com/playground/trunk/Navi/TSS463AA/Linux/tss463aa.c that basically does probe { clk1 = devm_clk_get(&pdev->dev, NULL); rounded_rate = clk_round_rate(clk1, rate); /* Hz */ clk_set_rate(clk1, rounded_rate); clk_prepare_enable(clk1); } and a MODULE_DEVICE_TABLE to match the compatible "atmel,tss463aa". Then I checked the proper operation of the clk_out_a 4000 Hz clock by connecting it to an audio amplifier. Yup, worked. Thanks, Danny -- 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] Sunxi dinner at FOSDEM 2016
lOn Sunday, December 6, 2015, Karsten Merker wrote: > Hello everybody, > > FOSDEM is coming soon and I know that several of us will be > attending, so I wanted to ask whether there is interest in > having dinner together on Saturday evening. Yes there will be dinner this year but we gonna try another location. I keep you informed. > Regards, > Karsten > -- > Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung > sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der > Werbung sowie der Markt- oder Meinungsforschung. > > -- > 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. > -- 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.
[linux-sunxi] [PATCH v4] sun4i-codec: add inputs
Hi, this is the fourth version of the patch that adds inputs to sun4i-codec. The inputs added are: - FM-In Left and Right - Line-In Left and Right - Mic1-In - Mic2-In Changes compared to v3 are: - Names of the input are not uppercase anymore. - bit index constants are now named as in the A20 user manual v1.4 - added Mic1-In, Mac2-In - added Mic1 and Mic2 Pre-Amplifiers. I successfully tested it using alsamixer, headphones, a radio and my ears. Note that because of missing capturing support I tested only the mixing. Still TODO are: - sun4i_codec_micin_gain_scale should have an entry for 0 dB at 0. How? - maybe the Mic Preamps should be listed in the routes. It works as it is now, though. - right now when I press F4 in alsamixer, the Mic1-In Pre-Amplifier Gain is missing its muting switch. WTF... How does ALSA (or alsamixer) know which controls are "Capture"? Regards, Danny Danny (1): b/sound/soc/sunxi/sun4i-codec.c | 112 1 file changed, 112 insertions(+) Signed-off-by: Danny Milosavljevic --- diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c index bcbf4da..521ab8f 100644 --- a/sound/soc/sunxi/sun4i-codec.c +++ b/sound/soc/sunxi/sun4i-codec.c @@ -57,9 +57,21 @@ #define SUN4I_CODEC_DAC_ACTL_DACAENR (31) #define SUN4I_CODEC_DAC_ACTL_DACAENL (30) #define SUN4I_CODEC_DAC_ACTL_MIXEN (29) +/* bits 27 and 28 are documented as "/" in the user manual */ +#define SUN4I_CODEC_DAC_ACTL_LNG (26) +#define SUN4I_CODEC_DAC_ACTL_FMG (23) +#define SUN4I_CODEC_DAC_ACTL_MICG (20) +#define SUN4I_CODEC_DAC_ACTL_LLNS (19) +#define SUN4I_CODEC_DAC_ACTL_RLNS (18) +#define SUN4I_CODEC_DAC_ACTL_LFMS (17) +#define SUN4I_CODEC_DAC_ACTL_RFMS (16) #define SUN4I_CODEC_DAC_ACTL_LDACLMIXS (15) #define SUN4I_CODEC_DAC_ACTL_RDACRMIXS (14) #define SUN4I_CODEC_DAC_ACTL_LDACRMIXS (13) +#define SUN4I_CODEC_DAC_ACTL_MIC1LS(12) +#define SUN4I_CODEC_DAC_ACTL_MIC1RS(11) +#define SUN4I_CODEC_DAC_ACTL_MIC2LS(10) +#define SUN4I_CODEC_DAC_ACTL_MIC2RS(9) #define SUN4I_CODEC_DAC_ACTL_DACPAS(8) #define SUN4I_CODEC_DAC_ACTL_MIXPAS(7) #define SUN4I_CODEC_DAC_ACTL_PA_MUTE (6) @@ -94,7 +106,19 @@ #define SUN4I_CODEC_DAC_TXCNT (0x30) #define SUN4I_CODEC_ADC_RXCNT (0x34) #define SUN4I_CODEC_AC_SYS_VERI(0x38) + +/* MIC_PHONE_CAL register offsets and bit fields */ #define SUN4I_CODEC_AC_MIC_PHONE_CAL (0x3c) +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PREG1 (29) +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PREG2 (26) +/* 25 inclusive to 8 inclusive are documented as "/" */ +/* note: no idea where the output pins for the following are. */ +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PHONEOUTG (5) +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PHONEOUTEN (4) +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PHONEOUTS3 (3) +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PHONEOUTS2 (2) +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PHONEOUTS1 (1) +#define SUN4I_CODEC_AC_MIC_PHONE_CAL_PHONEOUTS0 (0) struct sun4i_codec { struct device *dev; @@ -402,16 +426,72 @@ static const struct snd_kcontrol_new sun4i_codec_pa_mute = SUN4I_CODEC_DAC_ACTL_PA_MUTE, 1, 0); static DECLARE_TLV_DB_SCALE(sun4i_codec_pa_volume_scale, -6300, 100, 1); +static DECLARE_TLV_DB_SCALE(sun4i_codec_linein_output_volume_scale, -150, 150, 0); +static DECLARE_TLV_DB_SCALE(sun4i_codec_fmin_output_volume_scale, -450, 150, 0); +static DECLARE_TLV_DB_SCALE(sun4i_codec_micin_output_volume_scale, -450, 150, 0); +/* FIXME raw value 0x00: 0 dB */ +static DECLARE_TLV_DB_SCALE(sun4i_codec_micin_gain_scale, 2400, 300, 0); static const struct snd_kcontrol_new sun4i_codec_widgets[] = { SOC_SINGLE_TLV("PA Volume", SUN4I_CODEC_DAC_ACTL, SUN4I_CODEC_DAC_ACTL_PA_VOL, 0x3F, 0, sun4i_codec_pa_volume_scale), + /* Line-In, FM-In */ + SOC_SINGLE_TLV("Line-In Playback Volume", + SUN4I_CODEC_DAC_ACTL, + SUN4I_CODEC_DAC_ACTL_LNG, + 1, + 0, + sun4i_codec_linein_output_volume_scale), + SOC_SINGLE_TLV("FM-In Playback Volume", + SUN4I_CODEC_DAC_ACTL, + SUN4I_CODEC_DAC_ACTL_FMG, + 3, + 0, + sun4i_codec_fmin_output_volume_scale), + SOC_SINGLE_TLV("Mic-In Playback Volume", + SUN4I_CODEC_DAC_ACTL, + SUN4I_CODEC_DAC_ACTL_MICG, + 7, +
Re: [linux-sunxi] [PATCH v3 1/2] sun4i-codec: add "FM-In" and "Line-In" playback controls (volume and muting switch).
Hi, On Sun, 6 Dec 2015 08:06:20 +0100 Code Kipper wrote: >I would start by sticking to the original define formats which matches >what's in the User Manual. Yeah, I changed these now. > These aren't really playback controls but gains for the capture stage. Hmm... reading the Audio Codec Block Diagram in A20 User Manual v1.4 20150510 page 171, they go down to the mixer, but not to the ADC. So I'd say they are "playback" controls in the sense that they shouldn't affect capturing. The ADC has its own gain controls. -- 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] Mainline Linux git setup and usage
Hi, On Sun, 06 Dec 2015 09:18:44 +0200 Priit Laes wrote: > On Sun, 2015-12-06 at 00:45 +0100, Danny Milosavljevic wrote: > > Hello, > > > > when trying to setup a build environment for mainline Linux I ran > > into some problems: > > Which tutorial (or wiki page) did you follow? https://linux-sunxi.org/Sending_patches > > $ git clone --depth 1 > > git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git > > $ git checkout sunxi/for-next > > error: pathspec 'sunxi/for-next' did not match any file(s) known to > > git. This works: $ git clone -b sunxi/for-next --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git > Also, official 'for-next' branch is stored at github.org/linux- > sunxi/linux-sunxi Not according to the above page. But good to know. > > git send-email doesn't exist (git version 2.1.4). > This is probably your distribution (or operating system) related problem. Ah, I installed git-email now and it exists now. No idea whether it works yet. Thanks :) -- 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] [PATCH v3 2/2] sun4i-codec: add "FM-In" and "Line-In" playback controls (volume and muting switch), including DAPM.
Hi, On Sun, 6 Dec 2015 08:12:51 +0100 Code Kipper wrote: > > SND_SOC_DAPM_OUTPUT("HP Right"), > > SND_SOC_DAPM_OUTPUT("HP Left"), > > + > > + SND_SOC_DAPM_INPUT("LINE_IN Right"), > > + SND_SOC_DAPM_INPUT("LINE_IN Left"), > > + SND_SOC_DAPM_INPUT("FM_IN Right"), > > + SND_SOC_DAPM_INPUT("FM_IN Left"), > > Rename this to maintain the format (eg. Line-In Right) Ok, I will. (These were named that way to keep with the DAPM_OUTPUT format. HP is also in this all-caps style) Thanks, Danny -- 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] [PATCH v3 2/2] sun4i-codec: add "FM-In" and "Line-In" playback controls (volume and muting switch), including DAPM.
Hi, On Sun, 6 Dec 2015 08:12:51 +0100 Code Kipper wrote: > I would squash your patches first before sendiing them out. Here > you're removing something from the previous patch. I thought about doing that. However, these are affecting different parts of ALSA. In that case, 0001 is the minimal part to make FM_IN and LINE_IN work at all. 0002 is the part that moves the controls to DAPM so it prevents depowering when there's FM input. But I can squash them next time. Thanks, Danny -- 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] [PATCH v3 1/2] sun4i-codec: add "FM-In" and "Line-In" playback controls (volume and muting switch).
Hi, On Sun, 6 Dec 2015 08:06:20 +0100 Code Kipper wrote: > These aren't really playback controls but gains for the capture stage. > These can be mixed into the output though. Have you tested this? Yes, I did. However, there is no capturing support in the driver. I tested the mixing into the output stage and it works. Once there is capturing support it could be renamed. Alternatively, one can make them capturing mixer controls now. However, since there's no capturing support yet I can't test that part. Thanks, Danny -- 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] clk: sunxi: Extend the simple gates and handle the Allwinner H3
The H3 has a clock gate definition similar to the other Allwinner SoCs, but with a different parent clock for each single gate. Adding the names of the parent clocks in both the source and output clocks permits the use of the simple-gates driver to define the bus gates of all known Allwinner SoCs. Signed-off-by: Jean-Francois Moine --- This patch replaces a part of Jens Kuske's patch [PATCH v5 1/4] clk: sunxi: Add H3 clocks support --- Documentation/devicetree/bindings/clock/sunxi.txt | 25 +++ drivers/clk/sunxi/clk-simple-gates.c | 14 - 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt index 8a47b77..5736e6d 100644 --- a/Documentation/devicetree/bindings/clock/sunxi.txt +++ b/Documentation/devicetree/bindings/clock/sunxi.txt @@ -70,6 +70,7 @@ Required properties: "allwinner,sun8i-a23-usb-clk" - for usb gates + resets on A23 "allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80 "allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80 + "allwinner,sunxi-gates-clk" - simple gates Required properties for all clocks: - reg : shall be the control register address for the clock. @@ -93,6 +94,12 @@ The "allwinner,sun9i-a80-mmc-config-clk" clock also requires: - #reset-cells : shall be set to 1 - resets : shall be the reset control phandle for the mmc block. +The "allwinner,sunxi-gates-clk" clock also requires: +- clock-names : corresponding names of the parent clocks +when the output clocks have different parents. +These names must be 4 characters long and must appear as a prefix in +the names of the output clocks. See example. + For "allwinner,sun7i-a20-gmac-clk", the parent clocks shall be fixed rate dummy clocks at 25 MHz and 125 MHz, respectively. See example. @@ -203,3 +210,21 @@ mmc_config_clk: clk@01c13000 { clock-output-names = "mmc0_config", "mmc1_config", "mmc2_config", "mmc3_config"; }; + +bus_gates: clk@01c20060 { + compatible = "allwinner,sunxi-gates-clk"; + reg = <0x01c20060 0x14>; + clocks = <&ahb1>, <&ahb2>; + clock-names = "ahb1", "ahb2"; + clock-indices = <5>, <6>, <8>, + <17>, <18>, + <26>, <27>, + <28>, <29>, + <128>, <135>; + clock-output-names = "ahb1_ce", "ahb1_dma", "ahb1_mmc0", +"ahb2_emac", "ahb1_ts", +"ahb1_ehci2", "ahb1_ehci3", +"ahb1_otg_ohci0", "ahb2_ohci1", +"ahb1_ephy", "ahb1_dbg"; + }; +}; diff --git a/drivers/clk/sunxi/clk-simple-gates.c b/drivers/clk/sunxi/clk-simple-gates.c index 0214c65..81c4cb0 100644 --- a/drivers/clk/sunxi/clk-simple-gates.c +++ b/drivers/clk/sunxi/clk-simple-gates.c @@ -29,12 +29,14 @@ static void __init sunxi_simple_gates_setup(struct device_node *node, { struct clk_onecell_data *clk_data; const char *clk_parent, *clk_name; + char dyn_clk_parent[8]; struct property *prop; struct resource res; void __iomem *clk_reg; void __iomem *reg; const __be32 *p; int number, i = 0, j; + bool parent_per_gate; u8 clk_bit; u32 index; @@ -42,7 +44,13 @@ static void __init sunxi_simple_gates_setup(struct device_node *node, if (IS_ERR(reg)) return; - clk_parent = of_clk_get_parent_name(node, 0); + parent_per_gate = of_clk_get_parent_count(node) != 1; + if (parent_per_gate) { + clk_parent = dyn_clk_parent; + dyn_clk_parent[4] = '\0'; + } else { + clk_parent = of_clk_get_parent_name(node, 0); + } clk_data = kmalloc(sizeof(struct clk_onecell_data), GFP_KERNEL); if (!clk_data) @@ -58,6 +66,8 @@ static void __init sunxi_simple_gates_setup(struct device_node *node, of_property_for_each_u32(node, "clock-indices", prop, p, index) { of_property_read_string_index(node, "clock-output-names", i, &clk_name); + if (parent_per_gate) + strncpy(dyn_clk_parent, clk_name, 4); clk_reg = reg + 4 * (index / 32); clk_bit = index % 32; @@ -140,6 +150,8 @@ CLK_OF_DECLARE(sun9i_a80_apb0, "allwinner,sun9i-a80-apb0-gates-clk", sunxi_simple_gates_init); CLK_OF_DECLARE(sun9i_a80_apb1, "allwinner,sun9i-a80-apb1-gates-clk", sunxi_simple_gates_init); +CLK_OF_DECLARE(sunxi_gates, "allwinner,sunxi-gates-clk",sunxi-gates + sunxi_simple_gates_init); static const int sun4i_a10_ahb_critical_clocks[] __initconst = { 14, /* ahb_sdram */ -- Ken ar c'hentañ | ** Breizh ha Linux atav!