1*84943d6fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*84943d6fSEmmanuel Vadot/* 3*84943d6fSEmmanuel Vadot * Copyright (c) 2023 BayLibre, SAS. 4*84943d6fSEmmanuel Vadot * Author: Jerome Brunet <jbrunet@baylibre.com> 5*84943d6fSEmmanuel Vadot */ 6*84943d6fSEmmanuel Vadot 7*84943d6fSEmmanuel Vadot/dts-v1/; 8*84943d6fSEmmanuel Vadot 9*84943d6fSEmmanuel Vadot#include <dt-bindings/clock/g12a-clkc.h> 10*84943d6fSEmmanuel Vadot#include "meson-g12b-a311d.dtsi" 11*84943d6fSEmmanuel Vadot#include "meson-libretech-cottonwood.dtsi" 12*84943d6fSEmmanuel Vadot 13*84943d6fSEmmanuel Vadot/ { 14*84943d6fSEmmanuel Vadot compatible = "libretech,aml-a311d-cc", "amlogic,a311d", "amlogic,g12b"; 15*84943d6fSEmmanuel Vadot model = "Libre Computer AML-A311D-CC Alta"; 16*84943d6fSEmmanuel Vadot 17*84943d6fSEmmanuel Vadot vddcpu_a: regulator-vddcpu-a { 18*84943d6fSEmmanuel Vadot compatible = "pwm-regulator"; 19*84943d6fSEmmanuel Vadot regulator-name = "VDDCPU_A"; 20*84943d6fSEmmanuel Vadot regulator-min-microvolt = <730000>; 21*84943d6fSEmmanuel Vadot regulator-max-microvolt = <1011000>; 22*84943d6fSEmmanuel Vadot regulator-boot-on; 23*84943d6fSEmmanuel Vadot regulator-always-on; 24*84943d6fSEmmanuel Vadot pwm-supply = <&dc_in>; 25*84943d6fSEmmanuel Vadot pwms = <&pwm_ab 0 1250 0>; 26*84943d6fSEmmanuel Vadot pwm-dutycycle-range = <100 0>; 27*84943d6fSEmmanuel Vadot }; 28*84943d6fSEmmanuel Vadot 29*84943d6fSEmmanuel Vadot sound { 30*84943d6fSEmmanuel Vadot model = "LC-ALTA"; 31*84943d6fSEmmanuel Vadot audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0", 32*84943d6fSEmmanuel Vadot "TDMOUT_A IN 1", "FRDDR_B OUT 0", 33*84943d6fSEmmanuel Vadot "TDMOUT_A IN 2", "FRDDR_C OUT 0", 34*84943d6fSEmmanuel Vadot "TDM_A Playback", "TDMOUT_A OUT", 35*84943d6fSEmmanuel Vadot "TDMOUT_B IN 0", "FRDDR_A OUT 1", 36*84943d6fSEmmanuel Vadot "TDMOUT_B IN 1", "FRDDR_B OUT 1", 37*84943d6fSEmmanuel Vadot "TDMOUT_B IN 2", "FRDDR_C OUT 1", 38*84943d6fSEmmanuel Vadot "TDM_B Playback", "TDMOUT_B OUT", 39*84943d6fSEmmanuel Vadot "TDMOUT_C IN 0", "FRDDR_A OUT 2", 40*84943d6fSEmmanuel Vadot "TDMOUT_C IN 1", "FRDDR_B OUT 2", 41*84943d6fSEmmanuel Vadot "TDMOUT_C IN 2", "FRDDR_C OUT 2", 42*84943d6fSEmmanuel Vadot "TDM_C Playback", "TDMOUT_C OUT", 43*84943d6fSEmmanuel Vadot "TDMIN_A IN 0", "TDM_A Capture", 44*84943d6fSEmmanuel Vadot "TDMIN_B IN 0", "TDM_A Capture", 45*84943d6fSEmmanuel Vadot "TDMIN_C IN 0", "TDM_A Capture", 46*84943d6fSEmmanuel Vadot "TDMIN_A IN 3", "TDM_A Loopback", 47*84943d6fSEmmanuel Vadot "TDMIN_B IN 3", "TDM_A Loopback", 48*84943d6fSEmmanuel Vadot "TDMIN_C IN 3", "TDM_A Loopback", 49*84943d6fSEmmanuel Vadot "TDMIN_A IN 1", "TDM_B Capture", 50*84943d6fSEmmanuel Vadot "TDMIN_B IN 1", "TDM_B Capture", 51*84943d6fSEmmanuel Vadot "TDMIN_C IN 1", "TDM_B Capture", 52*84943d6fSEmmanuel Vadot "TDMIN_A IN 4", "TDM_B Loopback", 53*84943d6fSEmmanuel Vadot "TDMIN_B IN 4", "TDM_B Loopback", 54*84943d6fSEmmanuel Vadot "TDMIN_C IN 4", "TDM_B Loopback", 55*84943d6fSEmmanuel Vadot "TDMIN_A IN 2", "TDM_C Capture", 56*84943d6fSEmmanuel Vadot "TDMIN_B IN 2", "TDM_C Capture", 57*84943d6fSEmmanuel Vadot "TDMIN_C IN 2", "TDM_C Capture", 58*84943d6fSEmmanuel Vadot "TDMIN_A IN 5", "TDM_C Loopback", 59*84943d6fSEmmanuel Vadot "TDMIN_B IN 5", "TDM_C Loopback", 60*84943d6fSEmmanuel Vadot "TDMIN_C IN 5", "TDM_C Loopback", 61*84943d6fSEmmanuel Vadot "TODDR_A IN 0", "TDMIN_A OUT", 62*84943d6fSEmmanuel Vadot "TODDR_B IN 0", "TDMIN_A OUT", 63*84943d6fSEmmanuel Vadot "TODDR_C IN 0", "TDMIN_A OUT", 64*84943d6fSEmmanuel Vadot "TODDR_A IN 1", "TDMIN_B OUT", 65*84943d6fSEmmanuel Vadot "TODDR_B IN 1", "TDMIN_B OUT", 66*84943d6fSEmmanuel Vadot "TODDR_C IN 1", "TDMIN_B OUT", 67*84943d6fSEmmanuel Vadot "TODDR_A IN 2", "TDMIN_C OUT", 68*84943d6fSEmmanuel Vadot "TODDR_B IN 2", "TDMIN_C OUT", 69*84943d6fSEmmanuel Vadot "TODDR_C IN 2", "TDMIN_C OUT", 70*84943d6fSEmmanuel Vadot "Lineout", "ACODEC LOLP", 71*84943d6fSEmmanuel Vadot "Lineout", "ACODEC LORP"; 72*84943d6fSEmmanuel Vadot }; 73*84943d6fSEmmanuel Vadot}; 74*84943d6fSEmmanuel Vadot 75*84943d6fSEmmanuel Vadot&cpu0 { 76*84943d6fSEmmanuel Vadot cpu-supply = <&vddcpu_b>; 77*84943d6fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table_0>; 78*84943d6fSEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 79*84943d6fSEmmanuel Vadot clock-latency = <50000>; 80*84943d6fSEmmanuel Vadot}; 81*84943d6fSEmmanuel Vadot 82*84943d6fSEmmanuel Vadot&cpu1 { 83*84943d6fSEmmanuel Vadot cpu-supply = <&vddcpu_b>; 84*84943d6fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table_0>; 85*84943d6fSEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 86*84943d6fSEmmanuel Vadot clock-latency = <50000>; 87*84943d6fSEmmanuel Vadot}; 88*84943d6fSEmmanuel Vadot 89*84943d6fSEmmanuel Vadot&cpu100 { 90*84943d6fSEmmanuel Vadot cpu-supply = <&vddcpu_a>; 91*84943d6fSEmmanuel Vadot operating-points-v2 = <&cpub_opp_table_1>; 92*84943d6fSEmmanuel Vadot clocks = <&clkc CLKID_CPUB_CLK>; 93*84943d6fSEmmanuel Vadot clock-latency = <50000>; 94*84943d6fSEmmanuel Vadot}; 95*84943d6fSEmmanuel Vadot 96*84943d6fSEmmanuel Vadot&cpu101 { 97*84943d6fSEmmanuel Vadot cpu-supply = <&vddcpu_a>; 98*84943d6fSEmmanuel Vadot operating-points-v2 = <&cpub_opp_table_1>; 99*84943d6fSEmmanuel Vadot clocks = <&clkc CLKID_CPUB_CLK>; 100*84943d6fSEmmanuel Vadot clock-latency = <50000>; 101*84943d6fSEmmanuel Vadot}; 102*84943d6fSEmmanuel Vadot 103*84943d6fSEmmanuel Vadot&cpu102 { 104*84943d6fSEmmanuel Vadot cpu-supply = <&vddcpu_a>; 105*84943d6fSEmmanuel Vadot operating-points-v2 = <&cpub_opp_table_1>; 106*84943d6fSEmmanuel Vadot clocks = <&clkc CLKID_CPUB_CLK>; 107*84943d6fSEmmanuel Vadot clock-latency = <50000>; 108*84943d6fSEmmanuel Vadot}; 109*84943d6fSEmmanuel Vadot 110*84943d6fSEmmanuel Vadot&cpu103 { 111*84943d6fSEmmanuel Vadot cpu-supply = <&vddcpu_a>; 112*84943d6fSEmmanuel Vadot operating-points-v2 = <&cpub_opp_table_1>; 113*84943d6fSEmmanuel Vadot clocks = <&clkc CLKID_CPUB_CLK>; 114*84943d6fSEmmanuel Vadot clock-latency = <50000>; 115*84943d6fSEmmanuel Vadot}; 116*84943d6fSEmmanuel Vadot 117*84943d6fSEmmanuel Vadot&pwm_ab { 118*84943d6fSEmmanuel Vadot pinctrl-0 = <&pwm_a_e_pins>, <&pwm_b_x7_pins>; 119*84943d6fSEmmanuel Vadot clocks = <&xtal>, <&xtal>; 120*84943d6fSEmmanuel Vadot clock-names = "clkin0", "clkin1"; 121*84943d6fSEmmanuel Vadot}; 122