The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/allwinner/sun50i-a64-teres-i.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
    2 // Copyright (C) Harald Geyer <harald@ccbib.org>
    3 // based on sun50i-a64-olinuxino.dts by Jagan Teki <jteki@openedev.com>
    4 
    5 /dts-v1/;
    6 
    7 #include "sun50i-a64.dtsi"
    8 #include "sun50i-a64-cpu-opp.dtsi"
    9 
   10 #include <dt-bindings/gpio/gpio.h>
   11 #include <dt-bindings/input/input.h>
   12 #include <dt-bindings/pwm/pwm.h>
   13 
   14 / {
   15         model = "Olimex A64 Teres-I";
   16         compatible = "olimex,a64-teres-i", "allwinner,sun50i-a64";
   17         chassis-type = "laptop";
   18 
   19         aliases {
   20                 serial0 = &uart0;
   21         };
   22 
   23         backlight: backlight {
   24                 compatible = "pwm-backlight";
   25                 pwms = <&pwm 0 50000 0>;
   26                 power-supply = <&reg_dcdc1>;
   27                 brightness-levels = <0 5 7 10 14 20 28 40 56 80 112>;
   28                 default-brightness-level = <5>;
   29                 enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
   30         };
   31 
   32         chosen {
   33                 stdout-path = "serial0:115200n8";
   34 
   35                 framebuffer-lcd {
   36                         eDP25-supply = <&reg_dldo2>;
   37                         eDP12-supply = <&reg_dldo3>;
   38                 };
   39         };
   40 
   41         gpio-keys {
   42                 compatible = "gpio-keys";
   43 
   44                 lid-switch {
   45                         label = "Lid Switch";
   46                         gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
   47                         linux,input-type = <EV_SW>;
   48                         linux,code = <SW_LID>;
   49                         wakeup-source;
   50                 };
   51         };
   52 
   53         leds {
   54                 compatible = "gpio-leds";
   55 
   56                 led-0 {
   57                         label = "teres-i:green:capslock";
   58                         gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
   59                 };
   60 
   61                 led-1 {
   62                         label = "teres-i:green:numlock";
   63                         gpios = <&pio 2 4 GPIO_ACTIVE_HIGH>; /* PC4 */
   64                 };
   65         };
   66 
   67         reg_usb1_vbus: usb1-vbus {
   68                 compatible = "regulator-fixed";
   69                 regulator-name = "usb1-vbus";
   70                 regulator-min-microvolt = <5000000>;
   71                 regulator-max-microvolt = <5000000>;
   72                 enable-active-high;
   73                 gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
   74                 status = "okay";
   75         };
   76 
   77         wifi_pwrseq: wifi_pwrseq {
   78                 compatible = "mmc-pwrseq-simple";
   79                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
   80         };
   81 
   82         speaker_amp: audio-amplifier {
   83                 compatible = "simple-audio-amplifier";
   84                 enable-gpios = <&r_pio 0 12 GPIO_ACTIVE_HIGH>; /* PL12 */
   85                 sound-name-prefix = "Speaker Amp";
   86         };
   87 };
   88 
   89 &codec {
   90         status = "okay";
   91 };
   92 
   93 &codec_analog {
   94         cpvdd-supply = <&reg_eldo1>;
   95         status = "okay";
   96 };
   97 
   98 &dai {
   99         status = "okay";
  100 };
  101 
  102 &de {
  103         status = "okay";
  104 };
  105 
  106 &cpu0 {
  107         cpu-supply = <&reg_dcdc2>;
  108 };
  109 
  110 &cpu1 {
  111         cpu-supply = <&reg_dcdc2>;
  112 };
  113 
  114 &cpu2 {
  115         cpu-supply = <&reg_dcdc2>;
  116 };
  117 
  118 &cpu3 {
  119         cpu-supply = <&reg_dcdc2>;
  120 };
  121 
  122 &ehci1 {
  123         status = "okay";
  124 };
  125 
  126 
  127 &i2c0 {
  128         clock-frequency = <100000>;
  129         status = "okay";
  130 
  131         anx6345: anx6345@38 {
  132                 compatible = "analogix,anx6345";
  133                 reg = <0x38>;
  134                 reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
  135                 dvdd25-supply = <&reg_dldo2>;
  136                 dvdd12-supply = <&reg_dldo3>;
  137 
  138                 ports {
  139                         #address-cells = <1>;
  140                         #size-cells = <0>;
  141 
  142                         port@0 {
  143                                 reg = <0>;
  144 
  145                                 anx6345_in: endpoint {
  146                                         remote-endpoint = <&tcon0_out_anx6345>;
  147                                 };
  148                         };
  149                 };
  150         };
  151 };
  152 
  153 &mixer0 {
  154         status = "okay";
  155 };
  156 
  157 &mmc0 {
  158         pinctrl-names = "default";
  159         pinctrl-0 = <&mmc0_pins>;
  160         vmmc-supply = <&reg_dcdc1>;
  161         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
  162         disable-wp;
  163         bus-width = <4>;
  164         status = "okay";
  165 };
  166 
  167 &mmc1 {
  168         pinctrl-names = "default";
  169         pinctrl-0 = <&mmc1_pins>;
  170         vmmc-supply = <&reg_aldo2>;
  171         vqmmc-supply = <&reg_dldo4>;
  172         mmc-pwrseq = <&wifi_pwrseq>;
  173         bus-width = <4>;
  174         non-removable;
  175         status = "okay";
  176 
  177         rtl8723bs: wifi@1 {
  178                 reg = <1>;
  179                 interrupt-parent = <&r_pio>;
  180                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
  181                 interrupt-names = "host-wake";
  182         };
  183 };
  184 
  185 &mmc2 {
  186         pinctrl-names = "default";
  187         pinctrl-0 = <&mmc2_pins>;
  188         vmmc-supply = <&reg_dcdc1>;
  189         vqmmc-supply = <&reg_dcdc1>;
  190         bus-width = <8>;
  191         non-removable;
  192         cap-mmc-hw-reset;
  193         status = "okay";
  194 };
  195 
  196 &ohci1 {
  197         status = "okay";
  198 };
  199 
  200 &pio {
  201         vcc-pc-supply = <&reg_dcdc1>;
  202         vcc-pd-supply = <&reg_dldo2>;
  203         vcc-pe-supply = <&reg_aldo1>;
  204         vcc-pf-supply = <&reg_dcdc1>;  /* No dedicated supply-pin for this */
  205         vcc-pg-supply = <&reg_aldo2>;
  206 };
  207 
  208 &pwm {
  209         status = "okay";
  210 };
  211 
  212 &r_rsb {
  213         status = "okay";
  214 
  215         axp803: pmic@3a3 {
  216                 compatible = "x-powers,axp803";
  217                 reg = <0x3a3>;
  218                 interrupt-parent = <&r_intc>;
  219                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
  220         };
  221 };
  222 
  223 #include "axp803.dtsi"
  224 
  225 &ac_power_supply {
  226         status = "okay";
  227 };
  228 
  229 &battery_power_supply {
  230         status = "okay";
  231 };
  232 
  233 &reg_aldo1 {
  234         regulator-always-on;
  235         regulator-min-microvolt = <2800000>;
  236         regulator-max-microvolt = <2800000>;
  237         regulator-name = "vcc-pe";
  238 };
  239 
  240 &reg_aldo2 {
  241         regulator-always-on;
  242         regulator-min-microvolt = <3300000>;
  243         regulator-max-microvolt = <3300000>;
  244         regulator-name = "vcc-pl";
  245 };
  246 
  247 &reg_aldo3 {
  248         regulator-always-on;
  249         regulator-min-microvolt = <3000000>;
  250         regulator-max-microvolt = <3000000>;
  251         regulator-name = "vcc-pll-avcc";
  252 };
  253 
  254 &reg_dcdc1 {
  255         regulator-always-on;
  256         regulator-min-microvolt = <3300000>;
  257         regulator-max-microvolt = <3300000>;
  258         regulator-name = "vcc-3v3";
  259 };
  260 
  261 &reg_dcdc2 {
  262         regulator-always-on;
  263         regulator-min-microvolt = <1040000>;
  264         regulator-max-microvolt = <1300000>;
  265         regulator-name = "vdd-cpux";
  266 };
  267 
  268 /* DCDC3 is polyphased with DCDC2 */
  269 
  270 &reg_dcdc5 {
  271         regulator-always-on;
  272         regulator-min-microvolt = <1500000>;
  273         regulator-max-microvolt = <1500000>;
  274         regulator-name = "vcc-ddr3";
  275 };
  276 
  277 &reg_dcdc6 {
  278         regulator-always-on;
  279         regulator-min-microvolt = <1100000>;
  280         regulator-max-microvolt = <1100000>;
  281         regulator-name = "vdd-sys";
  282 };
  283 
  284 &reg_dldo1 {
  285         regulator-min-microvolt = <3300000>;
  286         regulator-max-microvolt = <3300000>;
  287         regulator-name = "vcc-hdmi";
  288 };
  289 
  290 &reg_dldo2 {
  291         regulator-min-microvolt = <2500000>;
  292         regulator-max-microvolt = <2500000>;
  293         regulator-name = "vcc-pd";
  294 };
  295 
  296 &reg_dldo3 {
  297         regulator-min-microvolt = <1200000>;
  298         regulator-max-microvolt = <1200000>;
  299         regulator-name = "vdd-edp";
  300 };
  301 
  302 &reg_dldo4 {
  303         regulator-min-microvolt = <3300000>;
  304         regulator-max-microvolt = <3300000>;
  305         regulator-name = "vcc-wifi-io";
  306 };
  307 
  308 &reg_eldo1 {
  309         regulator-min-microvolt = <1800000>;
  310         regulator-max-microvolt = <1800000>;
  311         regulator-name = "cpvdd";
  312 };
  313 
  314 &reg_eldo2 {
  315         regulator-min-microvolt = <1800000>;
  316         regulator-max-microvolt = <1800000>;
  317         regulator-name = "vcc-dvdd-csi";
  318 };
  319 
  320 &reg_fldo1 {
  321         regulator-min-microvolt = <1200000>;
  322         regulator-max-microvolt = <1200000>;
  323         regulator-name = "vcc-1v2-hsic";
  324 };
  325 
  326 /*
  327  * The A64 chip cannot work with this regulator off, although
  328  * it seems to be only driving the AR100 core.
  329  * Maybe we don't still know well about CPUs domain.
  330  */
  331 &reg_fldo2 {
  332         regulator-always-on;
  333         regulator-min-microvolt = <1100000>;
  334         regulator-max-microvolt = <1100000>;
  335         regulator-name = "vdd-cpus";
  336 };
  337 
  338 &reg_rtc_ldo {
  339         regulator-name = "vcc-rtc";
  340 };
  341 
  342 &simplefb_hdmi {
  343         vcc-hdmi-supply = <&reg_dldo1>;
  344 };
  345 
  346 &sound {
  347         simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
  348         simple-audio-card,widgets = "Headphone", "Headphone Jack",
  349                                     "Microphone", "Headset Microphone",
  350                                     "Microphone", "Internal Microphone",
  351                                     "Speaker", "Internal Speaker";
  352         simple-audio-card,routing =
  353                         "Left DAC", "DACL",
  354                         "Right DAC", "DACR",
  355                         "ADCL", "Left ADC",
  356                         "ADCR", "Right ADC",
  357                         "Headphone Jack", "HP",
  358                         "Speaker Amp INL", "LINEOUT",
  359                         "Speaker Amp INR", "LINEOUT",
  360                         "Internal Speaker", "Speaker Amp OUTL",
  361                         "Internal Speaker", "Speaker Amp OUTR",
  362                         "Internal Microphone", "MBIAS",
  363                         "MIC1", "Internal Microphone",
  364                         "Headset Microphone", "HBIAS",
  365                         "MIC2", "Headset Microphone";
  366         status = "okay";
  367 };
  368 
  369 &tcon0 {
  370         pinctrl-names = "default";
  371         pinctrl-0 = <&lcd_rgb666_pins>;
  372 
  373         status = "okay";
  374 };
  375 
  376 &tcon0_out {
  377         tcon0_out_anx6345: endpoint@0 {
  378                 reg = <0>;
  379                 remote-endpoint = <&anx6345_in>;
  380         };
  381 };
  382 
  383 &uart0 {
  384         pinctrl-names = "default";
  385         pinctrl-0 = <&uart0_pb_pins>;
  386         status = "okay";
  387 };
  388 
  389 &usbphy {
  390         usb1_vbus-supply = <&reg_usb1_vbus>;
  391         status = "okay";
  392 };

Cache object: b2a330fb1309f2eca093bf50e886f84c


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.