// SPDX-License-Identifier: GPL-2.0 /* * Copyright 2019 Andreas Kemnade * based on works * Copyright 2016 Freescale Semiconductor, Inc. * and * Copyright (C) 2014 Ricoh Electronic Devices Co., Ltd * * Netronix E60K02 board common. * This board is equipped with different SoCs and * found in ebook-readers like the Kobo Clara HD (with i.MX6SLL) and * the Tolino Shine 3 (with i.MX6SL) */ #include / { chosen { stdout-path = &uart1; }; gpio_keys: gpio-keys { compatible = "gpio-keys"; power { label = "Power"; gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; linux,code = ; wakeup-source; }; cover { label = "Cover"; gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; linux,code = ; linux,input-type = ; wakeup-source; }; }; leds: leds { compatible = "gpio-leds"; on { label = "e60k02:white:on"; gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; linux,default-trigger = "timer"; }; }; memory@80000000 { device_type = "memory"; reg = <0x80000000 0x20000000>; }; reg_wifi: regulator-wifi { compatible = "regulator-fixed"; regulator-name = "SD3_SPWR"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; enable-active-high; }; wifi_pwrseq: wifi_pwrseq { compatible = "mmc-pwrseq-simple"; post-power-on-delay-ms = <20>; reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; }; }; &i2c1 { clock-frequency = <100000>; status = "okay"; lm3630a: backlight@36 { reg = <0x36>; compatible = "ti,lm3630a"; enable-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; #address-cells = <1>; #size-cells = <0>; led@0 { reg = <0>; led-sources = <0>; label = "backlight_warm"; default-brightness = <0>; max-brightness = <255>; }; led@1 { reg = <1>; led-sources = <1>; label = "backlight_cold"; default-brightness = <0>; max-brightness = <255>; }; }; }; &i2c2 { clock-frequency = <100000>; status = "okay"; /* TODO: CYTTSP5 touch controller at 0x24 */ /* TODO: TPS65185 PMIC for E Ink at 0x68 */ }; &i2c3 { clock-frequency = <100000>; status = "okay"; ricoh619: pmic@32 { compatible = "ricoh,rc5t619"; reg = <0x32>; interrupt-parent = <&gpio5>; interrupts = <11 IRQ_TYPE_EDGE_FALLING>; system-power-controller; regulators { dcdc1_reg: DCDC1 { regulator-name = "DCDC1"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1875000>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-max-microvolt = <900000>; regulator-suspend-min-microvolt = <900000>; }; }; /* Core3_3V3 */ dcdc2_reg: DCDC2 { regulator-name = "DCDC2"; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-max-microvolt = <3300000>; regulator-suspend-min-microvolt = <3300000>; }; }; dcdc3_reg: DCDC3 { regulator-name = "DCDC3"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1875000>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-max-microvolt = <1140000>; regulator-suspend-min-microvolt = <1140000>; }; }; /* Core4_1V2 */ dcdc4_reg: DCDC4 { regulator-name = "DCDC4"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-max-microvolt = <1140000>; regulator-suspend-min-microvolt = <1140000>; }; }; /* Core4_1V8 */ dcdc5_reg: DCDC5 { regulator-name = "DCDC5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-max-microvolt = <1700000>; regulator-suspend-min-microvolt = <1700000>; }; }; /* IR_3V3 */ ldo1_reg: LDO1 { regulator-name = "LDO1"; regulator-boot-on; }; /* Core1_3V3 */ ldo2_reg: LDO2 { regulator-name = "LDO2"; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-max-microvolt = <3000000>; regulator-suspend-min-microvolt = <3000000>; }; }; /* Core5_1V2 */ ldo3_reg: LDO3 { regulator-name = "LDO3"; regulator-always-on; regulator-boot-on; }; ldo4_reg: LDO4 { regulator-name = "LDO4"; regulator-boot-on; }; /* SPD_3V3 */ ldo5_reg: LDO5 { regulator-name = "LDO5"; regulator-always-on; regulator-boot-on; }; /* DDR_0V6 */ ldo6_reg: LDO6 { regulator-name = "LDO6"; regulator-always-on; regulator-boot-on; }; /* VDD_PWM */ ldo7_reg: LDO7 { regulator-name = "LDO7"; regulator-always-on; regulator-boot-on; }; /* ldo_1v8 */ ldo8_reg: LDO8 { regulator-name = "LDO8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; ldo9_reg: LDO9 { regulator-name = "LDO9"; regulator-boot-on; }; ldo10_reg: LDO10 { regulator-name = "LDO10"; regulator-boot-on; }; ldortc1_reg: LDORTC1 { regulator-name = "LDORTC1"; regulator-boot-on; }; }; }; }; &snvs_rtc { /* we are using the rtc in the pmic, not disabled in imx6sll.dtsi */ status = "disabled"; }; &uart1 { /* J4, through-hole */ status = "okay"; }; &uart4 { /* TP198, next to J4, SMD pads */ status = "okay"; }; &usdhc2 { non-removable; status = "okay"; }; &usdhc3 { vmmc-supply = <®_wifi>; mmc-pwrseq = <&wifi_pwrseq>; cap-power-off-card; non-removable; status = "okay"; }; &usbotg1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbotg1>; disable-over-current; srp-disable; hnp-disable; adp-disable; status = "okay"; };