Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
- /*
- * Copyright (c) 2023 Neil Armstrong <[email protected]>
- * Copyright 2023 MNT Research GmbH
- */
- /dts-v1/;
- #include "meson-g12b-bananapi-cm4.dtsi"
- #include <dt-bindings/input/input.h>
- #include <dt-bindings/leds/common.h>
- #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
- / {
- model = "MNT Reform 2 with BPI-CM4 Module";
- compatible = "mntre,reform2-cm4", "bananapi,bpi-cm4", "amlogic,a311d", "amlogic,g12b";
- chassis-type = "laptop";
- aliases {
- ethernet0 = ðmac;
- i2c0 = &i2c1;
- i2c1 = &i2c3;
- };
- hdmi_connector: hdmi-connector {
- compatible = "hdmi-connector";
- type = "a";
- port {
- hdmi_connector_in: endpoint {
- remote-endpoint = <&hdmi_tx_tmds_out>;
- };
- };
- };
- leds {
- compatible = "gpio-leds";
- led-blue {
- color = <LED_COLOR_ID_BLUE>;
- function = LED_FUNCTION_STATUS;
- gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "heartbeat";
- };
- led-green {
- color = <LED_COLOR_ID_GREEN>;
- function = LED_FUNCTION_STATUS;
- gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
- };
- };
- sound {
- compatible = "amlogic,axg-sound-card";
- model = "MNT-REFORM2-BPI-CM4";
- audio-widgets = "Headphone", "Headphone Jack",
- "Speaker", "External Speaker",
- "Microphone", "Mic Jack";
- audio-aux-devs = <&tdmout_a>, <&tdmout_b>, <&tdmin_b>;
- audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
- "TDMOUT_A IN 1", "FRDDR_B OUT 0",
- "TDMOUT_A IN 2", "FRDDR_C OUT 0",
- "TDM_A Playback", "TDMOUT_A OUT",
- "TDMOUT_B IN 0", "FRDDR_A OUT 1",
- "TDMOUT_B IN 1", "FRDDR_B OUT 1",
- "TDMOUT_B IN 2", "FRDDR_C OUT 1",
- "TDM_B Playback", "TDMOUT_B OUT",
- "TDMIN_B IN 1", "TDM_B Capture",
- "TDMIN_B IN 4", "TDM_B Loopback",
- "TODDR_A IN 1", "TDMIN_B OUT",
- "TODDR_B IN 1", "TDMIN_B OUT",
- "TODDR_C IN 1", "TDMIN_B OUT",
- "Headphone Jack", "HP_L",
- "Headphone Jack", "HP_R",
- "External Speaker", "SPK_LP",
- "External Speaker", "SPK_LN",
- "External Speaker", "SPK_RP",
- "External Speaker", "SPK_RN",
- "LINPUT1", "Mic Jack",
- "Mic Jack", "MICB";
- assigned-clocks = <&clkc CLKID_MPLL2>,
- <&clkc CLKID_MPLL0>,
- <&clkc CLKID_MPLL1>;
- assigned-clock-parents = <0>, <0>, <0>;
- assigned-clock-rates = <294912000>,
- <270950400>,
- <393216000>;
- dai-link-0 {
- sound-dai = <&frddr_a>;
- };
- dai-link-1 {
- sound-dai = <&frddr_b>;
- };
- dai-link-2 {
- sound-dai = <&frddr_c>;
- };
- dai-link-3 {
- sound-dai = <&toddr_a>;
- };
- dai-link-4 {
- sound-dai = <&toddr_b>;
- };
- dai-link-5 {
- sound-dai = <&toddr_c>;
- };
- /* 8ch hdmi interface */
- dai-link-6 {
- sound-dai = <&tdmif_a>;
- dai-format = "i2s";
- dai-tdm-slot-tx-mask-0 = <1 1>;
- dai-tdm-slot-tx-mask-1 = <1 1>;
- dai-tdm-slot-tx-mask-2 = <1 1>;
- dai-tdm-slot-tx-mask-3 = <1 1>;
- mclk-fs = <256>;
- codec {
- sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
- };
- };
- /* Analog Audio */
- dai-link-7 {
- sound-dai = <&tdmif_b>;
- dai-format = "i2s";
- dai-tdm-slot-tx-mask-0 = <1 1>;
- mclk-fs = <256>;
- codec {
- sound-dai = <&wm8960>;
- };
- };
- /* hdmi glue */
- dai-link-8 {
- sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
- codec {
- sound-dai = <&hdmi_tx>;
- };
- };
- };
- reg_main_1v8: regulator-main-1v8 {
- compatible = "regulator-fixed";
- regulator-name = "1V8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- vin-supply = <®_main_3v3>;
- };
- reg_main_1v2: regulator-main-1v2 {
- compatible = "regulator-fixed";
- regulator-name = "1V2";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- vin-supply = <®_main_5v>;
- };
- reg_main_3v3: regulator-main-3v3 {
- compatible = "regulator-fixed";
- regulator-name = "3V3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
- reg_main_5v: regulator-main-5v {
- compatible = "regulator-fixed";
- regulator-name = "5V";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- };
- reg_main_usb: regulator-main-usb {
- compatible = "regulator-fixed";
- regulator-name = "USB_PWR";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- vin-supply = <®_main_5v>;
- };
- backlight: backlight {
- compatible = "pwm-backlight";
- pwms = <&pwm_AO_ab 0 10000 0>;
- power-supply = <®_main_usb>;
- enable-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>;
- brightness-levels = <0 32 64 128 160 200 255>;
- default-brightness-level = <6>;
- status = "okay";
- };
- panel {
- compatible = "innolux,n125hce-gn1-a311d", "simple-panel";
- power-supply = <®_main_3v3>;
- backlight = <&backlight>;
- no-hpd;
- status = "okay";
- port {
- panel_in: endpoint {
- remote-endpoint = <&edp_bridge_out>;
- };
- };
- };
- clock_12288: clock_12288 {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <12288000>;
- };
- spi {
- compatible = "spi-gpio";
- #address-cells = <0x1>;
- ranges;
- sck-gpios = <&gpio_ao GPIOAO_5 0>; // GPIOAO_5 / GPIO7
- miso-gpios = <&gpio GPIOH_4 0>; // GPIOH_4 / GPIO5
- mosi-gpios = <&gpio_ao GPIOAO_10 0>; // GPIOAO_10 / GPIO6
- cs-gpios = <&gpio GPIOA_10 0>; // GPIOA_10 / GPIO4
- num-chipselects = <1>;
- spidev@0 {
- compatible = "mntre,lpc11u24";
- spi-max-frequency = <1000000>;
- reg = <0>;
- };
- };
- };
- &mipi_analog_dphy {
- status = "okay";
- };
- &mipi_dphy {
- status = "okay";
- };
- &mipi_dsi {
- status = "okay";
- assigned-clocks = <&clkc CLKID_GP0_PLL>,
- <&clkc CLKID_MIPI_DSI_PXCLK_SEL>,
- <&clkc CLKID_MIPI_DSI_PXCLK>,
- <&clkc CLKID_CTS_ENCL_SEL>,
- <&clkc CLKID_VCLK2_SEL>;
- assigned-clock-parents = <0>,
- <&clkc CLKID_GP0_PLL>,
- <0>,
- <&clkc CLKID_VCLK2_DIV1>,
- <&clkc CLKID_GP0_PLL>;
- assigned-clock-rates = <936000000>,
- <0>,
- <936000000>,
- <0>,
- <0>;
- };
- &mipi_dsi_panel_port {
- mipi_dsi_out: endpoint {
- remote-endpoint = <&edp_bridge_in>;
- };
- };
- &cecb_AO {
- status = "okay";
- };
- ðmac {
- status = "okay";
- };
- &hdmi_tx {
- status = "okay";
- };
- &hdmi_tx_tmds_port {
- hdmi_tx_tmds_out: endpoint {
- remote-endpoint = <&hdmi_connector_in>;
- };
- };
- &pwm_AO_ab {
- pinctrl-names = "default";
- pinctrl-0 = <&pwm_ao_a_pins>;
- status = "okay";
- };
- &i2c0 {
- status = "okay";
- };
- &i2c2 {
- status = "okay";
- };
- &i2c3 {
- status = "okay";
- edp_bridge: bridge@2c {
- compatible = "ti,sn65dsi86";
- reg = <0x2c>;
- enable-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_HIGH>; // PIN_24 / GPIO8
- vccio-supply = <®_main_1v8>;
- vpll-supply = <®_main_1v8>;
- vcca-supply = <®_main_1v2>;
- vcc-supply = <®_main_1v2>;
- burst-mode;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- edp_bridge_in: endpoint {
- remote-endpoint = <&mipi_dsi_out>;
- };
- };
- port@1 {
- reg = <1>;
- edp_bridge_out: endpoint {
- remote-endpoint = <&panel_in>;
- };
- };
- };
- };
- wm8960: codec@1a {
- compatible = "wlf,wm8960";
- reg = <0x1a>;
- clocks = <&clock_12288>;
- clock-names = "mclk";
- #sound-dai-cells = <0>;
- wlf,shared-lrclk;
- };
- rtc@68 {
- compatible = "nxp,pcf8523";
- reg = <0x68>;
- };
- };
- &pcie {
- status = "okay";
- };
- &sd_emmc_b {
- status = "okay";
- };
- &tdmif_a {
- status = "okay";
- };
- &tdmout_a {
- status = "okay";
- };
- &tdmif_b {
- pinctrl-0 = <&tdm_b_dout0_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>, <&tdm_b_din1_pins>;
- pinctrl-names = "default";
- assigned-clocks = <&clkc_audio AUD_CLKID_TDM_SCLK_PAD1>,
- <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD1>;
- assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_B_SCLK>,
- <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
- assigned-clock-rates = <0>, <0>;
- };
- &tdmin_b {
- status = "okay";
- };
- &toddr_a {
- status = "okay";
- };
- &toddr_b {
- status = "okay";
- };
- &toddr_c {
- status = "okay";
- };
- &tohdmitx {
- status = "okay";
- };
- &usb {
- dr_mode = "host";
- status = "okay";
- };
Advertisement
Add Comment
Please, Sign In to add comment