10e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 20e8011faSEmmanuel Vadot/* 30e8011faSEmmanuel Vadot * Copyright (C) 2024 Josua Mayer <josua@solid-run.com> 40e8011faSEmmanuel Vadot * 50e8011faSEmmanuel Vadot */ 60e8011faSEmmanuel Vadot 70e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 80e8011faSEmmanuel Vadot 90e8011faSEmmanuel Vadot/ { 100e8011faSEmmanuel Vadot model = "SolidRun CN9130 SoM"; 110e8011faSEmmanuel Vadot compatible = "solidrun,cn9130-sr-som", "marvell,cn9130"; 120e8011faSEmmanuel Vadot 130e8011faSEmmanuel Vadot aliases { 140e8011faSEmmanuel Vadot ethernet0 = &cp0_eth0; 150e8011faSEmmanuel Vadot ethernet1 = &cp0_eth1; 160e8011faSEmmanuel Vadot ethernet2 = &cp0_eth2; 170e8011faSEmmanuel Vadot i2c0 = &cp0_i2c0; 180e8011faSEmmanuel Vadot mmc0 = &ap_sdhci0; 190e8011faSEmmanuel Vadot rtc0 = &cp0_rtc; 200e8011faSEmmanuel Vadot }; 210e8011faSEmmanuel Vadot 220e8011faSEmmanuel Vadot chosen { 230e8011faSEmmanuel Vadot stdout-path = "serial0:115200n8"; 240e8011faSEmmanuel Vadot }; 250e8011faSEmmanuel Vadot 260e8011faSEmmanuel Vadot v_1_8: regulator-1-8 { 270e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 280e8011faSEmmanuel Vadot regulator-name = "1v8"; 290e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 300e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 310e8011faSEmmanuel Vadot }; 320e8011faSEmmanuel Vadot 330e8011faSEmmanuel Vadot /* requires assembly of R9307 */ 340e8011faSEmmanuel Vadot vhv: regulator-vhv-1-8 { 350e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 360e8011faSEmmanuel Vadot regulator-name = "vhv-1v8"; 370e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 380e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 390e8011faSEmmanuel Vadot pinctrl-0 = <&cp0_reg_vhv_pins>; 400e8011faSEmmanuel Vadot pinctrl-names = "default"; 410e8011faSEmmanuel Vadot gpios = <&cp0_gpio2 9 GPIO_ACTIVE_HIGH>; 420e8011faSEmmanuel Vadot enable-active-high; 430e8011faSEmmanuel Vadot }; 440e8011faSEmmanuel Vadot}; 450e8011faSEmmanuel Vadot 460e8011faSEmmanuel Vadot&ap_pinctrl { 470e8011faSEmmanuel Vadot ap_mmc0_pins: ap-mmc0-pins { 480e8011faSEmmanuel Vadot marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", "mpp4", "mpp5", 490e8011faSEmmanuel Vadot "mpp6", "mpp7", "mpp8", "mpp9", "mpp10", "mpp12"; 500e8011faSEmmanuel Vadot marvell,function = "sdio"; 510e8011faSEmmanuel Vadot /* 520e8011faSEmmanuel Vadot * mpp12 is emmc reset, function should be sdio (hw_rst), 530e8011faSEmmanuel Vadot * but pinctrl-mvebu does not support this. 540e8011faSEmmanuel Vadot * 550e8011faSEmmanuel Vadot * From pinctrl-mvebu.h: 560e8011faSEmmanuel Vadot * "The name will be used to switch to this setting in DT description, e.g. 570e8011faSEmmanuel Vadot * marvell,function = "uart2". subname is only for debugging purposes." 580e8011faSEmmanuel Vadot */ 590e8011faSEmmanuel Vadot }; 600e8011faSEmmanuel Vadot}; 610e8011faSEmmanuel Vadot 620e8011faSEmmanuel Vadot&ap_sdhci0 { 630e8011faSEmmanuel Vadot bus-width = <8>; 640e8011faSEmmanuel Vadot pinctrl-0 = <&ap_mmc0_pins>; 650e8011faSEmmanuel Vadot pinctrl-names = "default"; 660e8011faSEmmanuel Vadot vqmmc-supply = <&v_1_8>; 670e8011faSEmmanuel Vadot status = "okay"; 680e8011faSEmmanuel Vadot}; 690e8011faSEmmanuel Vadot 700e8011faSEmmanuel Vadot&cp0_ethernet { 710e8011faSEmmanuel Vadot status = "okay"; 720e8011faSEmmanuel Vadot}; 730e8011faSEmmanuel Vadot 740e8011faSEmmanuel Vadot/* for assembly with phy */ 750e8011faSEmmanuel Vadot&cp0_eth2 { 760e8011faSEmmanuel Vadot pinctrl-names = "default"; 770e8011faSEmmanuel Vadot pinctrl-0 = <&cp0_eth2_pins>; 780e8011faSEmmanuel Vadot phy-mode = "rgmii-id"; 790e8011faSEmmanuel Vadot phy = <&cp0_eth2_phy>; 800e8011faSEmmanuel Vadot status = "okay"; 810e8011faSEmmanuel Vadot}; 820e8011faSEmmanuel Vadot 830e8011faSEmmanuel Vadot&cp0_i2c0 { 840e8011faSEmmanuel Vadot pinctrl-names = "default"; 850e8011faSEmmanuel Vadot pinctrl-0 = <&cp0_i2c0_pins>; 860e8011faSEmmanuel Vadot clock-frequency = <100000>; 870e8011faSEmmanuel Vadot status = "okay"; 880e8011faSEmmanuel Vadot 890e8011faSEmmanuel Vadot som_eeprom: eeprom@53 { 900e8011faSEmmanuel Vadot compatible = "atmel,24c02"; 910e8011faSEmmanuel Vadot reg = <0x53>; 920e8011faSEmmanuel Vadot pagesize = <8>; 930e8011faSEmmanuel Vadot }; 940e8011faSEmmanuel Vadot}; 950e8011faSEmmanuel Vadot 960e8011faSEmmanuel Vadot&cp0_mdio { 970e8011faSEmmanuel Vadot pinctrl-0 = <&cp0_mdio_pins>; 980e8011faSEmmanuel Vadot status = "okay"; 990e8011faSEmmanuel Vadot 1000e8011faSEmmanuel Vadot /* assembly option */ 1010e8011faSEmmanuel Vadot cp0_eth2_phy: ethernet-phy@0 { 1020e8011faSEmmanuel Vadot reg = <0>; 1030e8011faSEmmanuel Vadot }; 1040e8011faSEmmanuel Vadot}; 1050e8011faSEmmanuel Vadot 1060e8011faSEmmanuel Vadot&cp0_spi1 { 1070e8011faSEmmanuel Vadot status = "okay"; 1080e8011faSEmmanuel Vadot pinctrl-names = "default"; 1090e8011faSEmmanuel Vadot pinctrl-0 = <&cp0_spi1_pins>; 1100e8011faSEmmanuel Vadot /* max speed limited by a mux */ 1110e8011faSEmmanuel Vadot spi-max-frequency = <1800000000>; 1120e8011faSEmmanuel Vadot 1130e8011faSEmmanuel Vadot flash@0 { 1140e8011faSEmmanuel Vadot compatible = "jedec,spi-nor"; 1150e8011faSEmmanuel Vadot reg = <0>; 1160e8011faSEmmanuel Vadot /* read command supports max. 50MHz */ 1170e8011faSEmmanuel Vadot spi-max-frequency = <50000000>; 1180e8011faSEmmanuel Vadot }; 1190e8011faSEmmanuel Vadot}; 1200e8011faSEmmanuel Vadot 1210e8011faSEmmanuel Vadot&cp0_syscon0 { 1220e8011faSEmmanuel Vadot cp0_pinctrl: pinctrl { 1230e8011faSEmmanuel Vadot compatible = "marvell,cp115-standalone-pinctrl"; 1240e8011faSEmmanuel Vadot 1250e8011faSEmmanuel Vadot cp0_eth2_pins: cp0-ge2-rgmii-pins { 1260e8011faSEmmanuel Vadot marvell,pins = "mpp44", "mpp45", "mpp46", "mpp47", 1270e8011faSEmmanuel Vadot "mpp48", "mpp49", "mpp50", "mpp51", 1280e8011faSEmmanuel Vadot "mpp52", "mpp53", "mpp54", "mpp55"; 1290e8011faSEmmanuel Vadot /* docs call it "ge2", but cp110-pinctrl "ge1" */ 1300e8011faSEmmanuel Vadot marvell,function = "ge1"; 1310e8011faSEmmanuel Vadot }; 1320e8011faSEmmanuel Vadot 1330e8011faSEmmanuel Vadot cp0_i2c0_pins: cp0-i2c0-pins { 1340e8011faSEmmanuel Vadot marvell,pins = "mpp37", "mpp38"; 1350e8011faSEmmanuel Vadot marvell,function = "i2c0"; 1360e8011faSEmmanuel Vadot }; 1370e8011faSEmmanuel Vadot 1380e8011faSEmmanuel Vadot cp0_mdio_pins: cp0-mdio-pins { 139*b2d2a78aSEmmanuel Vadot marvell,pins = "mpp0", "mpp1"; 1400e8011faSEmmanuel Vadot marvell,function = "ge"; 1410e8011faSEmmanuel Vadot }; 1420e8011faSEmmanuel Vadot 1430e8011faSEmmanuel Vadot cp0_spi1_pins: cp0-spi1-pins { 1440e8011faSEmmanuel Vadot marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16"; 1450e8011faSEmmanuel Vadot marvell,function = "spi1"; 1460e8011faSEmmanuel Vadot }; 1470e8011faSEmmanuel Vadot 1480e8011faSEmmanuel Vadot cp0_reg_vhv_pins: cp0-reg-vhv-pins { 1490e8011faSEmmanuel Vadot marvell,pins = "mpp41"; 1500e8011faSEmmanuel Vadot marvell,function = "gpio"; 1510e8011faSEmmanuel Vadot }; 1520e8011faSEmmanuel Vadot }; 1530e8011faSEmmanuel Vadot}; 1540e8011faSEmmanuel Vadot 1550e8011faSEmmanuel Vadot/* AP default console */ 1560e8011faSEmmanuel Vadot&uart0 { 1570e8011faSEmmanuel Vadot pinctrl-0 = <&uart0_pins>; 1580e8011faSEmmanuel Vadot pinctrl-names = "default"; 1590e8011faSEmmanuel Vadot status = "okay"; 1600e8011faSEmmanuel Vadot}; 161