| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Oriole Device Tree |
| * |
| * Copyright 2021-2023 Google LLC |
| * Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org> |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/input/input.h> |
| #include "gs101-pinctrl.h" |
| #include "gs101.dtsi" |
| |
| / { |
| model = "Oriole"; |
| compatible = "google,gs101-oriole", "google,gs101"; |
| |
| aliases { |
| serial0 = &serial_0; |
| }; |
| |
| chosen { |
| /* Bootloader expects bootargs specified otherwise it crashes */ |
| bootargs = ""; |
| stdout-path = &serial_0; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| pinctrl-0 = <&key_voldown>, <&key_volup>, <&key_power>; |
| pinctrl-names = "default"; |
| |
| button-vol-down { |
| label = "KEY_VOLUMEDOWN"; |
| linux,code = <KEY_VOLUMEDOWN>; |
| gpios = <&gpa7 3 GPIO_ACTIVE_LOW>; |
| wakeup-source; |
| }; |
| |
| button-vol-up { |
| label = "KEY_VOLUMEUP"; |
| linux,code = <KEY_VOLUMEUP>; |
| gpios = <&gpa8 1 GPIO_ACTIVE_LOW>; |
| wakeup-source; |
| }; |
| |
| button-power { |
| label = "KEY_POWER"; |
| linux,code = <KEY_POWER>; |
| gpios = <&gpa10 1 GPIO_ACTIVE_LOW>; |
| wakeup-source; |
| }; |
| }; |
| |
| /* TODO: Remove this once PMIC is implemented */ |
| reg_placeholder: regulator-0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "placeholder_reg"; |
| }; |
| |
| /* TODO: Remove this once S2MPG11 slave PMIC is implemented */ |
| ufs_0_fixed_vcc_reg: regulator-1 { |
| compatible = "regulator-fixed"; |
| regulator-name = "ufs-vcc"; |
| gpio = <&gpp0 1 GPIO_ACTIVE_HIGH>; |
| regulator-boot-on; |
| enable-active-high; |
| }; |
| }; |
| |
| &ext_24_5m { |
| clock-frequency = <24576000>; |
| }; |
| |
| &ext_200m { |
| clock-frequency = <200000000>; |
| }; |
| |
| &hsi2c_8 { |
| status = "okay"; |
| |
| eeprom: eeprom@50 { |
| compatible = "atmel,24c08"; |
| reg = <0x50>; |
| }; |
| }; |
| |
| &hsi2c_12 { |
| status = "okay"; |
| /* TODO: add the devices once drivers exist */ |
| }; |
| |
| &pinctrl_far_alive { |
| key_voldown: key-voldown-pins { |
| samsung,pins = "gpa7-3"; |
| samsung,pin-function = <GS101_PIN_FUNC_EINT>; |
| samsung,pin-pud = <GS101_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| |
| key_volup: key-volup-pins { |
| samsung,pins = "gpa8-1"; |
| samsung,pin-function = <GS101_PIN_FUNC_EINT>; |
| samsung,pin-pud = <GS101_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| }; |
| |
| &pinctrl_gpio_alive { |
| key_power: key-power-pins { |
| samsung,pins = "gpa10-1"; |
| samsung,pin-function = <GS101_PIN_FUNC_EINT>; |
| samsung,pin-pud = <GS101_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| }; |
| |
| &serial_0 { |
| status = "okay"; |
| }; |
| |
| &ufs_0 { |
| status = "okay"; |
| vcc-supply = <&ufs_0_fixed_vcc_reg>; |
| }; |
| |
| &ufs_0_phy { |
| status = "okay"; |
| }; |
| |
| &usbdrd31 { |
| vdd10-supply = <®_placeholder>; |
| vdd33-supply = <®_placeholder>; |
| status = "okay"; |
| }; |
| |
| &usbdrd31_dwc3 { |
| dr_mode = "otg"; |
| usb-role-switch; |
| role-switch-default-mode = "peripheral"; |
| maximum-speed = "super-speed-plus"; |
| status = "okay"; |
| }; |
| |
| &usbdrd31_phy { |
| /* TODO: Update these once PMIC is implemented */ |
| pll-supply = <®_placeholder>; |
| dvdd-usb20-supply = <®_placeholder>; |
| vddh-usb20-supply = <®_placeholder>; |
| vdd33-usb20-supply = <®_placeholder>; |
| vdda-usbdp-supply = <®_placeholder>; |
| vddh-usbdp-supply = <®_placeholder>; |
| status = "okay"; |
| }; |
| |
| &usi_uart { |
| samsung,clkreq-on; /* needed for UART mode */ |
| status = "okay"; |
| }; |
| |
| &usi8 { |
| samsung,mode = <USI_V2_I2C>; |
| status = "okay"; |
| }; |
| |
| &usi12 { |
| samsung,mode = <USI_V2_I2C>; |
| status = "okay"; |
| }; |
| |
| &watchdog_cl0 { |
| timeout-sec = <30>; |
| status = "okay"; |
| }; |