From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Walleij Subject: Pin control mappings for DT Date: Tue, 29 Nov 2011 08:42:11 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Cc: Tony Lindgren , Russell King - ARM Linux List-Id: devicetree@vger.kernel.org Greetings, can we have some initial idea about DT support for pin control devices and how these will look? Since pin control seems to be a cruicial piece for people to get board data out of their kernels we'd better have a common understanding. The way I've understood it, we will need three pieces of DT data: 1) Per-driver info, includes the pin controller base, its pins, their (optional) names and their specific presets like bias etc. 2) Board pin group definitions, saying "these three pins belong to the group "i2c0-pins" 3) Board function mapping definitions saying "the pin group 'i2c0-pins' is to be used with device i2c0" which can map several groups to a single device. (1) should be read out by each pin controller driver and (2)+(3) by the pin controller, specifically pinmux core. I'm tentatively also thinking about: (4) Pin group state map - as in "group 'i2c0-pins' have the states 'active', 'sleeping' and 'idle' " Since this last piece needs to be connected to say bias settings etc it's currently unclear to me how that would work. But (1) thro (3) seem pretty solid. Does this agree with others' idea about this? (Feaing this thread will run on for a while, DT issues seem pretty discussable.) Yours, Linus Walleij