162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci/* 462306a36Sopenharmony_ci * Copyright 2019-2021 MNT Research GmbH 562306a36Sopenharmony_ci * Copyright 2021 Lucas Stach <dev@lynxeye.de> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include "imx8mq-nitrogen-som.dtsi" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/ { 1362306a36Sopenharmony_ci model = "MNT Reform 2"; 1462306a36Sopenharmony_ci compatible = "mntre,reform2", "boundary,imx8mq-nitrogen8m-som", "fsl,imx8mq"; 1562306a36Sopenharmony_ci chassis-type = "laptop"; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci backlight: backlight { 1862306a36Sopenharmony_ci compatible = "pwm-backlight"; 1962306a36Sopenharmony_ci pinctrl-names = "default"; 2062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_backlight>; 2162306a36Sopenharmony_ci pwms = <&pwm2 0 10000 0>; 2262306a36Sopenharmony_ci power-supply = <®_main_usb>; 2362306a36Sopenharmony_ci enable-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; 2462306a36Sopenharmony_ci brightness-levels = <0 32 64 128 160 200 255>; 2562306a36Sopenharmony_ci default-brightness-level = <6>; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci panel { 2962306a36Sopenharmony_ci compatible = "innolux,n125hce-gn1"; 3062306a36Sopenharmony_ci power-supply = <®_main_3v3>; 3162306a36Sopenharmony_ci backlight = <&backlight>; 3262306a36Sopenharmony_ci no-hpd; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci port { 3562306a36Sopenharmony_ci panel_in: endpoint { 3662306a36Sopenharmony_ci remote-endpoint = <&edp_bridge_out>; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci pcie1_refclk: clock-pcie1-refclk { 4262306a36Sopenharmony_ci compatible = "fixed-clock"; 4362306a36Sopenharmony_ci #clock-cells = <0>; 4462306a36Sopenharmony_ci clock-frequency = <100000000>; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci reg_main_5v: regulator-main-5v { 4862306a36Sopenharmony_ci compatible = "regulator-fixed"; 4962306a36Sopenharmony_ci regulator-name = "5V"; 5062306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 5162306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci reg_main_3v3: regulator-main-3v3 { 5562306a36Sopenharmony_ci compatible = "regulator-fixed"; 5662306a36Sopenharmony_ci regulator-name = "3V3"; 5762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 5862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci reg_main_usb: regulator-main-usb { 6262306a36Sopenharmony_ci compatible = "regulator-fixed"; 6362306a36Sopenharmony_ci regulator-name = "USB_PWR"; 6462306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 6562306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 6662306a36Sopenharmony_ci vin-supply = <®_main_5v>; 6762306a36Sopenharmony_ci }; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci reg_main_1v8: regulator-main-1v8 { 7062306a36Sopenharmony_ci compatible = "regulator-fixed"; 7162306a36Sopenharmony_ci regulator-name = "1V8"; 7262306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 7362306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 7462306a36Sopenharmony_ci vin-supply = <®_main_3v3>; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci reg_main_1v2: regulator-main-1v2 { 7862306a36Sopenharmony_ci compatible = "regulator-fixed"; 7962306a36Sopenharmony_ci regulator-name = "1V2"; 8062306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 8162306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 8262306a36Sopenharmony_ci vin-supply = <®_main_5v>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci sound { 8662306a36Sopenharmony_ci compatible = "fsl,imx-audio-wm8960"; 8762306a36Sopenharmony_ci audio-cpu = <&sai2>; 8862306a36Sopenharmony_ci audio-codec = <&wm8960>; 8962306a36Sopenharmony_ci audio-routing = 9062306a36Sopenharmony_ci "Headphone Jack", "HP_L", 9162306a36Sopenharmony_ci "Headphone Jack", "HP_R", 9262306a36Sopenharmony_ci "Ext Spk", "SPK_LP", 9362306a36Sopenharmony_ci "Ext Spk", "SPK_LN", 9462306a36Sopenharmony_ci "Ext Spk", "SPK_RP", 9562306a36Sopenharmony_ci "Ext Spk", "SPK_RN", 9662306a36Sopenharmony_ci "LINPUT1", "Mic Jack", 9762306a36Sopenharmony_ci "Mic Jack", "MICB", 9862306a36Sopenharmony_ci "LINPUT2", "Line In Jack", 9962306a36Sopenharmony_ci "RINPUT2", "Line In Jack"; 10062306a36Sopenharmony_ci model = "wm8960-audio"; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci}; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci&dphy { 10562306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>; 10662306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>; 10762306a36Sopenharmony_ci assigned-clock-rates = <25000000>; 10862306a36Sopenharmony_ci status = "okay"; 10962306a36Sopenharmony_ci}; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci&fec1 { 11262306a36Sopenharmony_ci status = "okay"; 11362306a36Sopenharmony_ci}; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci&i2c3 { 11662306a36Sopenharmony_ci pinctrl-names = "default"; 11762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c3>; 11862306a36Sopenharmony_ci status = "okay"; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci wm8960: codec@1a { 12162306a36Sopenharmony_ci compatible = "wlf,wm8960"; 12262306a36Sopenharmony_ci reg = <0x1a>; 12362306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>; 12462306a36Sopenharmony_ci clock-names = "mclk"; 12562306a36Sopenharmony_ci #sound-dai-cells = <0>; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci rtc@68 { 12962306a36Sopenharmony_ci compatible = "nxp,pcf8523"; 13062306a36Sopenharmony_ci reg = <0x68>; 13162306a36Sopenharmony_ci }; 13262306a36Sopenharmony_ci}; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci&i2c4 { 13562306a36Sopenharmony_ci pinctrl-names = "default"; 13662306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c4>; 13762306a36Sopenharmony_ci clock-frequency = <400000>; 13862306a36Sopenharmony_ci status = "okay"; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci edp_bridge: bridge@2c { 14162306a36Sopenharmony_ci compatible = "ti,sn65dsi86"; 14262306a36Sopenharmony_ci pinctrl-names = "default"; 14362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_edp_bridge>; 14462306a36Sopenharmony_ci reg = <0x2c>; 14562306a36Sopenharmony_ci enable-gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 14662306a36Sopenharmony_ci vccio-supply = <®_main_1v8>; 14762306a36Sopenharmony_ci vpll-supply = <®_main_1v8>; 14862306a36Sopenharmony_ci vcca-supply = <®_main_1v2>; 14962306a36Sopenharmony_ci vcc-supply = <®_main_1v2>; 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci ports { 15262306a36Sopenharmony_ci #address-cells = <1>; 15362306a36Sopenharmony_ci #size-cells = <0>; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci port@0 { 15662306a36Sopenharmony_ci reg = <0>; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci edp_bridge_in: endpoint { 15962306a36Sopenharmony_ci remote-endpoint = <&mipi_dsi_out>; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci port@1 { 16462306a36Sopenharmony_ci reg = <1>; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci edp_bridge_out: endpoint { 16762306a36Sopenharmony_ci remote-endpoint = <&panel_in>; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci}; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci&lcdif { 17562306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_LCDIF_PIXEL>; 17662306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>; 17762306a36Sopenharmony_ci /delete-property/assigned-clock-rates; 17862306a36Sopenharmony_ci status = "okay"; 17962306a36Sopenharmony_ci}; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci&mipi_dsi { 18262306a36Sopenharmony_ci status = "okay"; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci ports { 18562306a36Sopenharmony_ci port@1 { 18662306a36Sopenharmony_ci reg = <1>; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci mipi_dsi_out: endpoint { 18962306a36Sopenharmony_ci remote-endpoint = <&edp_bridge_in>; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci}; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci&pcie1 { 19662306a36Sopenharmony_ci pinctrl-names = "default"; 19762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_pcie1>; 19862306a36Sopenharmony_ci reset-gpio = <&gpio3 23 GPIO_ACTIVE_LOW>; 19962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 20062306a36Sopenharmony_ci <&pcie1_refclk>, 20162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 20262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_AUX>; 20362306a36Sopenharmony_ci status = "okay"; 20462306a36Sopenharmony_ci}; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci&pwm2 { 20762306a36Sopenharmony_ci pinctrl-names = "default"; 20862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_pwm2>; 20962306a36Sopenharmony_ci status = "okay"; 21062306a36Sopenharmony_ci}; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci®_1p8v { 21362306a36Sopenharmony_ci vin-supply = <®_main_5v>; 21462306a36Sopenharmony_ci}; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci®_snvs { 21762306a36Sopenharmony_ci vin-supply = <®_main_5v>; 21862306a36Sopenharmony_ci}; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci®_arm_dram { 22162306a36Sopenharmony_ci vin-supply = <®_main_5v>; 22262306a36Sopenharmony_ci}; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci®_dram_1p1v { 22562306a36Sopenharmony_ci vin-supply = <®_main_5v>; 22662306a36Sopenharmony_ci}; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci®_soc_gpu_vpu { 22962306a36Sopenharmony_ci vin-supply = <®_main_5v>; 23062306a36Sopenharmony_ci}; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci&sai2 { 23362306a36Sopenharmony_ci pinctrl-names = "default"; 23462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_sai2>; 23562306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_SAI2>; 23662306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_CLK_25M>; 23762306a36Sopenharmony_ci assigned-clock-rates = <25000000>; 23862306a36Sopenharmony_ci fsl,sai-mclk-direction-output; 23962306a36Sopenharmony_ci fsl,sai-asynchronous; 24062306a36Sopenharmony_ci status = "okay"; 24162306a36Sopenharmony_ci}; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci&snvs_rtc { 24462306a36Sopenharmony_ci status = "disabled"; 24562306a36Sopenharmony_ci}; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci&uart2 { 24862306a36Sopenharmony_ci pinctrl-names = "default"; 24962306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart2>; 25062306a36Sopenharmony_ci status = "okay"; 25162306a36Sopenharmony_ci}; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci&usb3_phy0 { 25462306a36Sopenharmony_ci vbus-supply = <®_main_usb>; 25562306a36Sopenharmony_ci status = "okay"; 25662306a36Sopenharmony_ci}; 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci&usb3_phy1 { 25962306a36Sopenharmony_ci vbus-supply = <®_main_usb>; 26062306a36Sopenharmony_ci status = "okay"; 26162306a36Sopenharmony_ci}; 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci&usb_dwc3_0 { 26462306a36Sopenharmony_ci dr_mode = "host"; 26562306a36Sopenharmony_ci status = "okay"; 26662306a36Sopenharmony_ci}; 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci&usb_dwc3_1 { 26962306a36Sopenharmony_ci dr_mode = "host"; 27062306a36Sopenharmony_ci status = "okay"; 27162306a36Sopenharmony_ci}; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci&usdhc2 { 27462306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>; 27562306a36Sopenharmony_ci assigned-clock-rates = <200000000>; 27662306a36Sopenharmony_ci pinctrl-names = "default"; 27762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc2>; 27862306a36Sopenharmony_ci vqmmc-supply = <®_main_3v3>; 27962306a36Sopenharmony_ci vmmc-supply = <®_main_3v3>; 28062306a36Sopenharmony_ci bus-width = <4>; 28162306a36Sopenharmony_ci status = "okay"; 28262306a36Sopenharmony_ci}; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci&iomuxc { 28562306a36Sopenharmony_ci pinctrl_backlight: backlightgrp { 28662306a36Sopenharmony_ci fsl,pins = < 28762306a36Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x3 28862306a36Sopenharmony_ci >; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci pinctrl_edp_bridge: edpbridgegrp { 29262306a36Sopenharmony_ci fsl,pins = < 29362306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI5_RXC_GPIO3_IO20 0x1 29462306a36Sopenharmony_ci >; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci pinctrl_i2c3: i2c3grp { 29862306a36Sopenharmony_ci fsl,pins = < 29962306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000022 30062306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA 0x40000022 30162306a36Sopenharmony_ci >; 30262306a36Sopenharmony_ci }; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci pinctrl_i2c4: i2c4grp { 30562306a36Sopenharmony_ci fsl,pins = < 30662306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C4_SCL_I2C4_SCL 0x40000022 30762306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C4_SDA_I2C4_SDA 0x40000022 30862306a36Sopenharmony_ci >; 30962306a36Sopenharmony_ci }; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci pinctrl_pcie1: pcie1grp { 31262306a36Sopenharmony_ci fsl,pins = < 31362306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI5_RXD2_GPIO3_IO23 0x16 31462306a36Sopenharmony_ci >; 31562306a36Sopenharmony_ci }; 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci pinctrl_pwm2: pwm2grp { 31862306a36Sopenharmony_ci fsl,pins = < 31962306a36Sopenharmony_ci MX8MQ_IOMUXC_SPDIF_RX_PWM2_OUT 0x3 32062306a36Sopenharmony_ci >; 32162306a36Sopenharmony_ci }; 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci pinctrl_sai2: sai2grp { 32462306a36Sopenharmony_ci fsl,pins = < 32562306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0 0xd6 32662306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_RXFS_SAI2_RX_SYNC 0xd6 32762306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0xd6 32862306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0xd6 32962306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_RXC_SAI2_RX_BCLK 0xd6 33062306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK 0xd6 33162306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0xd6 33262306a36Sopenharmony_ci >; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ci pinctrl_uart2: uart2grp { 33662306a36Sopenharmony_ci fsl,pins = < 33762306a36Sopenharmony_ci MX8MQ_IOMUXC_UART2_RXD_UART2_DCE_RX 0x45 33862306a36Sopenharmony_ci MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX 0x45 33962306a36Sopenharmony_ci >; 34062306a36Sopenharmony_ci }; 34162306a36Sopenharmony_ci 34262306a36Sopenharmony_ci pinctrl_usdhc2: usdhc2grp { 34362306a36Sopenharmony_ci fsl,pins = < 34462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0 34562306a36Sopenharmony_ci MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x83 34662306a36Sopenharmony_ci MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc3 34762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc3 34862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc3 34962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc3 35062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc3 35162306a36Sopenharmony_ci >; 35262306a36Sopenharmony_ci }; 35362306a36Sopenharmony_ci}; 354