xref: /openbmc/u-boot/arch/arm/dts/sun5i-q8-common.dtsi (revision b5b84be8a7356d4c3618b6edcb501885e53569f5)
156f5eb40SHans de Goede/*
256f5eb40SHans de Goede * Copyright 2015 Hans de Goede <hdegoede@redhat.com>
356f5eb40SHans de Goede *
456f5eb40SHans de Goede * This file is dual-licensed: you can use it either under the terms
556f5eb40SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual
656f5eb40SHans de Goede * licensing only applies to this file, and not this project as a
756f5eb40SHans de Goede * whole.
856f5eb40SHans de Goede *
956f5eb40SHans de Goede *  a) This file is free software; you can redistribute it and/or
1056f5eb40SHans de Goede *     modify it under the terms of the GNU General Public License as
1156f5eb40SHans de Goede *     published by the Free Software Foundation; either version 2 of the
1256f5eb40SHans de Goede *     License, or (at your option) any later version.
1356f5eb40SHans de Goede *
1456f5eb40SHans de Goede *     This file is distributed in the hope that it will be useful,
1556f5eb40SHans de Goede *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1656f5eb40SHans de Goede *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1756f5eb40SHans de Goede *     GNU General Public License for more details.
1856f5eb40SHans de Goede *
1956f5eb40SHans de Goede * Or, alternatively,
2056f5eb40SHans de Goede *
2156f5eb40SHans de Goede *  b) Permission is hereby granted, free of charge, to any person
2256f5eb40SHans de Goede *     obtaining a copy of this software and associated documentation
2356f5eb40SHans de Goede *     files (the "Software"), to deal in the Software without
2456f5eb40SHans de Goede *     restriction, including without limitation the rights to use,
2556f5eb40SHans de Goede *     copy, modify, merge, publish, distribute, sublicense, and/or
2656f5eb40SHans de Goede *     sell copies of the Software, and to permit persons to whom the
2756f5eb40SHans de Goede *     Software is furnished to do so, subject to the following
2856f5eb40SHans de Goede *     conditions:
2956f5eb40SHans de Goede *
3056f5eb40SHans de Goede *     The above copyright notice and this permission notice shall be
3156f5eb40SHans de Goede *     included in all copies or substantial portions of the Software.
3256f5eb40SHans de Goede *
3356f5eb40SHans de Goede *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3456f5eb40SHans de Goede *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3556f5eb40SHans de Goede *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3656f5eb40SHans de Goede *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3756f5eb40SHans de Goede *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3856f5eb40SHans de Goede *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3956f5eb40SHans de Goede *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4056f5eb40SHans de Goede *     OTHER DEALINGS IN THE SOFTWARE.
4156f5eb40SHans de Goede */
4256f5eb40SHans de Goede#include "sunxi-q8-common.dtsi"
4356f5eb40SHans de Goede
44*80e5f83cSHans de Goede#include <dt-bindings/pwm/pwm.h>
45*80e5f83cSHans de Goede
4656f5eb40SHans de Goede/ {
4756f5eb40SHans de Goede	aliases {
4856f5eb40SHans de Goede		serial0 = &uart1;
4956f5eb40SHans de Goede	};
5056f5eb40SHans de Goede
51*80e5f83cSHans de Goede	backlight: backlight {
52*80e5f83cSHans de Goede		compatible = "pwm-backlight";
53*80e5f83cSHans de Goede		pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
54*80e5f83cSHans de Goede		brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
55*80e5f83cSHans de Goede		default-brightness-level = <8>;
56*80e5f83cSHans de Goede		/* TODO: backlight uses axp gpio1 as enable pin */
57*80e5f83cSHans de Goede	};
58*80e5f83cSHans de Goede
5956f5eb40SHans de Goede	chosen {
6056f5eb40SHans de Goede		stdout-path = "serial0:115200n8";
6156f5eb40SHans de Goede	};
6256f5eb40SHans de Goede};
6356f5eb40SHans de Goede
6456f5eb40SHans de Goede&cpu0 {
6556f5eb40SHans de Goede	cpu-supply = <&reg_dcdc2>;
6656f5eb40SHans de Goede};
6756f5eb40SHans de Goede
6856f5eb40SHans de Goede&ehci0 {
6956f5eb40SHans de Goede	status = "okay";
7056f5eb40SHans de Goede};
7156f5eb40SHans de Goede
7256f5eb40SHans de Goede&i2c0 {
7356f5eb40SHans de Goede	axp209: pmic@34 {
7456f5eb40SHans de Goede		reg = <0x34>;
7556f5eb40SHans de Goede		interrupts = <0>;
7656f5eb40SHans de Goede	};
7756f5eb40SHans de Goede};
7856f5eb40SHans de Goede
7956f5eb40SHans de Goede&i2c1 {
8056f5eb40SHans de Goede	pcf8563: rtc@51 {
8156f5eb40SHans de Goede		compatible = "nxp,pcf8563";
8256f5eb40SHans de Goede		reg = <0x51>;
8356f5eb40SHans de Goede	};
8456f5eb40SHans de Goede};
8556f5eb40SHans de Goede
8656f5eb40SHans de Goede#include "axp209.dtsi"
8756f5eb40SHans de Goede
8856f5eb40SHans de Goede&mmc0 {
8956f5eb40SHans de Goede	pinctrl-names = "default";
9056f5eb40SHans de Goede	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_q8>;
9156f5eb40SHans de Goede	vmmc-supply = <&reg_vcc3v0>;
9256f5eb40SHans de Goede	bus-width = <4>;
9356f5eb40SHans de Goede	cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
9456f5eb40SHans de Goede	cd-inverted;
9556f5eb40SHans de Goede	status = "okay";
9656f5eb40SHans de Goede};
9756f5eb40SHans de Goede
9856f5eb40SHans de Goede&otg_sram {
9956f5eb40SHans de Goede	status = "okay";
10056f5eb40SHans de Goede};
10156f5eb40SHans de Goede
10256f5eb40SHans de Goede&pio {
10356f5eb40SHans de Goede	mmc0_cd_pin_q8: mmc0_cd_pin@0 {
10456f5eb40SHans de Goede		allwinner,pins = "PG0";
10556f5eb40SHans de Goede		allwinner,function = "gpio_in";
10656f5eb40SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
10756f5eb40SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
10856f5eb40SHans de Goede	};
10956f5eb40SHans de Goede
11056f5eb40SHans de Goede	usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
11156f5eb40SHans de Goede		allwinner,pins = "PG1";
11256f5eb40SHans de Goede		allwinner,function = "gpio_in";
11356f5eb40SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
11456f5eb40SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
11556f5eb40SHans de Goede	};
11656f5eb40SHans de Goede
11756f5eb40SHans de Goede	usb0_id_detect_pin: usb0_id_detect_pin@0 {
11856f5eb40SHans de Goede		allwinner,pins = "PG2";
11956f5eb40SHans de Goede		allwinner,function = "gpio_in";
12056f5eb40SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
12156f5eb40SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
12256f5eb40SHans de Goede	};
12356f5eb40SHans de Goede
12456f5eb40SHans de Goede	usb0_vbus_pin_a: usb0_vbus_pin@0 {
12556f5eb40SHans de Goede		allwinner,pins = "PG12";
12656f5eb40SHans de Goede		allwinner,function = "gpio_out";
12756f5eb40SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
12856f5eb40SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
12956f5eb40SHans de Goede	};
13056f5eb40SHans de Goede};
13156f5eb40SHans de Goede
13256f5eb40SHans de Goede&reg_dcdc2 {
13356f5eb40SHans de Goede	regulator-always-on;
13456f5eb40SHans de Goede	regulator-min-microvolt = <1000000>;
13556f5eb40SHans de Goede	regulator-max-microvolt = <1500000>;
13656f5eb40SHans de Goede	regulator-name = "vdd-cpu";
13756f5eb40SHans de Goede};
13856f5eb40SHans de Goede
13956f5eb40SHans de Goede&reg_dcdc3 {
14056f5eb40SHans de Goede	regulator-always-on;
14156f5eb40SHans de Goede	regulator-min-microvolt = <1000000>;
14256f5eb40SHans de Goede	regulator-max-microvolt = <1400000>;
14356f5eb40SHans de Goede	regulator-name = "vdd-int-pll";
14456f5eb40SHans de Goede};
14556f5eb40SHans de Goede
14656f5eb40SHans de Goede&reg_ldo1 {
14756f5eb40SHans de Goede	regulator-name = "vdd-rtc";
14856f5eb40SHans de Goede};
14956f5eb40SHans de Goede
15056f5eb40SHans de Goede&reg_ldo2 {
15156f5eb40SHans de Goede	regulator-always-on;
15256f5eb40SHans de Goede	regulator-min-microvolt = <3000000>;
15356f5eb40SHans de Goede	regulator-max-microvolt = <3000000>;
15456f5eb40SHans de Goede	regulator-name = "avcc";
15556f5eb40SHans de Goede};
15656f5eb40SHans de Goede
15756f5eb40SHans de Goede&reg_usb0_vbus {
15856f5eb40SHans de Goede	gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
15956f5eb40SHans de Goede	status = "okay";
16056f5eb40SHans de Goede};
16156f5eb40SHans de Goede
16256f5eb40SHans de Goede&uart1 {
16356f5eb40SHans de Goede	pinctrl-names = "default";
16456f5eb40SHans de Goede	pinctrl-0 = <&uart1_pins_b>;
16556f5eb40SHans de Goede	status = "okay";
16656f5eb40SHans de Goede};
16756f5eb40SHans de Goede
16856f5eb40SHans de Goede&usb_otg {
16956f5eb40SHans de Goede	dr_mode = "otg";
17056f5eb40SHans de Goede	status = "okay";
17156f5eb40SHans de Goede};
17256f5eb40SHans de Goede
17356f5eb40SHans de Goede&usbphy {
17456f5eb40SHans de Goede	pinctrl-names = "default";
17556f5eb40SHans de Goede	pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
17656f5eb40SHans de Goede	usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
17756f5eb40SHans de Goede	usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
17856f5eb40SHans de Goede	usb0_vbus-supply = <&reg_usb0_vbus>;
17956f5eb40SHans de Goede	status = "okay";
18056f5eb40SHans de Goede};
181