lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120427054842.GJ2234@S2101-09.ap.freescale.net>
Date:	Fri, 27 Apr 2012 13:48:44 +0800
From:	Shawn Guo <shawn.guo@...aro.org>
To:	Jean-Christophe PLAGNIOL-VILLARD <plagnioj@...osoft.com>
Cc:	Dong Aisheng <b29396@...escale.com>, b20223@...escale.com,
	linus.walleij@...ricsson.com, devicetree-discuss@...ts.ozlabs.org,
	linux-kernel@...r.kernel.org, rob.herring@...xeda.com,
	kernel@...gutronix.de, cjb@...top.org, s.hauer@...gutronix.de,
	linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v3 2/4] pinctrl: pinctrl-imx: add imx pinctrl core driver

On Thu, Apr 26, 2012 at 05:15:36PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> We have on Imx mxc at91 and other SoC controler hich you configure per pin
> 
> which means one pin have multiple function and the same function is on
> multiple pins
> 
> so the groups are just a list of possible pins
> 
> Instead of re-inventing bindings we do need to come with a common binding whre
> it's possible
> 
> So instead I proppose (send in the v2) to use common way to describe the group
> 
Let's see how many nodes we will have in device tree.  For imx6q
example, there are 332 pins and each pin has up to 8 function selects.
We will end up with having 332 x 8 = 2656 sub nodes under node
"functions".  Device tree simply cannot afford such a bloating.

Regards,
Shawn

> 1) we describe one function per pin
> 
> 	functions {
> 		rxd_pb12 {
> 			atmel,pin-id = <44>;
> 			atmel,mux = <0>;
> 		};
> 
> 		txd_pb13 {
> 			atmel,pin-id = <45>;
> 			atmel,pull = <2>;
> 			atmel,mux = <0>;
> 		};
> 
> 		txd0_pb19 {
> 			atmel,pin-id = <51>;
> 			atmel,pull = <2>;
> 			atmel,mux = <0>;
> 		};
> 
> 		rxd0_pb18 {
> 			atmel,pin-id = <50>;
> 			atmel,mux = <0>;
> 		};
> 
> 		rts0_pb17 {
> 			atmel,pin-id = <49>;
> 			atmel,mux = <1>;
> 		};
> 
> 		cts0_pb15 {
> 			atmel,pin-id = <47>;
> 			atmel,mux = <1>;
> 		};
> 	};
> 
> 
> advantage if you need to set a pull-up or any pin parameter different on your board
> you can overwrite it without re-creating a group
> 
> This is controller specific
> 
> and then we have the common bindings to describe the group
> by using phandle of the functions to describe the group
> 
> 	groups {
> 		dbgu {
> 			pinctrl,functions = < &rxd_pb12
> 					      &txd_pb13 >;
> 		};
> 
> 		uart0_rxd_txd {
> 			pinctrl,functions = < &rxd0_pb18
> 					      &txd0_pb19 >;
> 		};
> 
> 		uart0_rts_cts {
> 			pinctrl,functions = < &rxd0_pb18
> 					      &txd0_pb19
> 					      &rts0_pb17
> 					      &cts0_pb15 >;
> 		};
> 	};
> 
> this will be handle by a generic code in c
> 
> Best Regards,
> J.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ