File tree Expand file tree Collapse file tree 6 files changed +434
-1
lines changed
Documentation/devicetree/bindings/platform
include/linux/platform_data Expand file tree Collapse file tree 6 files changed +434
-1
lines changed Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+ %YAML 1.2
3+ ---
4+ $id : http://devicetree.org/schemas/platform/lenovo,yoga-c630-ec.yaml#
5+ $schema : http://devicetree.org/meta-schemas/core.yaml#
6+
7+ title : Lenovo Yoga C630 Embedded Controller.
8+
9+ maintainers :
10+ -
Bjorn Andersson <[email protected] > 11+
12+ description :
13+ The Qualcomm Snapdragon-based Lenovo Yoga C630 has an Embedded Controller
14+ (EC) which handles things such as battery and USB Type-C. This binding
15+ describes the interface, on an I2C bus, to this EC.
16+
17+ properties :
18+ compatible :
19+ const : lenovo,yoga-c630-ec
20+
21+ reg :
22+ const : 0x70
23+
24+ ' #address-cells ' :
25+ const : 1
26+
27+ ' #size-cells ' :
28+ const : 0
29+
30+ interrupts :
31+ maxItems : 1
32+
33+ patternProperties :
34+ ' ^connector@[01]$ ' :
35+ $ref : /schemas/connector/usb-connector.yaml#
36+
37+ properties :
38+ reg :
39+ maxItems : 1
40+
41+ unevaluatedProperties : false
42+
43+ required :
44+ - compatible
45+ - reg
46+ - interrupts
47+
48+ additionalProperties : false
49+
50+ examples :
51+ - |+
52+ #include <dt-bindings/interrupt-controller/irq.h>
53+ i2c1 {
54+ clock-frequency = <400000>;
55+
56+ #address-cells = <1>;
57+ #size-cells = <0>;
58+
59+ embedded-controller@70 {
60+ compatible = "lenovo,yoga-c630-ec";
61+ reg = <0x70>;
62+
63+ interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>;
64+
65+ #address-cells = <1>;
66+ #size-cells = <0>;
67+
68+ connector@0 {
69+ compatible = "usb-c-connector";
70+ reg = <0>;
71+ power-role = "source";
72+ data-role = "host";
73+ };
74+
75+ connector@1 {
76+ compatible = "usb-c-connector";
77+ reg = <1>;
78+ power-role = "source";
79+ data-role = "host";
80+ };
81+ };
82+ };
83+ ...
Original file line number Diff line number Diff line change @@ -11,4 +11,4 @@ obj-$(CONFIG_OLPC_EC) += olpc/
1111obj-$(CONFIG_GOLDFISH) += goldfish/
1212obj-$(CONFIG_CHROME_PLATFORMS) += chrome/
1313obj-$(CONFIG_SURFACE_PLATFORMS) += surface/
14- obj-$(CONFIG_ARM64) += arm64/
14+ obj-$(CONFIG_ARM64_PLATFORM_DEVICES) += arm64/
Original file line number Diff line number Diff line change @@ -32,4 +32,18 @@ config EC_ACER_ASPIRE1
3232 laptop where this information is not properly exposed via the
3333 standard ACPI devices.
3434
35+ config EC_LENOVO_YOGA_C630
36+ tristate "Lenovo Yoga C630 Embedded Controller driver"
37+ depends on I2C
38+ help
39+ Driver for the Embedded Controller in the Qualcomm Snapdragon-based
40+ Lenovo Yoga C630, which provides battery and power adapter
41+ information.
42+
43+ This driver provides battery and AC status support for the mentioned
44+ laptop where this information is not properly exposed via the
45+ standard ACPI devices.
46+
47+ Say M or Y here to include this support.
48+
3549endif # ARM64_PLATFORM_DEVICES
Original file line number Diff line number Diff line change 66#
77
88obj-$(CONFIG_EC_ACER_ASPIRE1) += acer-aspire1-ec.o
9+ obj-$(CONFIG_EC_LENOVO_YOGA_C630) += lenovo-yoga-c630.o
You can’t perform that action at this time.
0 commit comments