1643ad899SSimon Glass/*
2643ad899SSimon Glass * sunxi boards common regulator (ahci target power supply, usb-vbus) code
3643ad899SSimon Glass *
4643ad899SSimon Glass * Copyright 2014 - Hans de Goede <hdegoede@redhat.com>
5643ad899SSimon Glass *
6*53ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms
7*53ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual
8*53ab4af3SHans de Goede * licensing only applies to this file, and not this project as a
9*53ab4af3SHans de Goede * whole.
10643ad899SSimon Glass *
11*53ab4af3SHans de Goede *  a) This file is free software; you can redistribute it and/or
12*53ab4af3SHans de Goede *     modify it under the terms of the GNU General Public License as
13*53ab4af3SHans de Goede *     published by the Free Software Foundation; either version 2 of the
14*53ab4af3SHans de Goede *     License, or (at your option) any later version.
15*53ab4af3SHans de Goede *
16*53ab4af3SHans de Goede *     This file is distributed in the hope that it will be useful,
17*53ab4af3SHans de Goede *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18*53ab4af3SHans de Goede *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19*53ab4af3SHans de Goede *     GNU General Public License for more details.
20*53ab4af3SHans de Goede *
21*53ab4af3SHans de Goede *     You should have received a copy of the GNU General Public
22*53ab4af3SHans de Goede *     License along with this file; if not, write to the Free
23*53ab4af3SHans de Goede *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
24*53ab4af3SHans de Goede *     MA 02110-1301 USA
25*53ab4af3SHans de Goede *
26*53ab4af3SHans de Goede * Or, alternatively,
27*53ab4af3SHans de Goede *
28*53ab4af3SHans de Goede *  b) Permission is hereby granted, free of charge, to any person
29*53ab4af3SHans de Goede *     obtaining a copy of this software and associated documentation
30*53ab4af3SHans de Goede *     files (the "Software"), to deal in the Software without
31*53ab4af3SHans de Goede *     restriction, including without limitation the rights to use,
32*53ab4af3SHans de Goede *     copy, modify, merge, publish, distribute, sublicense, and/or
33*53ab4af3SHans de Goede *     sell copies of the Software, and to permit persons to whom the
34*53ab4af3SHans de Goede *     Software is furnished to do so, subject to the following
35*53ab4af3SHans de Goede *     conditions:
36*53ab4af3SHans de Goede *
37*53ab4af3SHans de Goede *     The above copyright notice and this permission notice shall be
38*53ab4af3SHans de Goede *     included in all copies or substantial portions of the Software.
39*53ab4af3SHans de Goede *
40*53ab4af3SHans de Goede *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41*53ab4af3SHans de Goede *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42*53ab4af3SHans de Goede *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43*53ab4af3SHans de Goede *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44*53ab4af3SHans de Goede *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45*53ab4af3SHans de Goede *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46*53ab4af3SHans de Goede *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47*53ab4af3SHans de Goede *     OTHER DEALINGS IN THE SOFTWARE.
48643ad899SSimon Glass */
49643ad899SSimon Glass
50*53ab4af3SHans de Goede#include <dt-bindings/gpio/gpio.h>
51*53ab4af3SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h>
52*53ab4af3SHans de Goede
53*53ab4af3SHans de Goede&pio {
54643ad899SSimon Glass	ahci_pwr_pin_a: ahci_pwr_pin@0 {
55643ad899SSimon Glass		allwinner,pins = "PB8";
56643ad899SSimon Glass		allwinner,function = "gpio_out";
57*53ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
58*53ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
59*53ab4af3SHans de Goede	};
60*53ab4af3SHans de Goede
61*53ab4af3SHans de Goede	usb0_vbus_pin_a: usb0_vbus_pin@0 {
62*53ab4af3SHans de Goede		allwinner,pins = "PB9";
63*53ab4af3SHans de Goede		allwinner,function = "gpio_out";
64*53ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
65*53ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
66643ad899SSimon Glass	};
67643ad899SSimon Glass
68643ad899SSimon Glass	usb1_vbus_pin_a: usb1_vbus_pin@0 {
69643ad899SSimon Glass		allwinner,pins = "PH6";
70643ad899SSimon Glass		allwinner,function = "gpio_out";
71*53ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
72*53ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
73643ad899SSimon Glass	};
74643ad899SSimon Glass
75643ad899SSimon Glass	usb2_vbus_pin_a: usb2_vbus_pin@0 {
76643ad899SSimon Glass		allwinner,pins = "PH3";
77643ad899SSimon Glass		allwinner,function = "gpio_out";
78*53ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
79*53ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
80643ad899SSimon Glass	};
81643ad899SSimon Glass};
82643ad899SSimon Glass
83*53ab4af3SHans de Goede/ {
84643ad899SSimon Glass	reg_ahci_5v: ahci-5v {
85643ad899SSimon Glass		compatible = "regulator-fixed";
86643ad899SSimon Glass		pinctrl-names = "default";
87643ad899SSimon Glass		pinctrl-0 = <&ahci_pwr_pin_a>;
88643ad899SSimon Glass		regulator-name = "ahci-5v";
89643ad899SSimon Glass		regulator-min-microvolt = <5000000>;
90643ad899SSimon Glass		regulator-max-microvolt = <5000000>;
91*53ab4af3SHans de Goede		regulator-boot-on;
92643ad899SSimon Glass		enable-active-high;
93*53ab4af3SHans de Goede		gpio = <&pio 1 8 GPIO_ACTIVE_HIGH>;
94*53ab4af3SHans de Goede		status = "disabled";
95*53ab4af3SHans de Goede	};
96*53ab4af3SHans de Goede
97*53ab4af3SHans de Goede	reg_usb0_vbus: usb0-vbus {
98*53ab4af3SHans de Goede		compatible = "regulator-fixed";
99*53ab4af3SHans de Goede		pinctrl-names = "default";
100*53ab4af3SHans de Goede		pinctrl-0 = <&usb0_vbus_pin_a>;
101*53ab4af3SHans de Goede		regulator-name = "usb0-vbus";
102*53ab4af3SHans de Goede		regulator-min-microvolt = <5000000>;
103*53ab4af3SHans de Goede		regulator-max-microvolt = <5000000>;
104*53ab4af3SHans de Goede		enable-active-high;
105*53ab4af3SHans de Goede		gpio = <&pio 1 9 GPIO_ACTIVE_HIGH>;
106643ad899SSimon Glass		status = "disabled";
107643ad899SSimon Glass	};
108643ad899SSimon Glass
109643ad899SSimon Glass	reg_usb1_vbus: usb1-vbus {
110643ad899SSimon Glass		compatible = "regulator-fixed";
111643ad899SSimon Glass		pinctrl-names = "default";
112643ad899SSimon Glass		pinctrl-0 = <&usb1_vbus_pin_a>;
113643ad899SSimon Glass		regulator-name = "usb1-vbus";
114643ad899SSimon Glass		regulator-min-microvolt = <5000000>;
115643ad899SSimon Glass		regulator-max-microvolt = <5000000>;
116643ad899SSimon Glass		enable-active-high;
117*53ab4af3SHans de Goede		gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>;
118643ad899SSimon Glass		status = "disabled";
119643ad899SSimon Glass	};
120643ad899SSimon Glass
121643ad899SSimon Glass	reg_usb2_vbus: usb2-vbus {
122643ad899SSimon Glass		compatible = "regulator-fixed";
123643ad899SSimon Glass		pinctrl-names = "default";
124643ad899SSimon Glass		pinctrl-0 = <&usb2_vbus_pin_a>;
125643ad899SSimon Glass		regulator-name = "usb2-vbus";
126643ad899SSimon Glass		regulator-min-microvolt = <5000000>;
127643ad899SSimon Glass		regulator-max-microvolt = <5000000>;
128643ad899SSimon Glass		enable-active-high;
129*53ab4af3SHans de Goede		gpio = <&pio 7 3 GPIO_ACTIVE_HIGH>;
130643ad899SSimon Glass		status = "disabled";
131643ad899SSimon Glass	};
132643ad899SSimon Glass
133643ad899SSimon Glass	reg_vcc3v0: vcc3v0 {
134643ad899SSimon Glass		compatible = "regulator-fixed";
135643ad899SSimon Glass		regulator-name = "vcc3v0";
136643ad899SSimon Glass		regulator-min-microvolt = <3000000>;
137643ad899SSimon Glass		regulator-max-microvolt = <3000000>;
138643ad899SSimon Glass	};
139643ad899SSimon Glass
140643ad899SSimon Glass	reg_vcc3v3: vcc3v3 {
141643ad899SSimon Glass		compatible = "regulator-fixed";
142643ad899SSimon Glass		regulator-name = "vcc3v3";
143643ad899SSimon Glass		regulator-min-microvolt = <3300000>;
144643ad899SSimon Glass		regulator-max-microvolt = <3300000>;
145643ad899SSimon Glass	};
146*53ab4af3SHans de Goede
147*53ab4af3SHans de Goede	reg_vcc5v0: vcc5v0 {
148*53ab4af3SHans de Goede		compatible = "regulator-fixed";
149*53ab4af3SHans de Goede		regulator-name = "vcc5v0";
150*53ab4af3SHans de Goede		regulator-min-microvolt = <5000000>;
151*53ab4af3SHans de Goede		regulator-max-microvolt = <5000000>;
152*53ab4af3SHans de Goede	};
153643ad899SSimon Glass};
154