* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-25 15:32 ` Adam Sampson 0 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-25 15:32 UTC (permalink / raw) To: maxime.ripard; +Cc: devicetree, Adam Sampson, linux-arm-kernel Add support for the LinkSprite pcDuino 3 Nano board. This is a low-cost Allwinner A20 board with Arduino-style GPIO headers; it features 1G RAM, 4G NAND flash, 1 micro-SD, 2 USB sockets, 1 micro USB socket for OTG and another for power in, HDMI, SATA, 5V power for SATA devices, gigabit Ethernet, an IR receiver, 3.5mm audio out and a MIPI camera connector. For more details, see: http://linux-sunxi.org/LinkSprite_pcDuino3_Nano Signed-off-by: Adam Sampson <ats@offog.org> --- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts | 203 +++++++++++++++++++++++++ 2 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 7df26a2..c025724 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -479,7 +479,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \ sun7i-a20-olinuxino-lime.dtb \ sun7i-a20-olinuxino-lime2.dtb \ sun7i-a20-olinuxino-micro.dtb \ - sun7i-a20-pcduino3.dtb + sun7i-a20-pcduino3.dtb \ + sun7i-a20-pcduino3-nano.dtb dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a23-ippo-q8h-v5.dtb \ sun8i-a23-ippo-q8h-v1.2.dtb diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts new file mode 100644 index 0000000..a2b18de --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts @@ -0,0 +1,203 @@ +/* + * Copyright 2015 Adam Sampson <ats@offog.org> + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This file is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this file; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + * MA 02110-1301 USA + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/dts-v1/; +#include "sun7i-a20.dtsi" +#include "sunxi-common-regulators.dtsi" +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> + +/ { + model = "LinkSprite pcDuino3 Nano"; + compatible = "linksprite,pcduino3-nano", "allwinner,sun7i-a20"; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins_pcduino3_nano>; + + led3 { + label = "pcduino3-nano:green:led3"; + gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */ + }; + + led4 { + label = "pcduino3-nano:green:led4"; + gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */ + }; + }; +}; + +&ahci { + target-supply = <®_ahci_5v>; + status = "okay"; +}; + +&ehci0 { + status = "okay"; +}; + +&ehci1 { + status = "okay"; +}; + +&gmac { + pinctrl-names = "default"; + pinctrl-0 = <&gmac_pins_rgmii_a>; + phy = <&phy1>; + phy-mode = "rgmii"; + status = "okay"; + + phy1: ethernet-phy@1 { + reg = <1>; + }; +}; + +&i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins_a>; + status = "okay"; + + axp209: pmic@34 { + compatible = "x-powers,axp209"; + reg = <0x34>; + interrupt-parent = <&nmi_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + + interrupt-controller; + #interrupt-cells = <1>; + }; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins_a>; + status = "okay"; +}; + +&ir0 { + pinctrl-names = "default"; + pinctrl-0 = <&ir0_pins_a>; + status = "okay"; +}; + +&mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ + cd-inverted; + status = "okay"; +}; + +&ohci0 { + status = "okay"; +}; + +&ohci1 { + status = "okay"; +}; + +&pio { + ahci_pwr_pin_a: ahci_pwr_pin@0 { + allwinner,pins = "PH2"; + }; + + led_pins_pcduino3_nano: led_pins@0 { + allwinner,pins = "PH16", "PH15"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; + + usb1_vbus_pin_pcduino3_nano: usb1_vbus_pin@0 { + allwinner,pins = "PH11"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; +}; + +®_ahci_5v { + gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ + status = "okay"; +}; + +®_usb1_vbus { + pinctrl-0 = <&usb1_vbus_pin_pcduino3_nano>; + gpio = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ + status = "okay"; +}; + +®_usb2_vbus { + status = "okay"; +}; + +&spi0 { + pinctrl-names = "default"; + pinctrl-0 = <&spi0_pins_a>; + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins_a>; + status = "okay"; +}; + +&usbphy { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; +}; -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-25 15:32 ` Adam Sampson 0 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-25 15:32 UTC (permalink / raw) To: linux-arm-kernel Add support for the LinkSprite pcDuino 3 Nano board. This is a low-cost Allwinner A20 board with Arduino-style GPIO headers; it features 1G RAM, 4G NAND flash, 1 micro-SD, 2 USB sockets, 1 micro USB socket for OTG and another for power in, HDMI, SATA, 5V power for SATA devices, gigabit Ethernet, an IR receiver, 3.5mm audio out and a MIPI camera connector. For more details, see: http://linux-sunxi.org/LinkSprite_pcDuino3_Nano Signed-off-by: Adam Sampson <ats@offog.org> --- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts | 203 +++++++++++++++++++++++++ 2 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 7df26a2..c025724 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -479,7 +479,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \ sun7i-a20-olinuxino-lime.dtb \ sun7i-a20-olinuxino-lime2.dtb \ sun7i-a20-olinuxino-micro.dtb \ - sun7i-a20-pcduino3.dtb + sun7i-a20-pcduino3.dtb \ + sun7i-a20-pcduino3-nano.dtb dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a23-ippo-q8h-v5.dtb \ sun8i-a23-ippo-q8h-v1.2.dtb diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts new file mode 100644 index 0000000..a2b18de --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts @@ -0,0 +1,203 @@ +/* + * Copyright 2015 Adam Sampson <ats@offog.org> + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This file is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this file; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + * MA 02110-1301 USA + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/dts-v1/; +#include "sun7i-a20.dtsi" +#include "sunxi-common-regulators.dtsi" +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> + +/ { + model = "LinkSprite pcDuino3 Nano"; + compatible = "linksprite,pcduino3-nano", "allwinner,sun7i-a20"; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins_pcduino3_nano>; + + led3 { + label = "pcduino3-nano:green:led3"; + gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */ + }; + + led4 { + label = "pcduino3-nano:green:led4"; + gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */ + }; + }; +}; + +&ahci { + target-supply = <®_ahci_5v>; + status = "okay"; +}; + +&ehci0 { + status = "okay"; +}; + +&ehci1 { + status = "okay"; +}; + +&gmac { + pinctrl-names = "default"; + pinctrl-0 = <&gmac_pins_rgmii_a>; + phy = <&phy1>; + phy-mode = "rgmii"; + status = "okay"; + + phy1: ethernet-phy at 1 { + reg = <1>; + }; +}; + +&i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins_a>; + status = "okay"; + + axp209: pmic at 34 { + compatible = "x-powers,axp209"; + reg = <0x34>; + interrupt-parent = <&nmi_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + + interrupt-controller; + #interrupt-cells = <1>; + }; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins_a>; + status = "okay"; +}; + +&ir0 { + pinctrl-names = "default"; + pinctrl-0 = <&ir0_pins_a>; + status = "okay"; +}; + +&mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ + cd-inverted; + status = "okay"; +}; + +&ohci0 { + status = "okay"; +}; + +&ohci1 { + status = "okay"; +}; + +&pio { + ahci_pwr_pin_a: ahci_pwr_pin at 0 { + allwinner,pins = "PH2"; + }; + + led_pins_pcduino3_nano: led_pins at 0 { + allwinner,pins = "PH16", "PH15"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; + + usb1_vbus_pin_pcduino3_nano: usb1_vbus_pin at 0 { + allwinner,pins = "PH11"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; +}; + +®_ahci_5v { + gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ + status = "okay"; +}; + +®_usb1_vbus { + pinctrl-0 = <&usb1_vbus_pin_pcduino3_nano>; + gpio = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ + status = "okay"; +}; + +®_usb2_vbus { + status = "okay"; +}; + +&spi0 { + pinctrl-names = "default"; + pinctrl-0 = <&spi0_pins_a>; + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins_a>; + status = "okay"; +}; + +&usbphy { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; +}; -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
[parent not found: <1422199921-325-1-git-send-email-ats-G+91BasbrijYtjvyW6yDsg@public.gmane.org>]
* Re: [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board 2015-01-25 15:32 ` Adam Sampson @ 2015-01-25 16:48 ` Maxime Ripard -1 siblings, 0 replies; 14+ messages in thread From: Maxime Ripard @ 2015-01-25 16:48 UTC (permalink / raw) To: Adam Sampson Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r [-- Attachment #1: Type: text/plain, Size: 7902 bytes --] Hi Adam, On Sun, Jan 25, 2015 at 03:32:01PM +0000, Adam Sampson wrote: > Add support for the LinkSprite pcDuino 3 Nano board. This is a low-cost > Allwinner A20 board with Arduino-style GPIO headers; it features 1G RAM, > 4G NAND flash, 1 micro-SD, 2 USB sockets, 1 micro USB socket for OTG and > another for power in, HDMI, SATA, 5V power for SATA devices, gigabit > Ethernet, an IR receiver, 3.5mm audio out and a MIPI camera connector. > > For more details, see: http://linux-sunxi.org/LinkSprite_pcDuino3_Nano > > Signed-off-by: Adam Sampson <ats-G+91BasbrijYtjvyW6yDsg@public.gmane.org> Thanks for your patch. > --- > arch/arm/boot/dts/Makefile | 3 +- > arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts | 203 +++++++++++++++++++++++++ > 2 files changed, 205 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 7df26a2..c025724 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -479,7 +479,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \ > sun7i-a20-olinuxino-lime.dtb \ > sun7i-a20-olinuxino-lime2.dtb \ > sun7i-a20-olinuxino-micro.dtb \ > - sun7i-a20-pcduino3.dtb > + sun7i-a20-pcduino3.dtb \ > + sun7i-a20-pcduino3-nano.dtb > dtb-$(CONFIG_MACH_SUN8I) += \ > sun8i-a23-ippo-q8h-v5.dtb \ > sun8i-a23-ippo-q8h-v1.2.dtb > diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts > new file mode 100644 > index 0000000..a2b18de > --- /dev/null > +++ b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts > @@ -0,0 +1,203 @@ > +/* > + * Copyright 2015 Adam Sampson <ats-G+91BasbrijYtjvyW6yDsg@public.gmane.org> > + * > + * This file is dual-licensed: you can use it either under the terms > + * of the GPL or the X11 license, at your option. Note that this dual > + * licensing only applies to this file, and not this project as a > + * whole. > + * > + * a) This file is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of the > + * License, or (at your option) any later version. > + * > + * This file is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public > + * License along with this file; if not, write to the Free > + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, > + * MA 02110-1301 USA > + * > + * Or, alternatively, > + * > + * b) Permission is hereby granted, free of charge, to any person > + * obtaining a copy of this software and associated documentation > + * files (the "Software"), to deal in the Software without > + * restriction, including without limitation the rights to use, > + * copy, modify, merge, publish, distribute, sublicense, and/or > + * sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following > + * conditions: > + * > + * The above copyright notice and this permission notice shall be > + * included in all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES > + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > + * OTHER DEALINGS IN THE SOFTWARE. > + */ > + > +/dts-v1/; > +#include "sun7i-a20.dtsi" > +#include "sunxi-common-regulators.dtsi" > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > + > +/ { > + model = "LinkSprite pcDuino3 Nano"; > + compatible = "linksprite,pcduino3-nano", "allwinner,sun7i-a20"; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&led_pins_pcduino3_nano>; > + > + led3 { > + label = "pcduino3-nano:green:led3"; > + gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */ > + }; > + > + led4 { > + label = "pcduino3-nano:green:led4"; > + gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */ > + }; Where are the three other leds? Also, usually, the last part of the label is what the led function usually is. In most case, "usr" will be fine, that might be others too, but the led number definitely isn't an option. > + }; > +}; > + > +&ahci { > + target-supply = <®_ahci_5v>; > + status = "okay"; > +}; > + > +&ehci0 { > + status = "okay"; > +}; > + > +&ehci1 { > + status = "okay"; > +}; > + > +&gmac { > + pinctrl-names = "default"; > + pinctrl-0 = <&gmac_pins_rgmii_a>; > + phy = <&phy1>; > + phy-mode = "rgmii"; > + status = "okay"; > + > + phy1: ethernet-phy@1 { > + reg = <1>; > + }; > +}; > + > +&i2c0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c0_pins_a>; > + status = "okay"; > + > + axp209: pmic@34 { > + compatible = "x-powers,axp209"; > + reg = <0x34>; > + interrupt-parent = <&nmi_intc>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > + > + interrupt-controller; > + #interrupt-cells = <1>; > + }; > +}; > + > +&i2c2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c2_pins_a>; > + status = "okay"; > +}; > + > +&ir0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&ir0_pins_a>; > + status = "okay"; > +}; > + > +&mmc0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; > + vmmc-supply = <®_vcc3v3>; > + bus-width = <4>; > + cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ > + cd-inverted; > + status = "okay"; > +}; > + > +&ohci0 { > + status = "okay"; > +}; > + > +&ohci1 { > + status = "okay"; > +}; > + > +&pio { > + ahci_pwr_pin_a: ahci_pwr_pin@0 { > + allwinner,pins = "PH2"; > + }; We usually declare a whole new node for this one... > + led_pins_pcduino3_nano: led_pins@0 { > + allwinner,pins = "PH16", "PH15"; > + allwinner,function = "gpio_out"; > + allwinner,drive = <SUN4I_PINCTRL_10_MA>; > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; > + }; > + > + usb1_vbus_pin_pcduino3_nano: usb1_vbus_pin@0 { > + allwinner,pins = "PH11"; > + allwinner,function = "gpio_out"; > + allwinner,drive = <SUN4I_PINCTRL_10_MA>; > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; > + }; > +}; > + > +®_ahci_5v { > + gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ ... and we override the pinctrl-0 property here. > + status = "okay"; > +}; > + > +®_usb1_vbus { > + pinctrl-0 = <&usb1_vbus_pin_pcduino3_nano>; > + gpio = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ > + status = "okay"; > +}; > + > +®_usb2_vbus { > + status = "okay"; > +}; > + > +&spi0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&spi0_pins_a>; > + status = "okay"; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_pins_a>; > + status = "okay"; > +}; > + > +&uart2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart2_pins_a>; > + status = "okay"; > +}; You probably want aliases for these two UARTs. Looks good otherwise, Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-25 16:48 ` Maxime Ripard 0 siblings, 0 replies; 14+ messages in thread From: Maxime Ripard @ 2015-01-25 16:48 UTC (permalink / raw) To: linux-arm-kernel Hi Adam, On Sun, Jan 25, 2015 at 03:32:01PM +0000, Adam Sampson wrote: > Add support for the LinkSprite pcDuino 3 Nano board. This is a low-cost > Allwinner A20 board with Arduino-style GPIO headers; it features 1G RAM, > 4G NAND flash, 1 micro-SD, 2 USB sockets, 1 micro USB socket for OTG and > another for power in, HDMI, SATA, 5V power for SATA devices, gigabit > Ethernet, an IR receiver, 3.5mm audio out and a MIPI camera connector. > > For more details, see: http://linux-sunxi.org/LinkSprite_pcDuino3_Nano > > Signed-off-by: Adam Sampson <ats@offog.org> Thanks for your patch. > --- > arch/arm/boot/dts/Makefile | 3 +- > arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts | 203 +++++++++++++++++++++++++ > 2 files changed, 205 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 7df26a2..c025724 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -479,7 +479,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \ > sun7i-a20-olinuxino-lime.dtb \ > sun7i-a20-olinuxino-lime2.dtb \ > sun7i-a20-olinuxino-micro.dtb \ > - sun7i-a20-pcduino3.dtb > + sun7i-a20-pcduino3.dtb \ > + sun7i-a20-pcduino3-nano.dtb > dtb-$(CONFIG_MACH_SUN8I) += \ > sun8i-a23-ippo-q8h-v5.dtb \ > sun8i-a23-ippo-q8h-v1.2.dtb > diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts > new file mode 100644 > index 0000000..a2b18de > --- /dev/null > +++ b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts > @@ -0,0 +1,203 @@ > +/* > + * Copyright 2015 Adam Sampson <ats@offog.org> > + * > + * This file is dual-licensed: you can use it either under the terms > + * of the GPL or the X11 license, at your option. Note that this dual > + * licensing only applies to this file, and not this project as a > + * whole. > + * > + * a) This file is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of the > + * License, or (at your option) any later version. > + * > + * This file is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public > + * License along with this file; if not, write to the Free > + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, > + * MA 02110-1301 USA > + * > + * Or, alternatively, > + * > + * b) Permission is hereby granted, free of charge, to any person > + * obtaining a copy of this software and associated documentation > + * files (the "Software"), to deal in the Software without > + * restriction, including without limitation the rights to use, > + * copy, modify, merge, publish, distribute, sublicense, and/or > + * sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following > + * conditions: > + * > + * The above copyright notice and this permission notice shall be > + * included in all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES > + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > + * OTHER DEALINGS IN THE SOFTWARE. > + */ > + > +/dts-v1/; > +#include "sun7i-a20.dtsi" > +#include "sunxi-common-regulators.dtsi" > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > + > +/ { > + model = "LinkSprite pcDuino3 Nano"; > + compatible = "linksprite,pcduino3-nano", "allwinner,sun7i-a20"; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&led_pins_pcduino3_nano>; > + > + led3 { > + label = "pcduino3-nano:green:led3"; > + gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */ > + }; > + > + led4 { > + label = "pcduino3-nano:green:led4"; > + gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */ > + }; Where are the three other leds? Also, usually, the last part of the label is what the led function usually is. In most case, "usr" will be fine, that might be others too, but the led number definitely isn't an option. > + }; > +}; > + > +&ahci { > + target-supply = <®_ahci_5v>; > + status = "okay"; > +}; > + > +&ehci0 { > + status = "okay"; > +}; > + > +&ehci1 { > + status = "okay"; > +}; > + > +&gmac { > + pinctrl-names = "default"; > + pinctrl-0 = <&gmac_pins_rgmii_a>; > + phy = <&phy1>; > + phy-mode = "rgmii"; > + status = "okay"; > + > + phy1: ethernet-phy at 1 { > + reg = <1>; > + }; > +}; > + > +&i2c0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c0_pins_a>; > + status = "okay"; > + > + axp209: pmic at 34 { > + compatible = "x-powers,axp209"; > + reg = <0x34>; > + interrupt-parent = <&nmi_intc>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > + > + interrupt-controller; > + #interrupt-cells = <1>; > + }; > +}; > + > +&i2c2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c2_pins_a>; > + status = "okay"; > +}; > + > +&ir0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&ir0_pins_a>; > + status = "okay"; > +}; > + > +&mmc0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; > + vmmc-supply = <®_vcc3v3>; > + bus-width = <4>; > + cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ > + cd-inverted; > + status = "okay"; > +}; > + > +&ohci0 { > + status = "okay"; > +}; > + > +&ohci1 { > + status = "okay"; > +}; > + > +&pio { > + ahci_pwr_pin_a: ahci_pwr_pin at 0 { > + allwinner,pins = "PH2"; > + }; We usually declare a whole new node for this one... > + led_pins_pcduino3_nano: led_pins at 0 { > + allwinner,pins = "PH16", "PH15"; > + allwinner,function = "gpio_out"; > + allwinner,drive = <SUN4I_PINCTRL_10_MA>; > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; > + }; > + > + usb1_vbus_pin_pcduino3_nano: usb1_vbus_pin at 0 { > + allwinner,pins = "PH11"; > + allwinner,function = "gpio_out"; > + allwinner,drive = <SUN4I_PINCTRL_10_MA>; > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; > + }; > +}; > + > +®_ahci_5v { > + gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ ... and we override the pinctrl-0 property here. > + status = "okay"; > +}; > + > +®_usb1_vbus { > + pinctrl-0 = <&usb1_vbus_pin_pcduino3_nano>; > + gpio = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ > + status = "okay"; > +}; > + > +®_usb2_vbus { > + status = "okay"; > +}; > + > +&spi0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&spi0_pins_a>; > + status = "okay"; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_pins_a>; > + status = "okay"; > +}; > + > +&uart2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart2_pins_a>; > + status = "okay"; > +}; You probably want aliases for these two UARTs. Looks good otherwise, Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150125/d407b93b/attachment-0001.sig> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board 2015-01-25 16:48 ` Maxime Ripard @ 2015-01-26 0:35 ` Adam Sampson -1 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-26 0:35 UTC (permalink / raw) To: Maxime Ripard Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-linux-sunxi-/JYPxA39Uh5TLH3MbocFFw Hi Maxime, On Sun, Jan 25, 2015 at 05:48:46PM +0100, Maxime Ripard wrote: > > + label = "pcduino3-nano:green:led3"; ... > > + label = "pcduino3-nano:green:led4"; > Where are the three other leds? LED1 is the power LED, and as far as I can see there isn't an LED2 on the board. LED5 is next to LED3/4, but it's not exposed by the 3.4 kernel that LinkSprite ship, and this forum post says it's not software-controllable (which seems weird): http://forum.linksprite.com/index.php?/topic/3145-pcduino3-nano-led-control/ > Also, usually, the last part of the label is what the led function > usually is. "LED3" and "LED4" are how those LEDs are actually labelled on the board (unlike the pcDuino v3, which labels them "TX" and "RX", and calls them pcduino3:green:rx/tx in the DTS). I've changed them to pcduino3-nano:led3:usr and pcduino3-nano:led4:usr, but if you've got any better suggestions then please let me know! > > +&pio { > > + ahci_pwr_pin_a: ahci_pwr_pin@0 { > > + allwinner,pins = "PH2"; > > + }; > We usually declare a whole new node for this one... ... > > +®_ahci_5v { > > + gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ > ... and we override the pinctrl-0 property here. Done -- I've followed lime2's example, which makes it looks the same as I've done for reg_usb1_vbus. > > +&uart0 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart0_pins_a>; > > + status = "okay"; > > +}; > > + > > +&uart2 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart2_pins_a>; > > + status = "okay"; > > +}; > > You probably want aliases for these two UARTs. Done: I've aliased serial0 = &uart0 and serial1 = &uart2. Should there be aliases for I2C as well, since the same situation applies (i2c0 and i2c2)? More generally, is it correct to add nodes like these (uart2, spi0, i2c2) for features that appear on the Arduino GPIO headers? Thanks very much, -- Adam Sampson <ats-G+91BasbrijYtjvyW6yDsg@public.gmane.org> <http://offog.org/> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-26 0:35 ` Adam Sampson 0 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-26 0:35 UTC (permalink / raw) To: linux-arm-kernel Hi Maxime, On Sun, Jan 25, 2015 at 05:48:46PM +0100, Maxime Ripard wrote: > > + label = "pcduino3-nano:green:led3"; ... > > + label = "pcduino3-nano:green:led4"; > Where are the three other leds? LED1 is the power LED, and as far as I can see there isn't an LED2 on the board. LED5 is next to LED3/4, but it's not exposed by the 3.4 kernel that LinkSprite ship, and this forum post says it's not software-controllable (which seems weird): http://forum.linksprite.com/index.php?/topic/3145-pcduino3-nano-led-control/ > Also, usually, the last part of the label is what the led function > usually is. "LED3" and "LED4" are how those LEDs are actually labelled on the board (unlike the pcDuino v3, which labels them "TX" and "RX", and calls them pcduino3:green:rx/tx in the DTS). I've changed them to pcduino3-nano:led3:usr and pcduino3-nano:led4:usr, but if you've got any better suggestions then please let me know! > > +&pio { > > + ahci_pwr_pin_a: ahci_pwr_pin at 0 { > > + allwinner,pins = "PH2"; > > + }; > We usually declare a whole new node for this one... ... > > +®_ahci_5v { > > + gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ > ... and we override the pinctrl-0 property here. Done -- I've followed lime2's example, which makes it looks the same as I've done for reg_usb1_vbus. > > +&uart0 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart0_pins_a>; > > + status = "okay"; > > +}; > > + > > +&uart2 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart2_pins_a>; > > + status = "okay"; > > +}; > > You probably want aliases for these two UARTs. Done: I've aliased serial0 = &uart0 and serial1 = &uart2. Should there be aliases for I2C as well, since the same situation applies (i2c0 and i2c2)? More generally, is it correct to add nodes like these (uart2, spi0, i2c2) for features that appear on the Arduino GPIO headers? Thanks very much, -- Adam Sampson <ats@offog.org> <http://offog.org/> ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <20150126003520.GA871-dFjyuVMluBNBLe56cvE0J2D2FQJk+8+b@public.gmane.org>]
* Re: [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board 2015-01-26 0:35 ` Adam Sampson @ 2015-01-26 10:09 ` Maxime Ripard -1 siblings, 0 replies; 14+ messages in thread From: Maxime Ripard @ 2015-01-26 10:09 UTC (permalink / raw) To: Adam Sampson Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-linux-sunxi-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 2163 bytes --] On Mon, Jan 26, 2015 at 12:35:20AM +0000, Adam Sampson wrote: > Hi Maxime, > > On Sun, Jan 25, 2015 at 05:48:46PM +0100, Maxime Ripard wrote: > > > + label = "pcduino3-nano:green:led3"; > ... > > > + label = "pcduino3-nano:green:led4"; > > Where are the three other leds? > > LED1 is the power LED, and as far as I can see there isn't an LED2 on > the board. LED5 is next to LED3/4, but it's not exposed by the 3.4 > kernel that LinkSprite ship, and this forum post says it's not > software-controllable (which seems weird): > http://forum.linksprite.com/index.php?/topic/3145-pcduino3-nano-led-control/ > > > Also, usually, the last part of the label is what the led function > > usually is. > > "LED3" and "LED4" are how those LEDs are actually labelled on the board > (unlike the pcDuino v3, which labels them "TX" and "RX", and calls them > pcduino3:green:rx/tx in the DTS). I've changed them to > pcduino3-nano:led3:usr and pcduino3-nano:led4:usr, but if you've got any > better suggestions then please let me know! It depends on what the leds are used for, but this is not what the label should be either. If you read Documentation/leds/leds-class.txt, the pattern to follow is: "devicename:colour:function" so it should rather be pcduino3-nano:green:usr1 and usr2, or some other thing. > > > +&uart0 { > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&uart0_pins_a>; > > > + status = "okay"; > > > +}; > > > + > > > +&uart2 { > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&uart2_pins_a>; > > > + status = "okay"; > > > +}; > > > > You probably want aliases for these two UARTs. > > Done: I've aliased serial0 = &uart0 and serial1 = &uart2. Should there > be aliases for I2C as well, since the same situation applies (i2c0 and > i2c2)? Yep. > More generally, is it correct to add nodes like these (uart2, spi0, > i2c2) for features that appear on the Arduino GPIO headers? If those pins are specifically dedicated to this feature, then yes. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-26 10:09 ` Maxime Ripard 0 siblings, 0 replies; 14+ messages in thread From: Maxime Ripard @ 2015-01-26 10:09 UTC (permalink / raw) To: linux-arm-kernel On Mon, Jan 26, 2015 at 12:35:20AM +0000, Adam Sampson wrote: > Hi Maxime, > > On Sun, Jan 25, 2015 at 05:48:46PM +0100, Maxime Ripard wrote: > > > + label = "pcduino3-nano:green:led3"; > ... > > > + label = "pcduino3-nano:green:led4"; > > Where are the three other leds? > > LED1 is the power LED, and as far as I can see there isn't an LED2 on > the board. LED5 is next to LED3/4, but it's not exposed by the 3.4 > kernel that LinkSprite ship, and this forum post says it's not > software-controllable (which seems weird): > http://forum.linksprite.com/index.php?/topic/3145-pcduino3-nano-led-control/ > > > Also, usually, the last part of the label is what the led function > > usually is. > > "LED3" and "LED4" are how those LEDs are actually labelled on the board > (unlike the pcDuino v3, which labels them "TX" and "RX", and calls them > pcduino3:green:rx/tx in the DTS). I've changed them to > pcduino3-nano:led3:usr and pcduino3-nano:led4:usr, but if you've got any > better suggestions then please let me know! It depends on what the leds are used for, but this is not what the label should be either. If you read Documentation/leds/leds-class.txt, the pattern to follow is: "devicename:colour:function" so it should rather be pcduino3-nano:green:usr1 and usr2, or some other thing. > > > +&uart0 { > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&uart0_pins_a>; > > > + status = "okay"; > > > +}; > > > + > > > +&uart2 { > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&uart2_pins_a>; > > > + status = "okay"; > > > +}; > > > > You probably want aliases for these two UARTs. > > Done: I've aliased serial0 = &uart0 and serial1 = &uart2. Should there > be aliases for I2C as well, since the same situation applies (i2c0 and > i2c2)? Yep. > More generally, is it correct to add nodes like these (uart2, spi0, > i2c2) for features that appear on the Arduino GPIO headers? If those pins are specifically dedicated to this feature, then yes. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150126/f9329746/attachment.sig> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board 2015-01-26 10:09 ` Maxime Ripard @ 2015-01-26 13:59 ` Adam Sampson -1 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-26 13:59 UTC (permalink / raw) To: Maxime Ripard Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw Hi Maxime, On Mon, Jan 26, 2015 at 11:09:21AM +0100, Maxime Ripard wrote: > If you read Documentation/leds/leds-class.txt, the pattern to follow is: > "devicename:colour:function" > so it should rather be pcduino3-nano:green:usr1 and usr2, or some > other thing. How about pcduino3-nano:green:usr-led3/4? Or ...:usr1/2, and a comment in the .dts explaining how they're labelled on the board? There are a couple of other sunxi boards that have the same problem (multiple user-controllable LEDs of the same colour): sun4i-a10-marsboard.dts: label = "marsboard:red1:usr"; sun4i-a10-marsboard.dts: label = "marsboard:red2:usr"; sun4i-a10-marsboard.dts: label = "marsboard:red3:usr"; sun4i-a10-marsboard.dts: label = "marsboard:red4:usr"; sun9i-a80-optimus.dts: label = "optimus:led2:usr"; sun9i-a80-optimus.dts: label = "optimus:led4:usr"; I can send a patch for those if you'd like as well? > > Should there be aliases for I2C as well, since the same situation > > applies (i2c0 and i2c2)? > Yep. Added. > > More generally, is it correct to add nodes like these (uart2, spi0, > > i2c2) for features that appear on the Arduino GPIO headers? > If those pins are specifically dedicated to this feature, then yes. They're multipurpose pins on Arduino-compatible headers: http://learn.linksprite.com/wp-content/uploads/2014/10/pcDuino3-Nano_header-Model.jpg How you want them to be configured will depend on what you have plugged in; for example, some Arduino add-on boards will expect J11 P1/2 to be serial RX/TX and some will expect them to be GPIOs. So should we configure i2c2 etc. by default (and let the user turn them into GPIOs if required), or just provide the GPIOs (and require the user to adjust the .dts)? Cheers, -- Adam Sampson <ats-G+91BasbrijYtjvyW6yDsg@public.gmane.org> <http://offog.org/> ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-26 13:59 ` Adam Sampson 0 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-26 13:59 UTC (permalink / raw) To: linux-arm-kernel Hi Maxime, On Mon, Jan 26, 2015 at 11:09:21AM +0100, Maxime Ripard wrote: > If you read Documentation/leds/leds-class.txt, the pattern to follow is: > "devicename:colour:function" > so it should rather be pcduino3-nano:green:usr1 and usr2, or some > other thing. How about pcduino3-nano:green:usr-led3/4? Or ...:usr1/2, and a comment in the .dts explaining how they're labelled on the board? There are a couple of other sunxi boards that have the same problem (multiple user-controllable LEDs of the same colour): sun4i-a10-marsboard.dts: label = "marsboard:red1:usr"; sun4i-a10-marsboard.dts: label = "marsboard:red2:usr"; sun4i-a10-marsboard.dts: label = "marsboard:red3:usr"; sun4i-a10-marsboard.dts: label = "marsboard:red4:usr"; sun9i-a80-optimus.dts: label = "optimus:led2:usr"; sun9i-a80-optimus.dts: label = "optimus:led4:usr"; I can send a patch for those if you'd like as well? > > Should there be aliases for I2C as well, since the same situation > > applies (i2c0 and i2c2)? > Yep. Added. > > More generally, is it correct to add nodes like these (uart2, spi0, > > i2c2) for features that appear on the Arduino GPIO headers? > If those pins are specifically dedicated to this feature, then yes. They're multipurpose pins on Arduino-compatible headers: http://learn.linksprite.com/wp-content/uploads/2014/10/pcDuino3-Nano_header-Model.jpg How you want them to be configured will depend on what you have plugged in; for example, some Arduino add-on boards will expect J11 P1/2 to be serial RX/TX and some will expect them to be GPIOs. So should we configure i2c2 etc. by default (and let the user turn them into GPIOs if required), or just provide the GPIOs (and require the user to adjust the .dts)? Cheers, -- Adam Sampson <ats@offog.org> <http://offog.org/> ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <20150126135931.GB871-dFjyuVMluBNBLe56cvE0J2D2FQJk+8+b@public.gmane.org>]
* Re: [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board 2015-01-26 13:59 ` Adam Sampson @ 2015-01-27 17:00 ` Maxime Ripard -1 siblings, 0 replies; 14+ messages in thread From: Maxime Ripard @ 2015-01-27 17:00 UTC (permalink / raw) To: Adam Sampson Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 2163 bytes --] On Mon, Jan 26, 2015 at 01:59:31PM +0000, Adam Sampson wrote: > Hi Maxime, > > On Mon, Jan 26, 2015 at 11:09:21AM +0100, Maxime Ripard wrote: > > If you read Documentation/leds/leds-class.txt, the pattern to follow is: > > "devicename:colour:function" > > so it should rather be pcduino3-nano:green:usr1 and usr2, or some > > other thing. > > How about pcduino3-nano:green:usr-led3/4? Or ...:usr1/2, and a comment > in the .dts explaining how they're labelled on the board? The latter looks better yes. tx and rx would do too, if you know what tx and what rx we're talking about here. > There are a couple of other sunxi boards that have the same problem > (multiple user-controllable LEDs of the same colour): > > sun4i-a10-marsboard.dts: label = "marsboard:red1:usr"; > sun4i-a10-marsboard.dts: label = "marsboard:red2:usr"; > sun4i-a10-marsboard.dts: label = "marsboard:red3:usr"; > sun4i-a10-marsboard.dts: label = "marsboard:red4:usr"; > sun9i-a80-optimus.dts: label = "optimus:led2:usr"; > sun9i-a80-optimus.dts: label = "optimus:led4:usr"; Thing is, it's too late for those. If we change the label, we would break the user space scripts that might depend on these names. > > > More generally, is it correct to add nodes like these (uart2, spi0, > > > i2c2) for features that appear on the Arduino GPIO headers? > > If those pins are specifically dedicated to this feature, then yes. > > They're multipurpose pins on Arduino-compatible headers: > http://learn.linksprite.com/wp-content/uploads/2014/10/pcDuino3-Nano_header-Model.jpg > > How you want them to be configured will depend on what you have plugged > in; for example, some Arduino add-on boards will expect J11 P1/2 to be > serial RX/TX and some will expect them to be GPIOs. So should we > configure i2c2 etc. by default (and let the user turn them into GPIOs > if required), or just provide the GPIOs (and require the user to adjust > the .dts)? None of the above, if there's no hardware default, we won't enforce any default either. This is a case for the DT overlays. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-27 17:00 ` Maxime Ripard 0 siblings, 0 replies; 14+ messages in thread From: Maxime Ripard @ 2015-01-27 17:00 UTC (permalink / raw) To: linux-arm-kernel On Mon, Jan 26, 2015 at 01:59:31PM +0000, Adam Sampson wrote: > Hi Maxime, > > On Mon, Jan 26, 2015 at 11:09:21AM +0100, Maxime Ripard wrote: > > If you read Documentation/leds/leds-class.txt, the pattern to follow is: > > "devicename:colour:function" > > so it should rather be pcduino3-nano:green:usr1 and usr2, or some > > other thing. > > How about pcduino3-nano:green:usr-led3/4? Or ...:usr1/2, and a comment > in the .dts explaining how they're labelled on the board? The latter looks better yes. tx and rx would do too, if you know what tx and what rx we're talking about here. > There are a couple of other sunxi boards that have the same problem > (multiple user-controllable LEDs of the same colour): > > sun4i-a10-marsboard.dts: label = "marsboard:red1:usr"; > sun4i-a10-marsboard.dts: label = "marsboard:red2:usr"; > sun4i-a10-marsboard.dts: label = "marsboard:red3:usr"; > sun4i-a10-marsboard.dts: label = "marsboard:red4:usr"; > sun9i-a80-optimus.dts: label = "optimus:led2:usr"; > sun9i-a80-optimus.dts: label = "optimus:led4:usr"; Thing is, it's too late for those. If we change the label, we would break the user space scripts that might depend on these names. > > > More generally, is it correct to add nodes like these (uart2, spi0, > > > i2c2) for features that appear on the Arduino GPIO headers? > > If those pins are specifically dedicated to this feature, then yes. > > They're multipurpose pins on Arduino-compatible headers: > http://learn.linksprite.com/wp-content/uploads/2014/10/pcDuino3-Nano_header-Model.jpg > > How you want them to be configured will depend on what you have plugged > in; for example, some Arduino add-on boards will expect J11 P1/2 to be > serial RX/TX and some will expect them to be GPIOs. So should we > configure i2c2 etc. by default (and let the user turn them into GPIOs > if required), or just provide the GPIOs (and require the user to adjust > the .dts)? None of the above, if there's no hardware default, we won't enforce any default either. This is a case for the DT overlays. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150127/07197640/attachment-0001.sig> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board 2015-01-27 17:00 ` Maxime Ripard @ 2015-01-27 18:25 ` Adam Sampson -1 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-27 18:25 UTC (permalink / raw) To: Maxime Ripard Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw On Tue, Jan 27, 2015 at 06:00:35PM +0100, Maxime Ripard wrote: > > How about pcduino3-nano:green:usr-led3/4? Or ...:usr1/2, and a comment > > in the .dts explaining how they're labelled on the board? > The latter looks better yes. tx and rx would do too, if you know what > tx and what rx we're talking about here. I've changed it to usr1/2 with comments. (I don't know if they were intended to be TX/RX; the documentation doesn't suggest so.) > > They're multipurpose pins on Arduino-compatible headers: ... > > So should we [...] > None of the above, if there's no hardware default, we won't enforce > any default either. This is a case for the DT overlays. OK -- that simplifies it quite a bit, then. v3 of the patch incoming! Thanks very much, -- Adam Sampson <ats-G+91BasbrijYtjvyW6yDsg@public.gmane.org> <http://offog.org/> ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board @ 2015-01-27 18:25 ` Adam Sampson 0 siblings, 0 replies; 14+ messages in thread From: Adam Sampson @ 2015-01-27 18:25 UTC (permalink / raw) To: linux-arm-kernel On Tue, Jan 27, 2015 at 06:00:35PM +0100, Maxime Ripard wrote: > > How about pcduino3-nano:green:usr-led3/4? Or ...:usr1/2, and a comment > > in the .dts explaining how they're labelled on the board? > The latter looks better yes. tx and rx would do too, if you know what > tx and what rx we're talking about here. I've changed it to usr1/2 with comments. (I don't know if they were intended to be TX/RX; the documentation doesn't suggest so.) > > They're multipurpose pins on Arduino-compatible headers: ... > > So should we [...] > None of the above, if there's no hardware default, we won't enforce > any default either. This is a case for the DT overlays. OK -- that simplifies it quite a bit, then. v3 of the patch incoming! Thanks very much, -- Adam Sampson <ats@offog.org> <http://offog.org/> ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-01-27 18:25 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-01-25 15:32 [PATCH] ARM: dts: sun7i: Add dts file for pcDuino 3 Nano board Adam Sampson 2015-01-25 15:32 ` Adam Sampson [not found] ` <1422199921-325-1-git-send-email-ats-G+91BasbrijYtjvyW6yDsg@public.gmane.org> 2015-01-25 16:48 ` Maxime Ripard 2015-01-25 16:48 ` Maxime Ripard 2015-01-26 0:35 ` Adam Sampson 2015-01-26 0:35 ` Adam Sampson [not found] ` <20150126003520.GA871-dFjyuVMluBNBLe56cvE0J2D2FQJk+8+b@public.gmane.org> 2015-01-26 10:09 ` Maxime Ripard 2015-01-26 10:09 ` Maxime Ripard 2015-01-26 13:59 ` Adam Sampson 2015-01-26 13:59 ` Adam Sampson [not found] ` <20150126135931.GB871-dFjyuVMluBNBLe56cvE0J2D2FQJk+8+b@public.gmane.org> 2015-01-27 17:00 ` Maxime Ripard 2015-01-27 17:00 ` Maxime Ripard 2015-01-27 18:25 ` Adam Sampson 2015-01-27 18:25 ` Adam Sampson
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.