From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: Re: [PATCH 3/3] ARM: dts: sunxi: add support for Orange Pi Zero board Date: Mon, 14 Nov 2016 11:00:32 +0100 Message-ID: References: <20161111164654.15273-1-icenowy@aosc.xyz> <20161111164654.15273-3-icenowy@aosc.xyz> <20161114085839.qzu7ebeghoqlqygn@lukather> Reply-To: hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Return-path: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org In-Reply-To: List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: Chen-Yu Tsai , Maxime Ripard Cc: Icenowy Zheng , Jonathan Corbet , Rob Herring , Mark Rutland , Russell King , "linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , linux-arm-kernel , linux-kernel , devicetree , linux-sunxi List-Id: devicetree@vger.kernel.org HI, On 14-11-16 10:09, Chen-Yu Tsai wrote: > On Mon, Nov 14, 2016 at 4:58 PM, Maxime Ripard > wrote: >> Hi, >> >> On Sat, Nov 12, 2016 at 12:46:54AM +0800, Icenowy Zheng wrote: >>> Orange Pi Zero is a board that came with the new Allwinner H2+ SoC. >>> >>> Add a device tree file for it. >>> >>> As there's still no mainline-compatible driver for the SDIO WLAN card on >>> board (a new card by Allwinner), the mmc1 controller is not enabled yet. >>> >>> Signed-off-by: Icenowy Zheng >>> --- >>> arch/arm/boot/dts/Makefile | 1 + >>> arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts | 148 +++++++++++++++++++++++ >>> 2 files changed, 149 insertions(+) >>> create mode 100644 arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts >>> >>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile >>> index befcd26..9843fb0 100644 >>> --- a/arch/arm/boot/dts/Makefile >>> +++ b/arch/arm/boot/dts/Makefile >>> @@ -818,6 +818,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ >>> sun8i-a33-sinlinx-sina33.dtb \ >>> sun8i-a83t-allwinner-h8homlet-v2.dtb \ >>> sun8i-a83t-cubietruck-plus.dtb \ >>> + sun8i-h2plus-orangepi-zero.dtb \ >>> sun8i-h3-bananapi-m2-plus.dtb \ >>> sun8i-h3-nanopi-neo.dtb \ >>> sun8i-h3-orangepi-2.dtb \ >>> diff --git a/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts >>> new file mode 100644 >>> index 0000000..581f56e >>> --- /dev/null >>> +++ b/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts >>> @@ -0,0 +1,148 @@ >>> +/* >>> + * Copyright (C) 2016 Icenowy Zheng >>> + * >>> + * Based on sun8i-h3-orangepi-one.dts, which is: >>> + * Copyright (C) 2016 Hans de Goede >>> + * >>> + * 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. >>> + * >>> + * 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 "sun8i-h2plus.dtsi" >>> +#include "sunxi-common-regulators.dtsi" >>> + >>> +#include >>> +#include >>> +#include >>> + >>> +/ { >>> + model = "Xunlong Orange Pi Zero"; >>> + compatible = "xunlong,orangepi-zero", "allwinner,sun8i-h2plus", >>> + "allwinner,sun8i-h3"; >> >> You don't need the H3 compatible here. >> >>> + >>> + aliases { >>> + serial0 = &uart0; >>> + }; >>> + >>> + chosen { >>> + stdout-path = "serial0:115200n8"; >>> + }; >>> + >>> + leds { >>> + compatible = "gpio-leds"; >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&leds_opi0>, <&leds_r_opi0>; >>> + >>> + pwr_led { >>> + label = "orangepi:green:pwr"; >>> + gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; >>> + default-state = "on"; >>> + }; >>> + >>> + status_led { >>> + label = "orangepi:red:status"; >>> + gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; >>> + }; >>> + }; >>> +}; >>> + >>> +&ehci1 { >>> + status = "okay"; >>> +}; >>> + >>> +&mmc0 { >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; >>> + vmmc-supply = <®_vcc3v3>; >>> + bus-width = <4>; >>> + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ >>> + cd-inverted; >>> + status = "okay"; >>> +}; >>> + >>> +&ohci1 { >>> + status = "okay"; >>> +}; >>> + >>> +&pio { >>> + leds_opi0: led_pins@0 { >>> + allwinner,pins = "PA17"; >>> + allwinner,function = "gpio_out"; >>> + allwinner,drive = ; >>> + allwinner,pull = ; >>> + }; >>> +}; >>> + >>> +&r_pio { >>> + leds_r_opi0: led_pins@0 { >>> + allwinner,pins = "PL10"; >>> + allwinner,function = "gpio_out"; >>> + allwinner,drive = ; >>> + allwinner,pull = ; >> >> You can drop the drive and pull properties, and could you use the >> generic pins and function properties for those nodes? > > Icenowy, > Given that sunxi-next is currently broken for the pinctrl stuff, > you will need this patch to test, until Linus merges it: > > https://github.com/wens/linux/commit/e8ce92925a6dd1b2b38ed8699e81d0bc9804de20 > >> >>> + }; >>> +}; >>> + >>> +&uart0 { >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&uart0_pins_a>; >>> + status = "okay"; >>> +}; >>> + >>> +&uart1 { >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&uart1_pins>; >>> + status = "disabled"; >>> +}; >>> + >>> +&uart2 { >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&uart2_pins>; >>> + status = "disabled"; >>> +}; >>> + >>> +&uart3 { >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&uart3_pins>; >>> + status = "disabled"; >>> +}; >> >> I'm guessing that those UART are exposed on headers? >> >>> + >>> +&usbphy { >>> + /* USB VBUS is always on */ >> >> You can put the always on regulators (I'm guessing reg_vcc5v0 ?) here. > > AFAIK the regulator properties are optional the the USB PHY. > So we probably don't need to add it. Hans (CC-ed) could explain > his original intent? I've made the regulators optional exactly for boards like these, where there is no regulator. Likely the Vbus is simply wired directly to the 5V DC-in jack. So IMHO adding something like the fixed reg_vcc5v0 a supply here just makes the dt harder to read. Regards, Hans > > Regards > ChenYu > >> >>> + status = "okay"; >>> +}; >> >> Thanks, >> Maxime >> >> -- >> Maxime Ripard, Free Electrons >> Embedded Linux and Kernel engineering >> http://free-electrons.com