Path: blob/master/arch/riscv/boot/dts/starfive/jh7100-common.dtsi
26513 views
// SPDX-License-Identifier: GPL-2.0 OR MIT /* * Copyright (C) 2021 StarFive Technology Co., Ltd. * Copyright (C) 2021 Emil Renner Berthing <[email protected]> */ /dts-v1/; #include "jh7100.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/leds/common.h> #include <dt-bindings/pinctrl/pinctrl-starfive-jh7100.h> / { aliases { mmc0 = &sdio0; mmc1 = &sdio1; serial0 = &uart3; }; chosen { stdout-path = "serial0:115200n8"; }; cpus { timebase-frequency = <6250000>; }; memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x2 0x0>; }; leds { compatible = "gpio-leds"; led-ack { gpios = <&gpio 43 GPIO_ACTIVE_HIGH>; color = <LED_COLOR_ID_GREEN>; function = LED_FUNCTION_HEARTBEAT; linux,default-trigger = "heartbeat"; label = "ack"; }; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; dma-reserved@fa000000 { reg = <0x0 0xfa000000 0x0 0x1000000>; no-map; }; linux,dma@107a000000 { compatible = "shared-dma-pool"; reg = <0x10 0x7a000000 0x0 0x1000000>; no-map; linux,dma-default; }; }; soc { dma-ranges = <0x00 0x80000000 0x00 0x80000000 0x00 0x7a000000>, <0x00 0xfa000000 0x10 0x7a000000 0x00 0x01000000>, <0x00 0xfb000000 0x00 0xfb000000 0x07 0x85000000>; }; wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>; }; }; &gmac { pinctrl-names = "default"; pinctrl-0 = <&gmac_pins>; phy-mode = "rgmii-id"; status = "okay"; mdio: mdio { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; }; }; &gpio { gmac_pins: gmac-0 { gtxclk-pins { pins = <PAD_FUNC_SHARE(115)>; bias-pull-up; drive-strength = <35>; input-enable; input-schmitt-enable; slew-rate = <0>; }; miitxclk-pins { pins = <PAD_FUNC_SHARE(116)>; bias-pull-up; drive-strength = <14>; input-enable; input-schmitt-disable; slew-rate = <0>; }; tx-pins { pins = <PAD_FUNC_SHARE(117)>, <PAD_FUNC_SHARE(119)>, <PAD_FUNC_SHARE(120)>, <PAD_FUNC_SHARE(121)>, <PAD_FUNC_SHARE(122)>, <PAD_FUNC_SHARE(123)>, <PAD_FUNC_SHARE(124)>, <PAD_FUNC_SHARE(125)>, <PAD_FUNC_SHARE(126)>; bias-pull-up; drive-strength = <35>; input-disable; input-schmitt-disable; slew-rate = <0>; }; rxclk-pins { pins = <PAD_FUNC_SHARE(127)>; bias-pull-up; drive-strength = <14>; input-enable; input-schmitt-disable; slew-rate = <6>; }; rxer-pins { pins = <PAD_FUNC_SHARE(129)>; bias-pull-up; drive-strength = <14>; input-enable; input-schmitt-disable; slew-rate = <0>; }; rx-pins { pins = <PAD_FUNC_SHARE(128)>, <PAD_FUNC_SHARE(130)>, <PAD_FUNC_SHARE(131)>, <PAD_FUNC_SHARE(132)>, <PAD_FUNC_SHARE(133)>, <PAD_FUNC_SHARE(134)>, <PAD_FUNC_SHARE(135)>, <PAD_FUNC_SHARE(136)>, <PAD_FUNC_SHARE(137)>, <PAD_FUNC_SHARE(138)>, <PAD_FUNC_SHARE(139)>, <PAD_FUNC_SHARE(140)>, <PAD_FUNC_SHARE(141)>; bias-pull-up; drive-strength = <14>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; i2c0_pins: i2c0-0 { i2c-pins { pinmux = <GPIOMUX(62, GPO_LOW, GPO_I2C0_PAD_SCK_OEN, GPI_I2C0_PAD_SCK_IN)>, <GPIOMUX(61, GPO_LOW, GPO_I2C0_PAD_SDA_OEN, GPI_I2C0_PAD_SDA_IN)>; bias-disable; /* external pull-up */ input-enable; input-schmitt-enable; }; }; i2c1_pins: i2c1-0 { i2c-pins { pinmux = <GPIOMUX(47, GPO_LOW, GPO_I2C1_PAD_SCK_OEN, GPI_I2C1_PAD_SCK_IN)>, <GPIOMUX(48, GPO_LOW, GPO_I2C1_PAD_SDA_OEN, GPI_I2C1_PAD_SDA_IN)>; bias-pull-up; input-enable; input-schmitt-enable; }; }; i2c2_pins: i2c2-0 { i2c-pins { pinmux = <GPIOMUX(60, GPO_LOW, GPO_I2C2_PAD_SCK_OEN, GPI_I2C2_PAD_SCK_IN)>, <GPIOMUX(59, GPO_LOW, GPO_I2C2_PAD_SDA_OEN, GPI_I2C2_PAD_SDA_IN)>; bias-disable; /* external pull-up */ input-enable; input-schmitt-enable; }; }; pwm_pins: pwm-0 { pwm-pins { pinmux = <GPIOMUX(7, GPO_PWM_PAD_OUT_BIT0, GPO_PWM_PAD_OE_N_BIT0, GPI_NONE)>, <GPIOMUX(5, GPO_PWM_PAD_OUT_BIT1, GPO_PWM_PAD_OE_N_BIT1, GPI_NONE)>; bias-disable; drive-strength = <35>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; sdio0_pins: sdio0-0 { clk-pins { pinmux = <GPIOMUX(54, GPO_SDIO0_PAD_CCLK_OUT, GPO_ENABLE, GPI_NONE)>; bias-disable; input-disable; input-schmitt-disable; }; sdio-pins { pinmux = <GPIOMUX(55, GPO_LOW, GPO_DISABLE, GPI_SDIO0_PAD_CARD_DETECT_N)>, <GPIOMUX(53, GPO_SDIO0_PAD_CCMD_OUT, GPO_SDIO0_PAD_CCMD_OEN, GPI_SDIO0_PAD_CCMD_IN)>, <GPIOMUX(49, GPO_SDIO0_PAD_CDATA_OUT_BIT0, GPO_SDIO0_PAD_CDATA_OEN_BIT0, GPI_SDIO0_PAD_CDATA_IN_BIT0)>, <GPIOMUX(50, GPO_SDIO0_PAD_CDATA_OUT_BIT1, GPO_SDIO0_PAD_CDATA_OEN_BIT1, GPI_SDIO0_PAD_CDATA_IN_BIT1)>, <GPIOMUX(51, GPO_SDIO0_PAD_CDATA_OUT_BIT2, GPO_SDIO0_PAD_CDATA_OEN_BIT2, GPI_SDIO0_PAD_CDATA_IN_BIT2)>, <GPIOMUX(52, GPO_SDIO0_PAD_CDATA_OUT_BIT3, GPO_SDIO0_PAD_CDATA_OEN_BIT3, GPI_SDIO0_PAD_CDATA_IN_BIT3)>; bias-pull-up; input-enable; input-schmitt-enable; }; }; sdio1_pins: sdio1-0 { clk-pins { pinmux = <GPIOMUX(33, GPO_SDIO1_PAD_CCLK_OUT, GPO_ENABLE, GPI_NONE)>; bias-disable; input-disable; input-schmitt-disable; }; sdio-pins { pinmux = <GPIOMUX(29, GPO_SDIO1_PAD_CCMD_OUT, GPO_SDIO1_PAD_CCMD_OEN, GPI_SDIO1_PAD_CCMD_IN)>, <GPIOMUX(36, GPO_SDIO1_PAD_CDATA_OUT_BIT0, GPO_SDIO1_PAD_CDATA_OEN_BIT0, GPI_SDIO1_PAD_CDATA_IN_BIT0)>, <GPIOMUX(30, GPO_SDIO1_PAD_CDATA_OUT_BIT1, GPO_SDIO1_PAD_CDATA_OEN_BIT1, GPI_SDIO1_PAD_CDATA_IN_BIT1)>, <GPIOMUX(34, GPO_SDIO1_PAD_CDATA_OUT_BIT2, GPO_SDIO1_PAD_CDATA_OEN_BIT2, GPI_SDIO1_PAD_CDATA_IN_BIT2)>, <GPIOMUX(31, GPO_SDIO1_PAD_CDATA_OUT_BIT3, GPO_SDIO1_PAD_CDATA_OEN_BIT3, GPI_SDIO1_PAD_CDATA_IN_BIT3)>; bias-pull-up; input-enable; input-schmitt-enable; }; }; uart3_pins: uart3-0 { rx-pins { pinmux = <GPIOMUX(13, GPO_LOW, GPO_DISABLE, GPI_UART3_PAD_SIN)>; bias-pull-up; drive-strength = <14>; input-enable; input-schmitt-enable; slew-rate = <0>; }; tx-pins { pinmux = <GPIOMUX(14, GPO_UART3_PAD_SOUT, GPO_ENABLE, GPI_NONE)>; bias-disable; drive-strength = <35>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; }; &i2c0 { clock-frequency = <100000>; i2c-sda-hold-time-ns = <300>; i2c-sda-falling-time-ns = <500>; i2c-scl-falling-time-ns = <500>; pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; status = "okay"; pmic@5e { compatible = "ti,tps65086"; reg = <0x5e>; gpio-controller; #gpio-cells = <2>; regulators { }; }; }; &i2c1 { clock-frequency = <400000>; i2c-sda-hold-time-ns = <300>; i2c-sda-falling-time-ns = <100>; i2c-scl-falling-time-ns = <100>; pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; status = "okay"; }; &i2c2 { clock-frequency = <100000>; i2c-sda-hold-time-ns = <300>; i2c-sda-falling-time-ns = <500>; i2c-scl-falling-time-ns = <500>; pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins>; status = "okay"; }; &osc_sys { clock-frequency = <25000000>; }; &osc_aud { clock-frequency = <27000000>; }; &pwm { pinctrl-names = "default"; pinctrl-0 = <&pwm_pins>; status = "okay"; }; &sdio0 { broken-cd; bus-width = <4>; cap-sd-highspeed; pinctrl-names = "default"; pinctrl-0 = <&sdio0_pins>; status = "okay"; }; &sdio1 { #address-cells = <1>; #size-cells = <0>; bus-width = <4>; cap-sd-highspeed; cap-sdio-irq; cap-power-off-card; mmc-pwrseq = <&wifi_pwrseq>; non-removable; pinctrl-names = "default"; pinctrl-0 = <&sdio1_pins>; status = "okay"; wifi@1 { compatible = "brcm,bcm4329-fmac"; reg = <1>; }; }; &uart3 { pinctrl-names = "default"; pinctrl-0 = <&uart3_pins>; status = "okay"; };