All of lore.kernel.org
 help / color / mirror / Atom feed
From: mc5686@mclink.it (Mauro Condarelli)
To: linux-arm-kernel@lists.infradead.org
Subject: Debugging "of_get_named_gpiod_flags: can't parse gpios property of node" warnings in kinux-3.16.1
Date: Thu, 13 Aug 2015 00:12:58 +0200	[thread overview]
Message-ID: <55CBC4EA.8040309@mclink.it> (raw)

Hi, I am working with a custom board based on ACME ariag25 which is, in turn, based on Atmel AT91SAM9G25 SoC.
I have a quite simple .dts file, mostly based on defaults (see attachments), bu I nevertheless get a bunch of "of_get_named_gpiod_flags: can't parse gpios property of node" warnings.
I tried to debug inserting a few pr_debug() in gpiolib-of.c, but I do not really understand .dts intricacies (this is the first time I work with it).
Can someone suggest me what I should check (or plainly tell me where and how I'm making a fool of myself)?

Thanks in advance.
Mauro
-------------- next part --------------
/*
 * at91-ariag25.dts - Device Tree file for Acme Systems Aria G25
 *
 * Copyright (C) 2013 Douglas Gilbert <dgilbert@interlog.com>,
 *                    Robert Nelson <robertcnelson@gmail.com>
 * Copyright (C) 2014 Sergio Tanzilli <sergio@tanzilli.com>
 *
 * Licensed under GPLv2 or later. 
 */
/dts-v1/;
#include "at91-ariag25-base.dtsi"

/ {
	memory {
		/* 128 MB Aria G25 version */
		reg = <0x20000000 0x8000000>;
		/* 256 MB Aria G25 version */
		/* reg = <0x20000000 0x10000000>; */
	};
};

-------------- next part --------------
/*
 * at91-ariag25.dts - Device Tree file for Acme Systems Aria G25
 *
 * Copyright (C) 2013 Douglas Gilbert <dgilbert@interlog.com>,
 *                    Robert Nelson <robertcnelson@gmail.com>
 * Copyright (C) 2014 Sergio Tanzilli <sergio@tanzilli.com>
 *
 * Licensed under GPLv2 or later. 
 */
#include "at91sam9g25.dtsi"

/ {
	model = "Acme Systems Aria G25";
	compatible = "acme,ariag25", "atmel,at91sam9x5ek",
				"atmel,at91sam9x5", "atmel,at91sam9";

	aliases {
		serial0 = &dbgu;
		serial1 = &usart0;
		serial2 = &usart1;
		serial3 = &usart2;
		serial4 = &usart3;
		serial5 = &uart0;
		serial6 = &uart1;
	};

	chosen {
		bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
	};

	memory {
		/* 128 MB Aria G25 version */
		reg = <0x20000000 0x8000000>;
		/* 256 MB Aria G25 version */
		/* reg = <0x20000000 0x10000000>; */
	};


	clocks {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		main_clock: clock at 0 {
			compatible = "atmel,osc", "fixed-clock";
				clock-frequency = <12000000>;
		};
	};

	ahb {
		apb {
			mmc0: mmc at f0008000 {
				status = "okay";
				pinctrl-0 = <
				&pinctrl_mmc0_slot0_clk_cmd_dat0
				&pinctrl_mmc0_slot0_dat1_3>;
				slot at 0 {
					reg = <0>;
					bus-width = <4>;
					cd-gpios = <&pioA 1 GPIO_ACTIVE_LOW>;
					wp-gpios = <>;
				};
			};

			mmc1: mmc at f000c000 {
				status = "okay";
				pinctrl-0 = <
				&pinctrl_mmc1_slot0_clk_cmd_dat0
				&pinctrl_mmc1_slot0_dat1_3>;
				slot at 0 {
					reg = <0>;
					bus-width = <4>;
					cd-gpios = <&pioA 0 GPIO_ACTIVE_LOW>;
					wp-gpios = <>;
				};
			};

			i2c0: i2c at f8010000 {
				status = "disabled";
			};

			i2c1: i2c at f8014000 {
				status = "disabled";
			};

			/* /dev/ttyS1 */
			usart0: serial at f801c000 {
				pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts &pinctrl_usart0_cts>;
				status = "disabled";
			};

			/* /dev/ttyS2 */
			usart1: serial at f8020000 {
				pinctrl-0 = <&pinctrl_usart1>;
				status = "okay";
			};

			/* /dev/ttyS3 */
			usart2: serial at f8024000 {
				pinctrl-0 = <&pinctrl_usart2>;
				status = "disabled";
			};

			/* /dev/ttyS4 */
			usart3: serial at f8028000 {
				compatible = "atmel,at91sam9260-usart";
				reg = <0xf8028000 0x200>;
				interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_usart3
						&pinctrl_usart3_rts
						&pinctrl_usart3_cts
						>;
				status = "okay";
			};

			/* /dev/ttyS5 */
			uart0: serial at f8040000 {
				status = "disabled";
			};

			/* /dev/ttyS6 */
			uart1: serial at f8044000 {
				status = "disabled";
			};

			spi1: spi at f0004000 {
				status = "okay";
				cs-gpios = <&pioA 8 0>;

				device at 0 {
					compatible = "spidev";
					// spi-max-frequency = <50000000>;  // 50 MHz
					spi-max-frequency = <5000000>;	    // 5 MHz
					reg = <0>;
				};
			};

			macb0: ethernet at f802c000 {
				status = "okay";
				phy-mode = "rmii";

			};

			adc0: adc at f804c000 {
				status = "okay";
				atmel,adc-channels-used = <0x1>;
				atmel,adc-num-channels = <1>;
				compatible = "atmel,at91sam9x5-adc";
				atmel,adc-startup-time = <40>;
				atmel,adc-status-register = <0x1c>;
				atmel,adc-trigger-register = <0x08>;
				atmel,adc-use-external;
				atmel,adc-vref = <3300>;
				atmel,adc-res = <8 10>;
				atmel,adc-res-names = "lowres", "highres";
				atmel,adc-use-res = "highres";

				trigger at 0 {
					trigger-name = "continuous";
					trigger-value = <0x6>;
				};
			};

			dbgu: serial at fffff200 {
				status = "okay";
			};

			pinctrl at fffff400 {
				w1_0 {
					pinctrl_w1_0: w1_0-0 {
						atmel,pins = <0 21 0x0 0x1>; /* PA21 PIO, pull-up */
					};
				};

				pwm0 {
					pinctrl_pwm0: pwm0-0 {
						atmel,pins =
						< AT91_PIOC 18 AT91_PERIPH_C AT91_PINCTRL_NONE
						AT91_PIOC 19 AT91_PERIPH_C AT91_PINCTRL_NONE
						AT91_PIOC 20 AT91_PERIPH_C AT91_PINCTRL_NONE
						AT91_PIOC 21 AT91_PERIPH_C AT91_PINCTRL_NONE >;
					};
				};
			};

			pwm0: pwm at f8034000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_pwm0>;
				status = "okay";
			};

			rtc at fffffeb0 {
				status = "okay";
			};

			usb2: gadget at f803c000 {
				atmel,vbus-gpio = <&pioC 27 GPIO_ACTIVE_HIGH>;
/*
				compatible = "atmel,at91rm9200-udc";
				clocks = <&usb>, <&udphs_clk>;
				clock-names = "hclk", "pclk";
*/
				status = "okay";
			};

		};

		usb0: ohci at 00600000 {
			status = "okay";
			num-ports = <3>;
			atmel,vbus-gpio = <&pioC 30 GPIO_ACTIVE_HIGH>;
			atmel,oc-gpio = <&pioC 28 GPIO_ACTIVE_LOW>;

		};

		usb1: ehci at 00700000 {
			status = "okay";
			num-ports = <3>;
			atmel,vbus-gpio = <&pioC 31 GPIO_ACTIVE_HIGH>;
			atmel,oc-gpio = <&pioC 29 GPIO_ACTIVE_LOW>;
		};

	};

	leds {
		compatible = "gpio-leds";

		aria_led {
			label = "aria_led";
			gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; /* PB8 */
			linux,default-trigger = "heartbeat";
		};

/*
pioB  8 led si schedino
pioA 29 abilitazione misura batteria (set HIGH)
pioC 14 abilitazione stampante (attivo basso, nasce alto)
*/
	};

	gpio_keys {
		compatible = "gpio-keys";
		powfail {
			label = "PowerFail";
			gpios = <&pioA 31 GPIO_ACTIVE_LOW>;
			linux,code = <117>;
			gpio-key,wakeup;
		};
		shutdown {
			label = "Shutdown";
			gpios = <&pioC 15 GPIO_ACTIVE_LOW>;
			linux,code = <116>;
			gpio-key,wakeup;
		};
		paperfeed {
			label = "PaperFeed";
			gpios = <&pioC 17 GPIO_ACTIVE_LOW>;
			linux,code = <115>;
			gpio-key,wakeup;
		};
		batteryon {
			label = "BatteryConnected";
			gpios = <&pioC 16 GPIO_ACTIVE_HIGH>;
			linux,code = <114>;
			gpio-key,wakeup;
		};
		initservice {
			label = "InitService";
			gpios = <&pioC 26 GPIO_ACTIVE_LOW>;
			linux,code = <113>;
			gpio-key,wakeup;
		};
	};

};

                 reply	other threads:[~2015-08-12 22:12 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55CBC4EA.8040309@mclink.it \
    --to=mc5686@mclink.it \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.