| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * gs201 camera lwis device tree for felix |
| * |
| * Copyright 2021 Google LLC. |
| * |
| */ |
| |
| #include <dt-bindings/clock/gs201.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/pinctrl/samsung.h> |
| |
| &slg51002_ldo1 { |
| regulator-min-microvolt = <2900000>; |
| regulator-max-microvolt = <2900000>; |
| }; |
| |
| &slg51002_ldo2 { |
| regulator-min-microvolt = <2850000>; |
| regulator-max-microvolt = <2850000>; |
| }; |
| |
| &slg51002_ldo3 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| &slg51002_ldo4 { |
| regulator-min-microvolt = <2850000>; |
| regulator-max-microvolt = <2850000>; |
| }; |
| |
| &slg51002_ldo5 { |
| regulator-min-microvolt = <2950000>; |
| regulator-max-microvolt = <2950000>; |
| }; |
| |
| &slg51002_ldo6 { |
| regulator-min-microvolt = <1075000>; |
| regulator-max-microvolt = <1075000>; |
| }; |
| |
| &slg51002_ldo7 { |
| regulator-min-microvolt = <1080000>; |
| regulator-max-microvolt = <1080000>; |
| }; |
| |
| &slg51002_ldo8 { |
| regulator-min-microvolt = <1075000>; |
| regulator-max-microvolt = <1075000>; |
| }; |
| |
| &s_ldo12_reg { |
| regulator-min-microvolt = <1875000>; |
| regulator-max-microvolt = <1875000>; |
| }; |
| |
| &s_ldo24_reg { |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| &s_ldo25_reg { |
| regulator-min-microvolt = <1125000>; |
| regulator-max-microvolt = <1125000>; |
| }; |
| |
| &pinctrl_4 { |
| hsi2c1_bus: hsi2c1-bus { |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| }; |
| |
| hsi2c1_bus_in: hsi2c1-bus-in { |
| samsung,pins = "gpp2-0", "gpp2-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| |
| hsi2c2_bus: hsi2c2-bus { |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| }; |
| |
| hsi2c2_bus_in: hsi2c2-bus-in { |
| samsung,pins = "gpp4-0", "gpp4-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| |
| hsi2c3_bus: hsi2c3-bus { |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| }; |
| |
| hsi2c3_bus_in: hsi2c3-bus-in { |
| samsung,pins = "gpp6-0", "gpp6-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| |
| hsi2c4_bus: hsi2c4-bus { |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| }; |
| |
| hsi2c4_bus_in: hsi2c4-bus-in { |
| samsung,pins = "gpp8-0", "gpp8-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| |
| hsi2c14_bus: hsi2c14-bus { |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| }; |
| |
| hsi2c14_bus_in: hsi2c14-bus-in { |
| samsung,pins = "gpp18-0", "gpp18-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| |
| hsi2c8_bus: hsi2c8-bus { |
| samsung,pins = "gpp16-0", "gpp16-1"; |
| samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; |
| }; |
| |
| /* GPP8[2] Flashlight Enable */ |
| flash_en: flash-en { |
| samsung,pins = "gpp8-2"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; |
| samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; |
| }; |
| |
| sensor_mclk1_out: sensor-mclk1-out { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk1_fn: sensor-mclk1-fn { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk2_out: sensor-mclk2-out { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk2_fn: sensor-mclk2-fn { |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| sensor_mclk3_out: sensor-mclk3-out { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk3_fn: sensor-mclk3-fn { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk4_out: sensor-mclk4-out { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk4_fn: sensor-mclk4-fn { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk5_out: sensor-mclk5-out { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| sensor_mclk5_fn: sensor-mclk5-fn { |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| }; |
| |
| &hsi2c_1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| gpios = <&gpp2 0 GPIO_ACTIVE_HIGH &gpp2 1 GPIO_ACTIVE_HIGH>; |
| status = "okay"; |
| clock-frequency = <975000>; |
| samsung,reset-before-trans; |
| |
| pinctrl-names = "default","on_i2c","off_i2c"; |
| pinctrl-0 = <&hsi2c1_bus_in>; |
| pinctrl-1 = <&hsi2c1_bus>; |
| pinctrl-2 = <&hsi2c1_bus_in>; |
| }; |
| |
| &hsi2c_2 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| gpios = <&gpp4 0 GPIO_ACTIVE_HIGH &gpp4 1 GPIO_ACTIVE_HIGH>; |
| status = "okay"; |
| clock-frequency = <385000>; |
| samsung,reset-before-trans; |
| |
| pinctrl-names = "default","on_i2c","off_i2c"; |
| pinctrl-0 = <&hsi2c2_bus_in>; |
| pinctrl-1 = <&hsi2c2_bus>; |
| pinctrl-2 = <&hsi2c2_bus_in>; |
| }; |
| |
| &hsi2c_3 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| gpios = <&gpp6 0 GPIO_ACTIVE_HIGH &gpp6 1 GPIO_ACTIVE_HIGH>; |
| status = "okay"; |
| clock-frequency = <385000>; |
| samsung,reset-before-trans; |
| |
| pinctrl-names = "default","on_i2c","off_i2c"; |
| pinctrl-0 = <&hsi2c3_bus_in>; |
| pinctrl-1 = <&hsi2c3_bus>; |
| pinctrl-2 = <&hsi2c3_bus_in>; |
| }; |
| |
| &hsi2c_4 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| gpios = <&gpp8 0 GPIO_ACTIVE_HIGH &gpp8 1 GPIO_ACTIVE_HIGH>; |
| status = "okay"; |
| clock-frequency = <975000>; |
| samsung,reset-before-trans; |
| |
| pinctrl-names = "default","on_i2c","off_i2c"; |
| pinctrl-0 = <&hsi2c4_bus_in>; |
| pinctrl-1 = <&hsi2c4_bus>; |
| pinctrl-2 = <&hsi2c4_bus_in>; |
| }; |
| |
| &hsi2c_8 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| gpios = <&gpp16 0 GPIO_ACTIVE_HIGH &gpp16 1 GPIO_ACTIVE_HIGH>; |
| status = "okay"; |
| clock-frequency = <400000>; |
| |
| pinctrl-names = "default","on_i2c","off_i2c"; |
| pinctrl-0 = <&hsi2c8_bus &flash_en>; |
| pinctrl-1 = <&hsi2c8_bus>; |
| pinctrl-2 = <&hsi2c8_bus>; |
| }; |
| |
| &hsi2c_14 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| gpios = <&gpp18 0 GPIO_ACTIVE_HIGH &gpp18 1 GPIO_ACTIVE_HIGH>; |
| status = "okay"; |
| clock-frequency = <975000>; |
| |
| pinctrl-names = "default","on_i2c","off_i2c"; |
| pinctrl-0 = <&hsi2c14_bus_in>; |
| pinctrl-1 = <&hsi2c14_bus>; |
| pinctrl-2 = <&hsi2c14_bus_in>; |
| }; |
| |
| / { |
| fragment@lwiscamera { |
| target-path = "/"; |
| __overlay__ { |
| /* REAR CAMERA OKSOKO */ |
| sensor0: sensor@0 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "sensor-oksoko"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_1>; |
| i2c-addr = <0x1A>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* GPIOs */ |
| /* CSID_RST_L GPP2[2] */ |
| reset-gpios = <&gpp2 2 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo1-supply = <&slg51002_ldo1>; |
| ldo3-supply = <&slg51002_ldo3>; |
| ldo4-supply = <&slg51002_ldo4>; |
| ldo8-supply = <&slg51002_ldo8>; |
| |
| clocks = |
| <&clock CIS_CLK3>, |
| <&clock GATE_DFTMUX_CMU_CIS_CLK3>; |
| clock-names = |
| "CIS_CLK3", |
| "GATE_DFTMUX_CMU_CIS_CLK3"; |
| clock-rates = |
| <24000000>, |
| <0>; |
| |
| /* MCLK Control */ |
| pinctrl-names = "mclk_on", "mclk_off"; |
| pinctrl-0 = <&sensor_mclk4_fn>; |
| pinctrl-1 = <&sensor_mclk4_out>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo4", |
| "ldo1", |
| "ldo3", |
| "ldo8", |
| "reset", |
| "mclk_on"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "regulator", |
| "regulator", |
| "regulator", |
| "gpio", |
| "pinctrl"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "mclk_off", |
| "reset", |
| "ldo8", |
| "ldo3", |
| "ldo1", |
| "ldo4", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "pinctrl", |
| "gpio", |
| "regulator", |
| "regulator", |
| "regulator", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| transaction-thread-priority = <99>; |
| i2c-lock-group-id = <0>; |
| }; |
| |
| /* FRONT CAMERA MEDUSA */ |
| sensor1: sensor@1 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "sensor-medusa"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_2>; |
| i2c-addr = <0x1A>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* GPIOs */ |
| reset-gpios = <&gpp4 2 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| s2mpg13_ldo24-supply = <&s_ldo24_reg>; |
| gpio3-supply = <&slg51002_gpio3>; |
| |
| clocks = |
| <&clock CIS_CLK1>, |
| <&clock GATE_DFTMUX_CMU_CIS_CLK1>; |
| clock-names = |
| "CIS_CLK1", |
| "GATE_DFTMUX_CMU_CIS_CLK1"; |
| clock-rates = |
| <24000000>, |
| <0>; |
| |
| /* MCLK Control */ |
| pinctrl-names = "mclk_on", "mclk_off"; |
| pinctrl-0 = <&sensor_mclk2_fn>; |
| pinctrl-1 = <&sensor_mclk2_out>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio3", |
| "s2mpg13_ldo24", |
| "mclk_on", |
| "reset"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "pinctrl", |
| "gpio"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "reset", |
| "mclk_off", |
| "s2mpg13_ldo24", |
| "gpio3", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "gpio", |
| "pinctrl", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| transaction-thread-priority = <99>; |
| i2c-lock-group-id = <1>; |
| }; |
| |
| /* REAR ULTRA WIDE CAMERA SANDWORM */ |
| sensor2: sensor@2 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "sensor-sandworm"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_3>; |
| i2c-addr = <0x1A>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* GPIOs */ |
| reset-gpios = <&gpp6 3 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio1-supply = <&slg51002_gpio1>; |
| ldo6-supply = <&slg51002_ldo6>; |
| |
| clocks = |
| <&clock CIS_CLK0>, |
| <&clock GATE_DFTMUX_CMU_CIS_CLK0>; |
| clock-names = |
| "CIS_CLK0", |
| "GATE_DFTMUX_CMU_CIS_CLK0"; |
| clock-rates = |
| <24000000>, |
| <0>; |
| |
| /* MCLK Control */ |
| pinctrl-names = "mclk_on", "mclk_off"; |
| pinctrl-0 = <&sensor_mclk1_fn>; |
| pinctrl-1 = <&sensor_mclk1_out>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio1", |
| "ldo6", |
| "reset", |
| "mclk_on"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "gpio", |
| "pinctrl"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 10000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "mclk_off", |
| "reset", |
| "ldo6", |
| "gpio1", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "pinctrl", |
| "gpio", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| transaction-thread-priority = <99>; |
| i2c-lock-group-id = <2>; |
| }; |
| |
| /* REAR TELE CAMERA DOKKAEBI */ |
| sensor3: sensor@3 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "sensor-dokkaebi-tele"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_4>; |
| i2c-addr = <0x10>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <16>; |
| |
| /* GPIOs */ |
| reset-gpios = <&gpp6 2 GPIO_ACTIVE_HIGH>; |
| shared-afois-reset-gpios = |
| <&gpp13 0 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo2-supply = <&slg51002_ldo2>; |
| ldo5-supply = <&slg51002_ldo5>; |
| ldo7-supply = <&slg51002_ldo7>; |
| |
| clocks = |
| <&clock CIS_CLK2>, |
| <&clock GATE_DFTMUX_CMU_CIS_CLK2>; |
| clock-names = |
| "CIS_CLK2", |
| "GATE_DFTMUX_CMU_CIS_CLK2"; |
| clock-rates = |
| <24000000>, |
| <0>; |
| |
| /* MCLK Control */ |
| pinctrl-names = "mclk_on", "mclk_off"; |
| pinctrl-0 = <&sensor_mclk3_fn>; |
| pinctrl-1 = <&sensor_mclk3_out>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo2", |
| "shared-afois-reset", |
| "ldo5", |
| "ldo7", |
| "reset", |
| "mclk_on"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "gpio", |
| "regulator", |
| "regulator", |
| "gpio", |
| "pinctrl"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 2500 |
| 1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "mclk_off", |
| "reset", |
| "ldo7", |
| "ldo5", |
| "shared-afois-reset", |
| "ldo2", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "pinctrl", |
| "gpio", |
| "regulator", |
| "regulator", |
| "gpio", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 2500 |
| 1000 |
| 1000 |
| 1000>; |
| transaction-thread-priority = <99>; |
| i2c-lock-group-id = <3>; |
| }; |
| |
| /* FRONT CAMERA DOKKAEBI */ |
| sensor4: sensor@4 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "sensor-dokkaebi"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_14>; |
| i2c-addr = <0x10>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <16>; |
| |
| /* GPIOs */ |
| reset-gpios = <&gpp18 3 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| s2mpg13_ldo25-supply = <&s_ldo25_reg>; |
| gpio4-supply = <&slg51002_gpio4>; |
| |
| clocks = |
| <&clock CIS_CLK4>, |
| <&clock GATE_DFTMUX_CMU_CIS_CLK4>; |
| clock-names = |
| "CIS_CLK4", |
| "GATE_DFTMUX_CMU_CIS_CLK4"; |
| clock-rates = |
| <24000000>, |
| <0>; |
| |
| /* MCLK Control */ |
| pinctrl-names = "mclk_on", "mclk_off"; |
| pinctrl-0 = <&sensor_mclk5_fn>; |
| pinctrl-1 = <&sensor_mclk5_out>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio4", |
| "s2mpg13_ldo25", |
| "reset", |
| "mclk_on"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "gpio", |
| "pinctrl"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "mclk_off", |
| "reset", |
| "s2mpg13_ldo25", |
| "gpio4", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "pinctrl", |
| "gpio", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000 |
| 1000 |
| 1000>; |
| transaction-thread-priority = <99>; |
| i2c-lock-group-id = <4>; |
| }; |
| |
| /* Eeprom nessie for oksoko */ |
| eeprom0: eeprom@0 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "eeprom-nessie"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_1>; |
| i2c-addr = <0x24>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <32>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo4-supply = <&slg51002_ldo4>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo4"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "ldo4", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000>; |
| i2c-lock-group-id = <0>; |
| }; |
| |
| /* Eeprom smaug for medusa */ |
| eeprom1: eeprom@1 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "eeprom-smaug-medusa"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_2>; |
| i2c-addr = <0x50>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12"; |
| power-up-seq-types = |
| "regulator"; |
| power-up-seq-delays-us = |
| <1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000>; |
| i2c-lock-group-id = <1>; |
| }; |
| |
| /* Eeprom smaug for sandworm */ |
| eeprom2: eeprom@2 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "eeprom-smaug-sandworm"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_3>; |
| i2c-addr = <0x50>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12"; |
| power-up-seq-types = |
| "regulator"; |
| power-up-seq-delays-us = |
| <1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000>; |
| i2c-lock-group-id = <2>; |
| }; |
| |
| /* Eeprom jotnar for dokkaebi tele */ |
| eeprom3: eeprom@3 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "eeprom-jotnar"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_4>; |
| i2c-addr = <0x34>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* GPIOs */ |
| shared-afois-reset-gpios = |
| <&gpp13 0 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo2-supply = <&slg51002_ldo2>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo2", |
| "shared-afois-reset"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "gpio"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 2500 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "shared-afois-reset", |
| "ldo2", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "gpio", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <2500 |
| 1000 |
| 1000 |
| 1000>; |
| i2c-lock-group-id = <3>; |
| }; |
| |
| /* Eeprom smaug for dokkaebi */ |
| eeprom4: eeprom@4 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "eeprom-smaug-dokkaebi"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_14>; |
| i2c-addr = <0x50>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12"; |
| power-up-seq-types = |
| "regulator"; |
| power-up-seq-delays-us = |
| <1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000>; |
| i2c-lock-group-id = <4>; |
| }; |
| |
| /* Actuator nessie for oksoko */ |
| actuator0: actuator@0 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "act-nessie"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_1>; |
| i2c-addr = <0x24>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <32>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo4-supply = <&slg51002_ldo4>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo4"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "ldo4", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000>; |
| periodic-io-thread-priority = <99>; |
| i2c-lock-group-id = <0>; |
| }; |
| |
| /* Actuator jotnar for dokkaebi tele */ |
| actuator1: actuator@1 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "act-jotnar"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_4>; |
| i2c-addr = <0x34>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* GPIOs */ |
| shared-afois-reset-gpios = |
| <&gpp13 0 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo2-supply = <&slg51002_ldo2>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo2", |
| "shared-afois-reset"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "gpio"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 2500 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "shared-afois-reset", |
| "ldo2", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "gpio", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <2500 |
| 1000 |
| 1000 |
| 1000>; |
| periodic-io-thread-priority = <99>; |
| i2c-lock-group-id = <1>; |
| }; |
| |
| /* Ois nessie for oksoko */ |
| ois0: ois@0 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "ois-nessie"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_1>; |
| i2c-addr = <0x24>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <32>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo4-supply = <&slg51002_ldo4>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo4"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "ldo4", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <1000 |
| 1000 |
| 1000>; |
| periodic-io-thread-priority = <99>; |
| i2c-lock-group-id = <0>; |
| }; |
| |
| /* Ois jotnar for dokkaebi tele */ |
| ois1: ois@1 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "ois-jotnar"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_4>; |
| i2c-addr = <0x34>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <16>; |
| reg-value-bitwidth = <8>; |
| |
| /* GPIOs */ |
| shared-afois-reset-gpios = |
| <&gpp13 0 GPIO_ACTIVE_HIGH>; |
| |
| /* Power supplies */ |
| s2mpg13_ldo12-supply = <&s_ldo12_reg>; |
| gpio2-supply = <&slg51002_gpio2>; |
| ldo2-supply = <&slg51002_ldo2>; |
| |
| /* Power up sequence */ |
| power-up-seqs = |
| "s2mpg13_ldo12", |
| "gpio2", |
| "ldo2", |
| "shared-afois-reset"; |
| power-up-seq-types = |
| "regulator", |
| "regulator", |
| "regulator", |
| "gpio"; |
| power-up-seq-delays-us = |
| <1000 |
| 1000 |
| 2500 |
| 1000>; |
| |
| /* Power down sequence */ |
| power-down-seqs = |
| "shared-afois-reset", |
| "ldo2", |
| "gpio2", |
| "s2mpg13_ldo12"; |
| power-down-seq-types = |
| "gpio", |
| "regulator", |
| "regulator", |
| "regulator"; |
| power-down-seq-delays-us = |
| <2500 |
| 1000 |
| 1000 |
| 1000>; |
| periodic-io-thread-priority = <99>; |
| i2c-lock-group-id = <1>; |
| }; |
| |
| flash0: flash@0 { |
| compatible = "google,lwis-i2c-device"; |
| |
| /* Device node name */ |
| node-name = "flash-lm3644"; |
| |
| /* I2C */ |
| i2c-bus = <&hsi2c_8>; |
| i2c-addr = <0x63>; |
| |
| /* Registers */ |
| reg-addr-bitwidth = <8>; |
| reg-value-bitwidth = <8>; |
| |
| /* Power Management hibernation (deep sleep) */ |
| /* 1 : enable, 0 : disable */ |
| pm-hibernation = <0>; |
| |
| /* GPIOs */ |
| /* HW_ENABLE GPP8[2] */ |
| /* FLASH_STROBE GPP27[0] */ |
| enable-gpios = |
| <&gpp8 2 GPIO_ACTIVE_HIGH |
| &gpp27 0 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| }; |
| }; |