Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
26513 views
// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
 * Copyright (C) 2024 Henry Bell <[email protected]>
 */

/dts-v1/;
#include "jh7110-common.dtsi"

/ {
	model = "Pine64 Star64";
	compatible = "pine64,star64", "starfive,jh7110";
	aliases {
		ethernet1 = &gmac1;
	};
};

&gmac0 {
	starfive,tx-use-rgmii-clk;
	assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
	assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
	status = "okay";
};

&gmac1 {
	phy-handle = <&phy1>;
	phy-mode = "rgmii-id";
	starfive,tx-use-rgmii-clk;
	assigned-clocks = <&syscrg JH7110_SYSCLK_GMAC1_TX>;
	assigned-clock-parents = <&syscrg JH7110_SYSCLK_GMAC1_RMII_RTX>;
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "snps,dwmac-mdio";

		phy1: ethernet-phy@1 {
			reg = <1>;
		};
	};
};

&i2c0 {
	status = "okay";
};

&pcie1 {
	status = "okay";
};

&phy0 {
	rx-internal-delay-ps = <1500>;
	motorcomm,rx-clk-drv-microamp = <2910>;
	motorcomm,rx-data-drv-microamp = <2910>;
	motorcomm,tx-clk-adj-enabled;
	motorcomm,tx-clk-10-inverted;
	motorcomm,tx-clk-100-inverted;
	motorcomm,tx-clk-1000-inverted;
};

&phy1 {
	rx-internal-delay-ps = <0>;
	tx-internal-delay-ps = <300>;
	motorcomm,rx-clk-drv-microamp = <2910>;
	motorcomm,rx-data-drv-microamp = <2910>;
	motorcomm,tx-clk-adj-enabled;
	motorcomm,tx-clk-10-inverted;
	motorcomm,tx-clk-100-inverted;
};

&pwm {
	status = "okay";
};

&pwmdac {
	status = "okay";
};

&spi0 {
	status = "okay";
};

&sysgpio {
	usb0_pins: usb0-0 {
		vbus-pins {
			pinmux = <GPIOMUX(25,  GPOUT_SYS_USB_DRIVE_VBUS,
					       GPOEN_ENABLE,
					       GPI_NONE)>;
			bias-disable;
			input-disable;
			input-schmitt-disable;
			slew-rate = <0>;
		};
	};
};

&usb0 {
	dr_mode = "host";
	pinctrl-names = "default";
	pinctrl-0 = <&usb0_pins>;
	status = "okay";
};

&usb_cdns3 {
	phys = <&usbphy0>, <&pciephy0>;
	phy-names = "cdns3,usb2-phy", "cdns3,usb3-phy";
};