162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for the RZ/G2LC SMARC pincontrol parts
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2021 Renesas Electronics Corp.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci&pinctrl {
1262306a36Sopenharmony_ci	pinctrl-0 = <&sound_clk_pins>;
1362306a36Sopenharmony_ci	pinctrl-names = "default";
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#if SW_SCIF_CAN
1662306a36Sopenharmony_ci	/* SW8 should be at position 2->1 */
1762306a36Sopenharmony_ci	can1_pins: can1 {
1862306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(40, 0, 3)>, /* TxD */
1962306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(40, 1, 3)>; /* RxD */
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci#endif
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#if SW_RSPI_CAN
2462306a36Sopenharmony_ci	/* SW8 should be at position 2->3 so that GPIO9_CAN1_STB line is activated */
2562306a36Sopenharmony_ci	can1-stb-hog {
2662306a36Sopenharmony_ci		gpio-hog;
2762306a36Sopenharmony_ci		gpios = <RZG2L_GPIO(44, 3) GPIO_ACTIVE_HIGH>;
2862306a36Sopenharmony_ci		output-low;
2962306a36Sopenharmony_ci		line-name = "can1_stb";
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	can1_pins: can1 {
3362306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(44, 0, 3)>, /* TxD */
3462306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(44, 1, 3)>; /* RxD */
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci#endif
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	i2c0_pins: i2c0 {
3962306a36Sopenharmony_ci		pins = "RIIC0_SDA", "RIIC0_SCL";
4062306a36Sopenharmony_ci		input-enable;
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	i2c1_pins: i2c1 {
4462306a36Sopenharmony_ci		pins = "RIIC1_SDA", "RIIC1_SCL";
4562306a36Sopenharmony_ci		input-enable;
4662306a36Sopenharmony_ci	};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	i2c2_pins: i2c2 {
4962306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(42, 3, 1)>, /* SDA */
5062306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(42, 4, 1)>; /* SCL */
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	mtu3_pins: mtu3 {
5462306a36Sopenharmony_ci		mtu3-pwm {
5562306a36Sopenharmony_ci			pinmux = <RZG2L_PORT_PINMUX(44, 0, 4)>, /* MTIOC3A */
5662306a36Sopenharmony_ci				 <RZG2L_PORT_PINMUX(44, 1, 4)>, /* MTIOC3B */
5762306a36Sopenharmony_ci				 <RZG2L_PORT_PINMUX(44, 2, 4)>, /* MTIOC3C */
5862306a36Sopenharmony_ci				 <RZG2L_PORT_PINMUX(44, 3, 4)>; /* MTIOC3D */
5962306a36Sopenharmony_ci		};
6062306a36Sopenharmony_ci	};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	scif0_pins: scif0 {
6362306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(38, 0, 1)>,	/* TxD */
6462306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(38, 1, 1)>;	/* RxD */
6562306a36Sopenharmony_ci	};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	scif1_pins: scif1 {
6862306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(40, 0, 1)>, /* TxD */
6962306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(40, 1, 1)>, /* RxD */
7062306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(41, 0, 1)>, /* CTS# */
7162306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(41, 1, 1)>; /* RTS# */
7262306a36Sopenharmony_ci	};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	sd1-pwr-en-hog {
7562306a36Sopenharmony_ci		gpio-hog;
7662306a36Sopenharmony_ci		gpios = <RZG2L_GPIO(39, 2) GPIO_ACTIVE_HIGH>;
7762306a36Sopenharmony_ci		output-high;
7862306a36Sopenharmony_ci		line-name = "sd1_pwr_en";
7962306a36Sopenharmony_ci	};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	sdhi1_pins: sd1 {
8262306a36Sopenharmony_ci		sd1_data {
8362306a36Sopenharmony_ci			pins = "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3";
8462306a36Sopenharmony_ci			power-source = <3300>;
8562306a36Sopenharmony_ci		};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci		sd1_ctrl {
8862306a36Sopenharmony_ci			pins = "SD1_CLK", "SD1_CMD";
8962306a36Sopenharmony_ci			power-source = <3300>;
9062306a36Sopenharmony_ci		};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci		sd1_mux {
9362306a36Sopenharmony_ci			pinmux = <RZG2L_PORT_PINMUX(19, 0, 1)>; /* SD1_CD */
9462306a36Sopenharmony_ci		};
9562306a36Sopenharmony_ci	};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci	sdhi1_pins_uhs: sd1_uhs {
9862306a36Sopenharmony_ci		sd1_data_uhs {
9962306a36Sopenharmony_ci			pins = "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3";
10062306a36Sopenharmony_ci			power-source = <1800>;
10162306a36Sopenharmony_ci		};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci		sd1_ctrl_uhs {
10462306a36Sopenharmony_ci			pins = "SD1_CLK", "SD1_CMD";
10562306a36Sopenharmony_ci			power-source = <1800>;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		sd1_mux_uhs {
10962306a36Sopenharmony_ci			pinmux = <RZG2L_PORT_PINMUX(19, 0, 1)>; /* SD1_CD */
11062306a36Sopenharmony_ci		};
11162306a36Sopenharmony_ci	};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	sound_clk_pins: sound_clk {
11462306a36Sopenharmony_ci		pins = "AUDIO_CLK1", "AUDIO_CLK2";
11562306a36Sopenharmony_ci		input-enable;
11662306a36Sopenharmony_ci	};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	spi1_pins: spi1 {
11962306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(44, 0, 1)>, /* CK */
12062306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(44, 1, 1)>, /* MOSI */
12162306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(44, 2, 1)>, /* MISO */
12262306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(44, 3, 1)>; /* SSL */
12362306a36Sopenharmony_ci	};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	ssi0_pins: ssi0 {
12662306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(45, 0, 1)>, /* BCK */
12762306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(45, 1, 1)>, /* RCK */
12862306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(45, 2, 1)>, /* TXD */
12962306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(45, 3, 1)>; /* RXD */
13062306a36Sopenharmony_ci	};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci	usb0_pins: usb0 {
13362306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(4, 0, 1)>, /* VBUS */
13462306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(5, 0, 1)>, /* OVC */
13562306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(5, 1, 1)>; /* OTG_ID */
13662306a36Sopenharmony_ci	};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci	usb1_pins: usb1 {
13962306a36Sopenharmony_ci		pinmux = <RZG2L_PORT_PINMUX(42, 0, 1)>, /* VBUS */
14062306a36Sopenharmony_ci			 <RZG2L_PORT_PINMUX(42, 1, 1)>; /* OVC */
14162306a36Sopenharmony_ci	};
14262306a36Sopenharmony_ci};
14362306a36Sopenharmony_ci
144