Skip to content

Commit 6694d31

Browse files
committed
Merge tag 'platform-drivers-x86-ib-lenovo-c630-v6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 into usb-next
Immutable branch between pdx86 lenovo c630 branch, power/supply and USB subsystems due for the v6.11 merge window. platform-drivers-x86-ib-lenovo-c630-v6.11-2: platform-drivers-x86-ib-lenovo-c630-v6.11 + platform-drivers-x86-lenovo-c630 for merging into the power/supply and USB subsystems for v6.11. * tag 'platform-drivers-x86-ib-lenovo-c630-v6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: platform/arm64: build drivers even on non-ARM64 platforms platform: arm64: add Lenovo Yoga C630 WOS EC driver dt-bindings: platform: Add Lenovo Yoga C630 EC
2 parents fe1b01a + 13bbe1c commit 6694d31

File tree

6 files changed

+434
-1
lines changed

6 files changed

+434
-1
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
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+
...

drivers/platform/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ obj-$(CONFIG_OLPC_EC) += olpc/
1111
obj-$(CONFIG_GOLDFISH) += goldfish/
1212
obj-$(CONFIG_CHROME_PLATFORMS) += chrome/
1313
obj-$(CONFIG_SURFACE_PLATFORMS) += surface/
14-
obj-$(CONFIG_ARM64) += arm64/
14+
obj-$(CONFIG_ARM64_PLATFORM_DEVICES) += arm64/

drivers/platform/arm64/Kconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
3549
endif # ARM64_PLATFORM_DEVICES

drivers/platform/arm64/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
#
77

88
obj-$(CONFIG_EC_ACER_ASPIRE1) += acer-aspire1-ec.o
9+
obj-$(CONFIG_EC_LENOVO_YOGA_C630) += lenovo-yoga-c630.o

0 commit comments

Comments
 (0)