sunxi: add kernel DT for NanoPi NEO Plus2 board
Linux Kernel upstream commit d73413058 Signed-off-by: Antony Antony <antony@phenome.org>
This commit is contained in:
		 Antony Antony
					Antony Antony
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							6247929d66
						
					
				
				
					commit
					b7a1aa4df2
				
			| @@ -0,0 +1,224 @@ | ||||
| From d7341305863bcc054ee168bd77864100e0c3b144 Mon Sep 17 00:00:00 2001 | ||||
| From: Antony Antony <antony@phenome.org> | ||||
| Date: Thu, 7 Sep 2017 18:42:22 +0200 | ||||
| Subject: [PATCH] arm64: allwinner: h5: add NanoPi NEO Plus2 DT support | ||||
|  | ||||
| Add initial DT for NanoPi NEO Plus2 by FriendlyARM | ||||
| - Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU | ||||
| - 1 GB DDR3 RAM | ||||
| - 8GB eMMC flash (Samsung KLM8G1WEPD-B031) | ||||
| - micro SD card slot | ||||
| - Gigabit Ethernet (external RTL8211E-VB-CG chip) | ||||
| - 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module) | ||||
| - 2x USB 2.0 host ports & 2x USB via headers | ||||
|  | ||||
| Kernel 4.15 commit d7341305863b | ||||
|  | ||||
| Signed-off-by: Antony Antony <antony@phenome.org> | ||||
|  | ||||
| --- a/arch/arm64/boot/dts/allwinner/Makefile | ||||
| +++ b/arch/arm64/boot/dts/allwinner/Makefile | ||||
| @@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-or | ||||
|  dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb | ||||
|  dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb | ||||
|  dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb | ||||
| +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb | ||||
|   | ||||
|  always		:= $(dtb-y) | ||||
|  subdir-y	:= $(dts-dirs) | ||||
| --- /dev/null | ||||
| +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts | ||||
| @@ -0,0 +1,193 @@ | ||||
| +/* | ||||
| + * Copyright (C) 2017 Antony Antony <antony@phenome.org> | ||||
| + * Copyright (C) 2016 ARM Ltd. | ||||
| + * | ||||
| + * 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 "sun50i-h5.dtsi" | ||||
| + | ||||
| +#include <dt-bindings/gpio/gpio.h> | ||||
| +#include <dt-bindings/input/input.h> | ||||
| +#include <dt-bindings/pinctrl/sun4i-a10.h> | ||||
| + | ||||
| +/ { | ||||
| +	model = "FriendlyARM NanoPi NEO Plus2"; | ||||
| +	compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5"; | ||||
| + | ||||
| +	aliases { | ||||
| +		serial0 = &uart0; | ||||
| +	}; | ||||
| + | ||||
| +	chosen { | ||||
| +		stdout-path = "serial0:115200n8"; | ||||
| +	}; | ||||
| + | ||||
| +	leds { | ||||
| +		compatible = "gpio-leds"; | ||||
| + | ||||
| +		pwr { | ||||
| +			label = "nanopi:green:pwr"; | ||||
| +			gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; | ||||
| +			default-state = "on"; | ||||
| +		}; | ||||
| + | ||||
| +		status { | ||||
| +			label = "nanopi:red:status"; | ||||
| +			gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; | ||||
| +		}; | ||||
| +	}; | ||||
| + | ||||
| +	reg_gmac_3v3: gmac-3v3 { | ||||
| +		compatible = "regulator-fixed"; | ||||
| +		pinctrl-names = "default"; | ||||
| +		regulator-name = "gmac-3v3"; | ||||
| +		regulator-min-microvolt = <3300000>; | ||||
| +		regulator-max-microvolt = <3300000>; | ||||
| +		startup-delay-us = <100000>; | ||||
| +		enable-active-high; | ||||
| +		gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; | ||||
| +	}; | ||||
| + | ||||
| +	reg_vcc3v3: vcc3v3 { | ||||
| +		compatible = "regulator-fixed"; | ||||
| +		regulator-name = "vcc3v3"; | ||||
| +		regulator-min-microvolt = <3300000>; | ||||
| +		regulator-max-microvolt = <3300000>; | ||||
| +	}; | ||||
| + | ||||
| +	vdd_cpux: gpio-regulator { | ||||
| +		compatible = "regulator-gpio"; | ||||
| +		pinctrl-names = "default"; | ||||
| +		regulator-name = "vdd-cpux"; | ||||
| +		regulator-type = "voltage"; | ||||
| +		regulator-boot-on; | ||||
| +		regulator-always-on; | ||||
| +		regulator-min-microvolt = <1100000>; | ||||
| +		regulator-max-microvolt = <1300000>; | ||||
| +		regulator-ramp-delay = <50>; /* 4ms */ | ||||
| +		gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; | ||||
| +		gpios-states = <0x1>; | ||||
| +		states = <1100000 0x0 | ||||
| +			  1300000 0x1>; | ||||
| +	}; | ||||
| + | ||||
| +	wifi_pwrseq: wifi_pwrseq { | ||||
| +		compatible = "mmc-pwrseq-simple"; | ||||
| +		pinctrl-names = "default"; | ||||
| +		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ | ||||
| +		post-power-on-delay-ms = <200>; | ||||
| +	}; | ||||
| +}; | ||||
| + | ||||
| +&codec { | ||||
| +	allwinner,audio-routing = | ||||
| +		"Line Out", "LINEOUT", | ||||
| +		"MIC1", "Mic", | ||||
| +		"Mic",  "MBIAS"; | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&ehci0 { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&ehci3 { | ||||
| +	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_LOW>; /* PF6 */ | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&mmc1 { | ||||
| +	pinctrl-names = "default"; | ||||
| +	pinctrl-0 = <&mmc1_pins_a>; | ||||
| +	vmmc-supply = <®_vcc3v3>; | ||||
| +	vqmmc-supply = <®_vcc3v3>; | ||||
| +	mmc-pwrseq = <&wifi_pwrseq>; | ||||
| +	bus-width = <4>; | ||||
| +	non-removable; | ||||
| +	status = "okay"; | ||||
| + | ||||
| +	brcmf: wifi@1 { | ||||
| +		reg = <1>; | ||||
| +		compatible = "brcm,bcm4329-fmac"; | ||||
| +	}; | ||||
| +}; | ||||
| + | ||||
| +&mmc2 { | ||||
| +	pinctrl-names = "default"; | ||||
| +	pinctrl-0 = <&mmc2_8bit_pins>; | ||||
| +	vmmc-supply = <®_vcc3v3>; | ||||
| +	bus-width = <8>; | ||||
| +	non-removable; | ||||
| +	cap-mmc-hw-reset; | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&ohci0 { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&ohci3 { | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&uart0 { | ||||
| +	pinctrl-names = "default"; | ||||
| +	pinctrl-0 = <&uart0_pins_a>; | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&usb_otg { | ||||
| +	dr_mode = "host"; | ||||
| +	status = "okay"; | ||||
| +}; | ||||
| + | ||||
| +&usbphy { | ||||
| +	/* USB Type-A ports' VBUS is always on */ | ||||
| +	status = "okay"; | ||||
| +}; | ||||
		Reference in New Issue
	
	Block a user