Hans de Goede | c690d80 | 2014-05-21 19:43:31 +0200 | [diff] [blame^] | 1 | /* |
| 2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> |
| 3 | * |
| 4 | * The code contained herein is licensed under the GNU General Public |
| 5 | * License. You may obtain a copy of the GNU General Public License |
| 6 | * Version 2 or later at the following locations: |
| 7 | * |
| 8 | * http://www.opensource.org/licenses/gpl-license.html |
| 9 | * http://www.gnu.org/copyleft/gpl.html |
| 10 | */ |
| 11 | |
| 12 | /dts-v1/; |
| 13 | /include/ "sun7i-a20.dtsi" |
| 14 | /include/ "sunxi-common-regulators.dtsi" |
| 15 | |
| 16 | / { |
| 17 | model = "I12 / Q5 / QT840A A20 tvbox"; |
| 18 | compatible = "allwinner,i12-tvbox", "allwinner,sun7i-a20"; |
| 19 | |
| 20 | soc@01c00000 { |
| 21 | mmc0: mmc@01c0f000 { |
| 22 | pinctrl-names = "default"; |
| 23 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; |
| 24 | vmmc-supply = <®_vcc3v3>; |
| 25 | bus-width = <4>; |
| 26 | cd-gpios = <&pio 7 1 0>; /* PH1 */ |
| 27 | cd-inverted; |
| 28 | status = "okay"; |
| 29 | }; |
| 30 | |
| 31 | mmc3: mmc@01c12000 { |
| 32 | pinctrl-names = "default"; |
| 33 | pinctrl-0 = <&mmc3_pins_a>; |
| 34 | vmmc-supply = <®_vmmc3>; |
| 35 | bus-width = <4>; |
| 36 | non-removable; |
| 37 | status = "okay"; |
| 38 | }; |
| 39 | |
| 40 | usbphy: phy@01c13400 { |
| 41 | usb1_vbus-supply = <®_usb1_vbus>; |
| 42 | usb2_vbus-supply = <®_usb2_vbus>; |
| 43 | status = "okay"; |
| 44 | }; |
| 45 | |
| 46 | ehci0: usb@01c14000 { |
| 47 | status = "okay"; |
| 48 | }; |
| 49 | |
| 50 | ohci0: usb@01c14400 { |
| 51 | status = "okay"; |
| 52 | }; |
| 53 | |
| 54 | ehci1: usb@01c1c000 { |
| 55 | status = "okay"; |
| 56 | }; |
| 57 | |
| 58 | ohci1: usb@01c1c400 { |
| 59 | status = "okay"; |
| 60 | }; |
| 61 | |
| 62 | pinctrl@01c20800 { |
| 63 | mmc3_pins_a: mmc3@0 { |
| 64 | /* AP6210 / AP6330 requires pull-up */ |
| 65 | allwinner,pull = <1>; |
| 66 | }; |
| 67 | |
| 68 | vmmc3_pin_i12_tvbox: vmmc3_pin@0 { |
| 69 | allwinner,pins = "PH2"; |
| 70 | allwinner,function = "gpio_out"; |
| 71 | allwinner,drive = <0>; |
| 72 | allwinner,pull = <0>; |
| 73 | }; |
| 74 | |
| 75 | vmmc3_io_pin_i12_tvbox: vmmc3_io_pin@0 { |
| 76 | allwinner,pins = "PH12"; |
| 77 | allwinner,function = "gpio_out"; |
| 78 | allwinner,drive = <0>; |
| 79 | allwinner,pull = <0>; |
| 80 | }; |
| 81 | |
| 82 | gmac_power_pin_i12_tvbox: gmac_power_pin@0 { |
| 83 | allwinner,pins = "PH21"; |
| 84 | allwinner,function = "gpio_out"; |
| 85 | allwinner,drive = <0>; |
| 86 | allwinner,pull = <0>; |
| 87 | }; |
| 88 | |
| 89 | led_pins_i12_tvbox: led_pins@0 { |
| 90 | allwinner,pins = "PH9", "PH20"; |
| 91 | allwinner,function = "gpio_out"; |
| 92 | allwinner,drive = <0>; |
| 93 | allwinner,pull = <0>; |
| 94 | }; |
| 95 | }; |
| 96 | |
| 97 | uart0: serial@01c28000 { |
| 98 | pinctrl-names = "default"; |
| 99 | pinctrl-0 = <&uart0_pins_a>; |
| 100 | status = "okay"; |
| 101 | }; |
| 102 | |
| 103 | gmac: ethernet@01c50000 { |
| 104 | pinctrl-names = "default"; |
| 105 | pinctrl-0 = <&gmac_pins_mii_a>; |
| 106 | phy = <&phy1>; |
| 107 | phy-mode = "mii"; |
| 108 | phy-supply = <®_gmac_3v3>; |
| 109 | status = "okay"; |
| 110 | |
| 111 | phy1: ethernet-phy@1 { |
| 112 | reg = <1>; |
| 113 | }; |
| 114 | }; |
| 115 | }; |
| 116 | |
| 117 | leds { |
| 118 | compatible = "gpio-leds"; |
| 119 | pinctrl-names = "default"; |
| 120 | pinctrl-0 = <&led_pins_i12_tvbox>; |
| 121 | |
| 122 | red { |
| 123 | label = "i12_tvbox:red:usr"; |
| 124 | gpios = <&pio 7 9 1>; |
| 125 | }; |
| 126 | |
| 127 | blue { |
| 128 | label = "i12_tvbox:blue:usr"; |
| 129 | gpios = <&pio 7 20 0>; |
| 130 | }; |
| 131 | }; |
| 132 | |
| 133 | reg_usb1_vbus: usb1-vbus { |
| 134 | status = "okay"; |
| 135 | }; |
| 136 | |
| 137 | reg_usb2_vbus: usb2-vbus { |
| 138 | status = "okay"; |
| 139 | }; |
| 140 | |
| 141 | reg_vmmc3: vmmc3 { |
| 142 | compatible = "regulator-fixed"; |
| 143 | pinctrl-names = "default"; |
| 144 | pinctrl-0 = <&vmmc3_pin_i12_tvbox>; |
| 145 | regulator-name = "vmmc3"; |
| 146 | regulator-min-microvolt = <3300000>; |
| 147 | regulator-max-microvolt = <3300000>; |
| 148 | enable-active-high; |
| 149 | gpio = <&pio 7 2 0>; |
| 150 | }; |
| 151 | |
| 152 | reg_vmmc3_io: vmmc3-io { |
| 153 | compatible = "regulator-fixed"; |
| 154 | pinctrl-names = "default"; |
| 155 | pinctrl-0 = <&vmmc3_io_pin_i12_tvbox>; |
| 156 | regulator-name = "vmmc3-io"; |
| 157 | regulator-min-microvolt = <3300000>; |
| 158 | regulator-max-microvolt = <3300000>; |
| 159 | /* This controls VCC-PI, must be always on! */ |
| 160 | regulator-always-on; |
| 161 | enable-active-high; |
| 162 | gpio = <&pio 7 12 0>; |
| 163 | }; |
| 164 | |
| 165 | reg_gmac_3v3: gmac-3v3 { |
| 166 | compatible = "regulator-fixed"; |
| 167 | pinctrl-names = "default"; |
| 168 | pinctrl-0 = <&gmac_power_pin_i12_tvbox>; |
| 169 | regulator-name = "gmac-3v3"; |
| 170 | regulator-min-microvolt = <3300000>; |
| 171 | regulator-max-microvolt = <3300000>; |
| 172 | startup-delay-us = <50000>; |
| 173 | enable-active-high; |
| 174 | gpio = <&pio 7 21 0>; |
| 175 | }; |
| 176 | }; |