xref: /freebsd/sys/contrib/device-tree/src/arm64/exynos/google/gs101-oriole.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
18d13bc63SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
28d13bc63SEmmanuel Vadot/*
38d13bc63SEmmanuel Vadot * Oriole Device Tree
48d13bc63SEmmanuel Vadot *
58d13bc63SEmmanuel Vadot * Copyright 2021-2023 Google LLC
68d13bc63SEmmanuel Vadot * Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org>
78d13bc63SEmmanuel Vadot */
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadot/dts-v1/;
108d13bc63SEmmanuel Vadot
118d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
128d13bc63SEmmanuel Vadot#include <dt-bindings/input/input.h>
138d13bc63SEmmanuel Vadot#include "gs101-pinctrl.h"
148d13bc63SEmmanuel Vadot#include "gs101.dtsi"
158d13bc63SEmmanuel Vadot
168d13bc63SEmmanuel Vadot/ {
178d13bc63SEmmanuel Vadot	model = "Oriole";
188d13bc63SEmmanuel Vadot	compatible = "google,gs101-oriole", "google,gs101";
198d13bc63SEmmanuel Vadot
208d13bc63SEmmanuel Vadot	aliases {
218d13bc63SEmmanuel Vadot		serial0 = &serial_0;
228d13bc63SEmmanuel Vadot	};
238d13bc63SEmmanuel Vadot
248d13bc63SEmmanuel Vadot	chosen {
258d13bc63SEmmanuel Vadot		/* Bootloader expects bootargs specified otherwise it crashes */
268d13bc63SEmmanuel Vadot		bootargs = "";
278d13bc63SEmmanuel Vadot		stdout-path = &serial_0;
288d13bc63SEmmanuel Vadot	};
298d13bc63SEmmanuel Vadot
308d13bc63SEmmanuel Vadot	gpio-keys {
318d13bc63SEmmanuel Vadot		compatible = "gpio-keys";
328d13bc63SEmmanuel Vadot		pinctrl-0 = <&key_voldown>, <&key_volup>, <&key_power>;
337d0873ebSEmmanuel Vadot		pinctrl-names = "default";
348d13bc63SEmmanuel Vadot
358d13bc63SEmmanuel Vadot		button-vol-down {
368d13bc63SEmmanuel Vadot			label = "KEY_VOLUMEDOWN";
378d13bc63SEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
388d13bc63SEmmanuel Vadot			gpios = <&gpa7 3 GPIO_ACTIVE_LOW>;
398d13bc63SEmmanuel Vadot			wakeup-source;
408d13bc63SEmmanuel Vadot		};
418d13bc63SEmmanuel Vadot
428d13bc63SEmmanuel Vadot		button-vol-up {
438d13bc63SEmmanuel Vadot			label = "KEY_VOLUMEUP";
448d13bc63SEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
458d13bc63SEmmanuel Vadot			gpios = <&gpa8 1 GPIO_ACTIVE_LOW>;
468d13bc63SEmmanuel Vadot			wakeup-source;
478d13bc63SEmmanuel Vadot		};
488d13bc63SEmmanuel Vadot
498d13bc63SEmmanuel Vadot		button-power {
508d13bc63SEmmanuel Vadot			label = "KEY_POWER";
518d13bc63SEmmanuel Vadot			linux,code = <KEY_POWER>;
528d13bc63SEmmanuel Vadot			gpios = <&gpa10 1 GPIO_ACTIVE_LOW>;
538d13bc63SEmmanuel Vadot			wakeup-source;
548d13bc63SEmmanuel Vadot		};
558d13bc63SEmmanuel Vadot	};
567d0873ebSEmmanuel Vadot
577d0873ebSEmmanuel Vadot	/* TODO: Remove this once PMIC is implemented  */
587d0873ebSEmmanuel Vadot	reg_placeholder: regulator-0 {
597d0873ebSEmmanuel Vadot		compatible = "regulator-fixed";
607d0873ebSEmmanuel Vadot		regulator-name = "placeholder_reg";
617d0873ebSEmmanuel Vadot	};
627d0873ebSEmmanuel Vadot
637d0873ebSEmmanuel Vadot	/* TODO: Remove this once S2MPG11 slave PMIC is implemented  */
647d0873ebSEmmanuel Vadot	ufs_0_fixed_vcc_reg: regulator-1 {
657d0873ebSEmmanuel Vadot		compatible = "regulator-fixed";
667d0873ebSEmmanuel Vadot		regulator-name = "ufs-vcc";
677d0873ebSEmmanuel Vadot		gpio = <&gpp0 1 GPIO_ACTIVE_HIGH>;
687d0873ebSEmmanuel Vadot		regulator-boot-on;
697d0873ebSEmmanuel Vadot		enable-active-high;
707d0873ebSEmmanuel Vadot	};
718d13bc63SEmmanuel Vadot};
728d13bc63SEmmanuel Vadot
738d13bc63SEmmanuel Vadot&ext_24_5m {
748d13bc63SEmmanuel Vadot	clock-frequency = <24576000>;
758d13bc63SEmmanuel Vadot};
768d13bc63SEmmanuel Vadot
778d13bc63SEmmanuel Vadot&ext_200m {
788d13bc63SEmmanuel Vadot	clock-frequency = <200000000>;
798d13bc63SEmmanuel Vadot};
808d13bc63SEmmanuel Vadot
8101950c46SEmmanuel Vadot&hsi2c_8 {
8201950c46SEmmanuel Vadot	status = "okay";
8301950c46SEmmanuel Vadot
8401950c46SEmmanuel Vadot	eeprom: eeprom@50 {
8501950c46SEmmanuel Vadot		compatible = "atmel,24c08";
8601950c46SEmmanuel Vadot		reg = <0x50>;
8701950c46SEmmanuel Vadot	};
8801950c46SEmmanuel Vadot};
8901950c46SEmmanuel Vadot
9001950c46SEmmanuel Vadot&hsi2c_12 {
9101950c46SEmmanuel Vadot	status = "okay";
9201950c46SEmmanuel Vadot	/* TODO: add the devices once drivers exist */
9301950c46SEmmanuel Vadot};
9401950c46SEmmanuel Vadot
958d13bc63SEmmanuel Vadot&pinctrl_far_alive {
968d13bc63SEmmanuel Vadot	key_voldown: key-voldown-pins {
978d13bc63SEmmanuel Vadot		samsung,pins = "gpa7-3";
988d13bc63SEmmanuel Vadot		samsung,pin-function = <GS101_PIN_FUNC_EINT>;
998d13bc63SEmmanuel Vadot		samsung,pin-pud = <GS101_PIN_PULL_NONE>;
1008d13bc63SEmmanuel Vadot		samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
1018d13bc63SEmmanuel Vadot	};
1028d13bc63SEmmanuel Vadot
1038d13bc63SEmmanuel Vadot	key_volup: key-volup-pins {
1048d13bc63SEmmanuel Vadot		samsung,pins = "gpa8-1";
1058d13bc63SEmmanuel Vadot		samsung,pin-function = <GS101_PIN_FUNC_EINT>;
1068d13bc63SEmmanuel Vadot		samsung,pin-pud = <GS101_PIN_PULL_NONE>;
1078d13bc63SEmmanuel Vadot		samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
1088d13bc63SEmmanuel Vadot	};
1098d13bc63SEmmanuel Vadot};
1108d13bc63SEmmanuel Vadot
1118d13bc63SEmmanuel Vadot&pinctrl_gpio_alive {
1128d13bc63SEmmanuel Vadot	key_power: key-power-pins {
1138d13bc63SEmmanuel Vadot		samsung,pins = "gpa10-1";
1148d13bc63SEmmanuel Vadot		samsung,pin-function = <GS101_PIN_FUNC_EINT>;
1158d13bc63SEmmanuel Vadot		samsung,pin-pud = <GS101_PIN_PULL_NONE>;
1168d13bc63SEmmanuel Vadot		samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
1178d13bc63SEmmanuel Vadot	};
1188d13bc63SEmmanuel Vadot};
1198d13bc63SEmmanuel Vadot
1208d13bc63SEmmanuel Vadot&serial_0 {
1217d0873ebSEmmanuel Vadot	status = "okay";
1227d0873ebSEmmanuel Vadot};
1237d0873ebSEmmanuel Vadot
1247d0873ebSEmmanuel Vadot&ufs_0 {
1257d0873ebSEmmanuel Vadot	status = "okay";
1267d0873ebSEmmanuel Vadot	vcc-supply = <&ufs_0_fixed_vcc_reg>;
1277d0873ebSEmmanuel Vadot};
1287d0873ebSEmmanuel Vadot
1297d0873ebSEmmanuel Vadot&ufs_0_phy {
1307d0873ebSEmmanuel Vadot	status = "okay";
1317d0873ebSEmmanuel Vadot};
1327d0873ebSEmmanuel Vadot
1337d0873ebSEmmanuel Vadot&usbdrd31 {
1347d0873ebSEmmanuel Vadot	vdd10-supply = <&reg_placeholder>;
1357d0873ebSEmmanuel Vadot	vdd33-supply = <&reg_placeholder>;
136*0e8011faSEmmanuel Vadot	status = "okay";
1377d0873ebSEmmanuel Vadot};
1387d0873ebSEmmanuel Vadot
1397d0873ebSEmmanuel Vadot&usbdrd31_dwc3 {
1407d0873ebSEmmanuel Vadot	dr_mode = "otg";
1417d0873ebSEmmanuel Vadot	usb-role-switch;
1427d0873ebSEmmanuel Vadot	role-switch-default-mode = "peripheral";
1437d0873ebSEmmanuel Vadot	maximum-speed = "super-speed-plus";
1447d0873ebSEmmanuel Vadot	status = "okay";
1457d0873ebSEmmanuel Vadot};
1467d0873ebSEmmanuel Vadot
1477d0873ebSEmmanuel Vadot&usbdrd31_phy {
148*0e8011faSEmmanuel Vadot	/* TODO: Update these once PMIC is implemented */
149*0e8011faSEmmanuel Vadot	pll-supply = <&reg_placeholder>;
150*0e8011faSEmmanuel Vadot	dvdd-usb20-supply = <&reg_placeholder>;
151*0e8011faSEmmanuel Vadot	vddh-usb20-supply = <&reg_placeholder>;
152*0e8011faSEmmanuel Vadot	vdd33-usb20-supply = <&reg_placeholder>;
153*0e8011faSEmmanuel Vadot	vdda-usbdp-supply = <&reg_placeholder>;
154*0e8011faSEmmanuel Vadot	vddh-usbdp-supply = <&reg_placeholder>;
1558d13bc63SEmmanuel Vadot	status = "okay";
1568d13bc63SEmmanuel Vadot};
1578d13bc63SEmmanuel Vadot
1588d13bc63SEmmanuel Vadot&usi_uart {
1598d13bc63SEmmanuel Vadot	samsung,clkreq-on; /* needed for UART mode */
1608d13bc63SEmmanuel Vadot	status = "okay";
1618d13bc63SEmmanuel Vadot};
1628d13bc63SEmmanuel Vadot
16301950c46SEmmanuel Vadot&usi8 {
16401950c46SEmmanuel Vadot	samsung,mode = <USI_V2_I2C>;
16501950c46SEmmanuel Vadot	status = "okay";
16601950c46SEmmanuel Vadot};
16701950c46SEmmanuel Vadot
16801950c46SEmmanuel Vadot&usi12 {
16901950c46SEmmanuel Vadot	samsung,mode = <USI_V2_I2C>;
17001950c46SEmmanuel Vadot	status = "okay";
17101950c46SEmmanuel Vadot};
17201950c46SEmmanuel Vadot
1738d13bc63SEmmanuel Vadot&watchdog_cl0 {
1748d13bc63SEmmanuel Vadot	timeout-sec = <30>;
1758d13bc63SEmmanuel Vadot	status = "okay";
1768d13bc63SEmmanuel Vadot};
177