diff options
Diffstat (limited to 'dts/upstream/src/arm/renesas')
| -rw-r--r-- | dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-db.dts | 188 | ||||
| -rw-r--r-- | dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-eb.dts | 244 | ||||
| -rw-r--r-- | dts/upstream/src/arm/renesas/r9a06g032.dtsi | 50 | 
3 files changed, 479 insertions, 3 deletions
| diff --git a/dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-db.dts b/dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-db.dts index 31cdca3e623..3258b2e2743 100644 --- a/dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-db.dts +++ b/dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-db.dts @@ -8,8 +8,11 @@  /dts-v1/; -#include <dt-bindings/pinctrl/rzn1-pinctrl.h> +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> +#include <dt-bindings/leds/common.h>  #include <dt-bindings/net/pcs-rzn1-miic.h> +#include <dt-bindings/pinctrl/rzn1-pinctrl.h>  #include "r9a06g032.dtsi" @@ -24,6 +27,127 @@  	aliases {  		serial0 = &uart0;  	}; + +	keyboard { +		compatible = "gpio-keys-polled"; +		poll-interval = <100>; + +		switch-1 { +			linux,code = <KEY_1>; +			label = "SW1-1"; +			debounce-interval = <20>; +			gpios = <&pca9698 8 GPIO_ACTIVE_LOW>; +		}; + +		switch-2 { +			linux,code = <KEY_2>; +			label = "SW1-2"; +			debounce-interval = <20>; +			gpios = <&pca9698 9 GPIO_ACTIVE_LOW>; +		}; + +		switch-3 { +			linux,code = <KEY_3>; +			label = "SW1-3"; +			debounce-interval = <20>; +			gpios = <&pca9698 10 GPIO_ACTIVE_LOW>; +		}; + +		switch-4 { +			linux,code = <KEY_4>; +			label = "SW1-4"; +			debounce-interval = <20>; +			gpios = <&pca9698 11 GPIO_ACTIVE_LOW>; +		}; + +		switch-5 { +			linux,code = <KEY_5>; +			label = "SW1-5"; +			debounce-interval = <20>; +			gpios = <&pca9698 12 GPIO_ACTIVE_LOW>; +		}; + +		switch-6 { +			linux,code = <KEY_6>; +			label = "SW1-6"; +			debounce-interval = <20>; +			gpios = <&pca9698 13 GPIO_ACTIVE_LOW>; +		}; + +		switch-7 { +			linux,code = <KEY_7>; +			label = "SW1-7"; +			debounce-interval = <20>; +			gpios = <&pca9698 14 GPIO_ACTIVE_LOW>; +		}; + +		switch-8 { +			linux,code = <KEY_8>; +			label = "SW1-8"; +			debounce-interval = <20>; +			gpios = <&pca9698 15 GPIO_ACTIVE_LOW>; +		}; +	}; + +	leds { +		compatible = "gpio-leds"; + +		led-dbg0 { +			gpios = <&pca9698 0 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <0>; +		}; + +		led-dbg1 { +			gpios = <&pca9698 1 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <1>; +		}; + +		led-dbg2 { +			gpios = <&pca9698 2 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <2>; +		}; + +		led-dbg3 { +			gpios = <&pca9698 3 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <3>; +		}; + +		led-dbg4 { +			gpios = <&pca9698 4 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <4>; +		}; + +		led-dbg5 { +			gpios = <&pca9698 5 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <5>; +		}; + +		led-dbg6 { +			gpios = <&pca9698 6 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <6>; +		}; + +		led-dbg7 { +			gpios = <&pca9698 7 GPIO_ACTIVE_HIGH>; +			color = <LED_COLOR_ID_GREEN>; +			function = LED_FUNCTION_DEBUG; +			function-enumerator = <7>; +		}; +	};  };  &can0 { @@ -47,6 +171,10 @@  	renesas,miic-switch-portin = <MIIC_GMAC2_PORT>;  }; +&ext_rtc_clk { +	clock-frequency = <32768>; +}; +  &gmac2 {  	status = "okay";  	phy-mode = "gmii"; @@ -57,6 +185,44 @@  	};  }; +&i2c2 { +	pinctrl-0 = <&pins_i2c2>; +	pinctrl-names = "default"; +	status = "okay"; +	clock-frequency = <400000>; + +	pca9698: gpio@20 { +		compatible = "nxp,pca9698"; +		reg = <0x20>; +		gpio-controller; +		#gpio-cells = <2>; + +		/* configure the analog switch to let i2c2 access the eeprom */ +		max4662-in1-hog { +			gpio-hog; +			gpios = <16 0>; +			output-high; +		}; +		max4662-in2-hog { +			gpio-hog; +			gpios = <17 0>; +			output-low; +		}; +		max4662-in3-hog { +			gpio-hog; +			gpios = <18 0>; +			output-low; +		}; +	}; + +	/* Some revisions may have a 24cs64 at address 0x58 */ +	eeprom@50 { +		compatible = "atmel,24c64"; +		pagesize = <32>; +		reg = <0x50>; +	}; +}; +  &mii_conv4 {  	renesas,miic-input = <MIIC_SWITCH_PORTB>;  	status = "okay"; @@ -68,6 +234,9 @@  };  &pinctrl { +	pinctrl-names = "default"; +	pinctrl-0 = <&pins_cpld>; +  	pins_can0: pins_can0 {  		pinmux = <RZN1_PINMUX(162, RZN1_FUNC_CAN)>,	/* CAN0_TXD */  			 <RZN1_PINMUX(163, RZN1_FUNC_CAN)>;	/* CAN0_RXD */ @@ -80,6 +249,13 @@  		drive-strength = <6>;  	}; +	pins_cpld: pins-cpld { +		pinmux = <RZN1_PINMUX(119, RZN1_FUNC_USB)>, +			 <RZN1_PINMUX(120, RZN1_FUNC_USB)>, +			 <RZN1_PINMUX(121, RZN1_FUNC_USB)>, +			 <RZN1_PINMUX(122, RZN1_FUNC_USB)>; +	}; +  	pins_eth3: pins_eth3 {  		pinmux = <RZN1_PINMUX(36, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,  			 <RZN1_PINMUX(37, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, @@ -114,6 +290,12 @@  		bias-disable;  	}; +	pins_i2c2: pins_i2c2 { +		pinmux = <RZN1_PINMUX(115, RZN1_FUNC_I2C)>, +			 <RZN1_PINMUX(116, RZN1_FUNC_I2C)>; +		drive-strength = <12>; +	}; +  	pins_mdio1: pins_mdio1 {  		pinmux = <RZN1_PINMUX(152, RZN1_FUNC_MDIO1_SWITCH)>,  			 <RZN1_PINMUX(153, RZN1_FUNC_MDIO1_SWITCH)>; @@ -174,6 +356,10 @@  	status = "okay";  }; +&udc { +	status = "okay"; +}; +  &wdt0 {  	timeout-sec = <60>;  	status = "okay"; diff --git a/dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-eb.dts b/dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-eb.dts new file mode 100644 index 00000000000..97a339b30d7 --- /dev/null +++ b/dts/upstream/src/arm/renesas/r9a06g032-rzn1d400-eb.dts @@ -0,0 +1,244 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Device Tree Source for the RZN1D-EB Board + * + * Copyright (C) 2023 Schneider-Electric + * + */ + +#include <dt-bindings/leds/common.h> +#include "r9a06g032-rzn1d400-db.dts" + +/ { +	model = "RZN1D-EB Board"; +	compatible = "renesas,rzn1d400-eb", "renesas,rzn1d400-db", +		     "renesas,r9a06g032"; +}; + +&gmac1 { +	pinctrl-0 = <&pins_eth0>, <&pins_mdio0>; +	pinctrl-names = "default"; + +	status = "okay"; +	phy-mode = "rgmii-id"; +	phy-handle = <&phy_mii0>; + +	mdio { +		#address-cells = <1>; +		#size-cells = <0>; +		compatible = "snps,dwmac-mdio"; + +		phy_mii0: ethernet-phy@8 { +			reg = <8>; + +			leds { +				#address-cells = <1>; +				#size-cells = <0>; + +				led@0 { +					reg = <0>; +					color = <LED_COLOR_ID_GREEN>; +					function = LED_FUNCTION_LAN; +					default-state = "keep"; +				}; + +				led@1 { +					reg = <1>; +					color = <LED_COLOR_ID_ORANGE>; +					function = LED_FUNCTION_ACTIVITY; +					default-state = "keep"; +				}; +			}; +		}; +	}; +}; + +&i2c2 { +	/* Sensors are different across revisions. All are LM75B compatible */ +	sensor@49 { +		compatible = "national,lm75b"; +		reg = <0x49>; +	}; +}; + +&mii_conv1 { +	renesas,miic-input = <MIIC_GMAC1_PORT>; +	status = "okay"; +}; + +&mii_conv2 { +	renesas,miic-input = <MIIC_SWITCH_PORTD>; +	status = "okay"; +}; + +&mii_conv3 { +	renesas,miic-input = <MIIC_SWITCH_PORTC>; +	status = "okay"; +}; + +&pci_usb { +	status = "okay"; +}; + +&pinctrl { +	pins_eth0: pins-eth0 { +		pinmux = <RZN1_PINMUX(0, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(1, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(2, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(3, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(4, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(5, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(6, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(7, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(8, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(9, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(10, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(11, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>; +		drive-strength = <6>; +		bias-disable; +	}; + +	pins_eth1: pins-eth1 { +		pinmux = <RZN1_PINMUX(12, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(13, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(14, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(15, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(16, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(17, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(18, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(19, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(20, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(21, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(22, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(23, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>; +		drive-strength = <6>; +		bias-disable; +	}; + +	pins_eth2: pins-eth2 { +		pinmux = <RZN1_PINMUX(24, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(25, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(26, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(27, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(28, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(29, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(30, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(31, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(32, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(33, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(34, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>, +			 <RZN1_PINMUX(35, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>; +		drive-strength = <6>; +		bias-disable; +	}; + +	pins_mdio0: pins-mdio0 { +		pinmux = <RZN1_PINMUX(150, RZN1_FUNC_MDIO0_GMAC0)>, +			 <RZN1_PINMUX(151, RZN1_FUNC_MDIO0_GMAC0)>; +	}; + +	pins_sdio1: pins-sdio1 { +		pinmux = <RZN1_PINMUX(95, RZN1_FUNC_SDIO)>, +			 <RZN1_PINMUX(97, RZN1_FUNC_SDIO)>, +			 <RZN1_PINMUX(98, RZN1_FUNC_SDIO)>, +			 <RZN1_PINMUX(99, RZN1_FUNC_SDIO)>, +			 <RZN1_PINMUX(100, RZN1_FUNC_SDIO)>, +			 <RZN1_PINMUX(101, RZN1_FUNC_SDIO_E)>, +			 <RZN1_PINMUX(102, RZN1_FUNC_SDIO_E)>; +	}; + +	pins_sdio1_clk: pins-sdio1-clk { +		pinmux = <RZN1_PINMUX(96, RZN1_FUNC_SDIO)>; +		drive-strength = <12>; +	}; + +	pins_uart2: pins-uart2 { +		pinmux = <RZN1_PINMUX(105, RZN1_FUNC_UART2)>, +			 <RZN1_PINMUX(106, RZN1_FUNC_UART2)>, +			 <RZN1_PINMUX(107, RZN1_FUNC_UART2)>, +			 <RZN1_PINMUX(108, RZN1_FUNC_UART2)>; +		bias-disable; +	}; +}; + +&sdio1 { +	pinctrl-0 = <&pins_sdio1>, <&pins_sdio1_clk>; +	pinctrl-names = "default"; + +	status = "okay"; +}; + +&switch { +	pinctrl-0 = <&pins_eth1>, <&pins_eth2>, <&pins_eth3>, <&pins_eth4>, +		    <&pins_mdio1>; + +	mdio { +		/* CN15 and CN16 switches must be configured in MDIO2 mode */ +		switch0phy1: ethernet-phy@1 { +			reg = <1>; + +			leds { +				#address-cells = <1>; +				#size-cells = <0>; + +				led@0 { +					reg = <0>; +					color = <LED_COLOR_ID_GREEN>; +					function = LED_FUNCTION_LAN; +					default-state = "keep"; +				}; + +				led@1 { +					reg = <1>; +					color = <LED_COLOR_ID_ORANGE>; +					function = LED_FUNCTION_ACTIVITY; +					default-state = "keep"; +				}; +			}; +		}; + +		switch0phy10: ethernet-phy@10 { +			reg = <10>; + +			leds { +				#address-cells = <1>; +				#size-cells = <0>; + +				led@0 { +					reg = <0>; +					color = <LED_COLOR_ID_GREEN>; +					function = LED_FUNCTION_LAN; +					default-state = "keep"; +				}; + +				led@1 { +					reg = <1>; +					color = <LED_COLOR_ID_ORANGE>; +					function = LED_FUNCTION_ACTIVITY; +					default-state = "keep"; +				}; +			}; +		}; +	}; +}; + +&switch_port2 { +	label = "lan2"; +	phy-mode = "rgmii-id"; +	phy-handle = <&switch0phy10>; +	status = "okay"; +}; + +&switch_port3 { +	label = "lan3"; +	phy-mode = "rgmii-id"; +	phy-handle = <&switch0phy1>; +	status = "okay"; +}; + +&uart2 { +	pinctrl-0 = <&pins_uart2>; +	pinctrl-names = "default"; +	status = "okay"; +	uart-has-rtscts; +}; diff --git a/dts/upstream/src/arm/renesas/r9a06g032.dtsi b/dts/upstream/src/arm/renesas/r9a06g032.dtsi index 87e03446fb4..13a60656b04 100644 --- a/dts/upstream/src/arm/renesas/r9a06g032.dtsi +++ b/dts/upstream/src/arm/renesas/r9a06g032.dtsi @@ -73,8 +73,8 @@  				     <GIC_SPI 67 IRQ_TYPE_EDGE_RISING>,  				     <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;  			interrupt-names = "alarm", "timer", "pps"; -			clocks = <&sysctrl R9A06G032_HCLK_RTC>; -			clock-names = "hclk"; +			clocks = <&sysctrl R9A06G032_HCLK_RTC>, <&ext_rtc_clk>; +			clock-names = "hclk", "xtal";  			power-domains = <&sysctrl>;  			status = "disabled";  		}; @@ -268,6 +268,28 @@  			status = "disabled";  		}; +		i2c1: i2c@40063000 { +			compatible = "renesas,r9a06g032-i2c", "renesas,rzn1-i2c", "snps,designware-i2c"; +			reg = <0x40063000 0x100>; +			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&sysctrl R9A06G032_HCLK_I2C0>, <&sysctrl R9A06G032_CLK_I2C0>; +			clock-names = "ref", "pclk"; +			#address-cells = <1>; +			#size-cells = <0>; +			status = "disabled"; +		}; + +		i2c2: i2c@40064000 { +			compatible = "renesas,r9a06g032-i2c", "renesas,rzn1-i2c", "snps,designware-i2c"; +			reg = <0x40064000 0x100>; +			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&sysctrl R9A06G032_HCLK_I2C1>, <&sysctrl R9A06G032_CLK_I2C1>; +			clock-names = "ref", "pclk"; +			#address-cells = <1>; +			#size-cells = <0>; +			status = "disabled"; +		}; +  		pinctrl: pinctrl@40067000 {  			compatible = "renesas,r9a06g032-pinctrl", "renesas,rzn1-pinctrl";  			reg = <0x40067000 0x1000>, <0x51000000 0x480>; @@ -276,6 +298,30 @@  			status = "okay";  		}; +		sdio1: mmc@40100000 { +			compatible = "renesas,r9a06g032-sdhci", "renesas,rzn1-sdhci", "arasan,sdhci-8.9a"; +			reg = <0x40100000 0x1000>; +			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; +			interrupt-names = "int", "wakeup"; +			clocks = <&sysctrl R9A06G032_CLK_SDIO0>, <&sysctrl R9A06G032_HCLK_SDIO0>; +			clock-names = "clk_xin", "clk_ahb"; +			no-1-8-v; +			status = "disabled"; +		}; + +		sdio2: mmc@40101000 { +			compatible = "renesas,r9a06g032-sdhci", "renesas,rzn1-sdhci", "arasan,sdhci-8.9a"; +			reg = <0x40101000 0x1000>; +			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; +			interrupt-names = "int", "wakeup"; +			clocks = <&sysctrl R9A06G032_CLK_SDIO1>, <&sysctrl R9A06G032_HCLK_SDIO1>; +			clock-names = "clk_xin", "clk_ahb"; +			no-1-8-v; +			status = "disabled"; +		}; +  		nand_controller: nand-controller@40102000 {  			compatible = "renesas,r9a06g032-nandc", "renesas,rzn1-nandc";  			reg = <0x40102000 0x2000>; | 
