Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: sun8i: Introduce A23 Evaluation Board Support

The A23 Evaluation Board has an MMC slot, two UARTs, NAND, a few display
connectors (RGB, MIPI, LVDS), a mini-PCIE slot, USB host and OTG and a
bunch of embedded sensors.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

+135
+1
arch/arm/boot/dts/Makefile
··· 570 570 sun7i-a20-pcduino3-nano.dtb \ 571 571 sun7i-a20-wexler-tab7200.dtb 572 572 dtb-$(CONFIG_MACH_SUN8I) += \ 573 + sun8i-a23-evb.dtb \ 573 574 sun8i-a23-ippo-q8h-v5.dtb \ 574 575 sun8i-a23-ippo-q8h-v1.2.dtb 575 576 dtb-$(CONFIG_MACH_SUN9I) += \
+134
arch/arm/boot/dts/sun8i-a23-evb.dts
··· 1 + /* 2 + * Copyright 2015 Maxime Ripard 3 + * 4 + * Maxime Ripard <maxime.ripard@free-electrons.com> 5 + * 6 + * This file is dual-licensed: you can use it either under the terms 7 + * of the GPL or the X11 license, at your option. Note that this dual 8 + * licensing only applies to this file, and not this project as a 9 + * whole. 10 + * 11 + * a) This file is free software; you can redistribute it and/or 12 + * modify it under the terms of the GNU General Public License as 13 + * published by the Free Software Foundation; either version 2 of the 14 + * License, or (at your option) any later version. 15 + * 16 + * This file is distributed in the hope that it will be useful, 17 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 + * GNU General Public License for more details. 20 + * 21 + * Or, alternatively, 22 + * 23 + * b) Permission is hereby granted, free of charge, to any person 24 + * obtaining a copy of this software and associated documentation 25 + * files (the "Software"), to deal in the Software without 26 + * restriction, including without limitation the rights to use, 27 + * copy, modify, merge, publish, distribute, sublicense, and/or 28 + * sell copies of the Software, and to permit persons to whom the 29 + * Software is furnished to do so, subject to the following 30 + * conditions: 31 + * 32 + * The above copyright notice and this permission notice shall be 33 + * included in all copies or substantial portions of the Software. 34 + * 35 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 + * OTHER DEALINGS IN THE SOFTWARE. 43 + */ 44 + 45 + /dts-v1/; 46 + #include "sun8i-a23.dtsi" 47 + #include "sunxi-common-regulators.dtsi" 48 + 49 + #include <dt-bindings/gpio/gpio.h> 50 + #include <dt-bindings/input/input.h> 51 + #include <dt-bindings/pinctrl/sun4i-a10.h> 52 + 53 + / { 54 + model = "Allwinner A23 Evaluation Board"; 55 + compatible = "allwinner,sun8i-a23-evb", "allwinner,sun8i-a23"; 56 + 57 + aliases { 58 + i2c0 = &i2c0; 59 + i2c1 = &i2c1; 60 + serial0 = &r_uart; 61 + }; 62 + 63 + chosen { 64 + stdout-path = "serial0:115200n8"; 65 + }; 66 + }; 67 + 68 + &i2c0 { 69 + pinctrl-names = "default"; 70 + pinctrl-0 = <&i2c0_pins_a>; 71 + status = "okay"; 72 + }; 73 + 74 + &i2c1 { 75 + pinctrl-names = "default"; 76 + pinctrl-0 = <&i2c1_pins_a>; 77 + status = "okay"; 78 + }; 79 + 80 + &lradc { 81 + vref-supply = <&reg_vcc3v0>; 82 + status = "okay"; 83 + 84 + button@190 { 85 + label = "Volume Up"; 86 + linux,code = <KEY_VOLUMEUP>; 87 + channel = <0>; 88 + voltage = <190000>; 89 + }; 90 + 91 + button@390 { 92 + label = "Volume Down"; 93 + linux,code = <KEY_VOLUMEDOWN>; 94 + channel = <0>; 95 + voltage = <390000>; 96 + }; 97 + 98 + button@600 { 99 + label = "Home"; 100 + linux,code = <KEY_HOME>; 101 + channel = <0>; 102 + voltage = <600000>; 103 + }; 104 + }; 105 + 106 + &mmc0 { 107 + pinctrl-names = "default"; 108 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_evb>; 109 + vmmc-supply = <&reg_vcc3v0>; 110 + bus-width = <4>; 111 + cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ 112 + cd-inverted; 113 + status = "okay"; 114 + }; 115 + 116 + &pio { 117 + mmc0_cd_pin_evb: mmc0_cd_pin@0 { 118 + allwinner,pins = "PB4"; 119 + allwinner,function = "gpio_in"; 120 + allwinner,drive = <SUN4I_PINCTRL_10_MA>; 121 + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; 122 + }; 123 + }; 124 + 125 + /* 126 + * The RX line has a non-populated resistance. In order to use it, you 127 + * need to solder R207 on the back of the board in order to close the 128 + * line and get a working UART. 129 + */ 130 + &r_uart { 131 + pinctrl-names = "default"; 132 + pinctrl-0 = <&r_uart_pins_a>; 133 + status = "okay"; 134 + };