summaryrefslogtreecommitdiff
path: root/include/linux/platform_data
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/cros_ec_commands.h72
-rw-r--r--include/linux/platform_data/dmtimer-omap.h2
-rw-r--r--include/linux/platform_data/microchip-ksz.h2
-rw-r--r--include/linux/platform_data/mipi-i3c-hci.h4
-rw-r--r--include/linux/platform_data/x86/asus-wmi.h9
-rw-r--r--include/linux/platform_data/x86/int3472.h2
6 files changed, 89 insertions, 2 deletions
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index 749d985e9da2..a7bd69d83522 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -1344,6 +1344,26 @@ enum ec_feature_code {
* The EC supports UCSI PPM.
*/
EC_FEATURE_UCSI_PPM = 54,
+ /*
+ * The EC supports Strauss keyboard.
+ */
+ EC_FEATURE_STRAUSS = 55,
+ /*
+ * The EC supports PoE.
+ */
+ EC_FEATURE_POE = 56,
+ /*
+ * The EC supports a hybrid boost charger
+ */
+ EC_FEATURE_CHARGER_HYBRID_POWER_BOOST = 57,
+ /*
+ * Support signaling new console logs via host event
+ */
+ EC_FEATURE_CONSOLE_LOG_EVENT = 58,
+ /*
+ * The EC supports power monitoring
+ */
+ EC_FEATURE_PWRMON = 59,
};
#define EC_FEATURE_MASK_0(event_code) BIT(event_code % 32)
@@ -3516,6 +3536,9 @@ enum ec_mkbp_event {
/* Peripheral device charger event */
EC_MKBP_EVENT_PCHG = 12,
+ /* Power monitor telemetry event */
+ EC_MKBP_EVENT_PWRMON = 13,
+
/* Number of MKBP events */
EC_MKBP_EVENT_COUNT,
};
@@ -3599,6 +3622,12 @@ union __ec_align_offset1 ec_response_get_next_data_v3 {
uint32_t cec_events;
uint8_t cec_message[16];
+
+ struct __ec_todo_packed {
+ int64_t value;
+ uint32_t samples;
+ uint8_t channel_id;
+ } pwrmon_data;
};
BUILD_ASSERT(sizeof(union ec_response_get_next_data_v3) == 18);
@@ -6589,6 +6618,49 @@ struct ec_params_usb_pd_mux_ack {
uint8_t port; /* USB-C port number */
} __ec_align1;
+/**
+ * Power monitoring. Used to read power consumptions on rails
+ */
+#define EC_CMD_PWRMON 0x0608
+
+enum ec_pwrmon_cmd {
+ EC_PWRMON_GET_CHANNEL_COUNT = 0,
+ EC_PWRMON_DUMP_INFO = 1,
+ EC_PWRMON_SET_RATE = 2,
+ EC_PWRMON_GET_RATE = 3,
+ EC_PWRMON_START = 4,
+ EC_PWRMON_STOP = 5,
+ EC_PWRMON_LATCH = 6,
+};
+
+struct ec_params_pwrmon {
+ uint8_t cmd;
+ union {
+ uint16_t set_rate;
+ uint8_t channel_id;
+ } __ec_align2;
+
+ /*
+ * The following commands have no args:
+ *
+ * start, stop, latch
+ *
+ */
+} __ec_align4;
+
+struct pwrmon_dump_info {
+ uint8_t channel_id;
+ char channel_name[32];
+} __ec_align4;
+
+struct ec_response_pwrmon {
+ union {
+ uint16_t sample_rate;
+ uint8_t channel_count;
+ struct pwrmon_dump_info dump_info;
+ } __ec_align4;
+} __ec_align4;
+
/*****************************************************************************/
/*
* Reserve a range of host commands for board-specific, experimental, or
diff --git a/include/linux/platform_data/dmtimer-omap.h b/include/linux/platform_data/dmtimer-omap.h
index 726d89143842..b78ee4676b98 100644
--- a/include/linux/platform_data/dmtimer-omap.h
+++ b/include/linux/platform_data/dmtimer-omap.h
@@ -57,6 +57,8 @@ struct dmtimer_platform_data {
u32 timer_errata;
int (*get_context_loss_count)(struct device *);
const struct omap_dm_timer_ops *timer_ops;
+ /* always-on timers can be used for clocksource/clockevent */
+ bool system_timer_capable;
};
#endif /* __PLATFORM_DATA_DMTIMER_OMAP_H__ */
diff --git a/include/linux/platform_data/microchip-ksz.h b/include/linux/platform_data/microchip-ksz.h
index 028781ad4059..411d5e164383 100644
--- a/include/linux/platform_data/microchip-ksz.h
+++ b/include/linux/platform_data/microchip-ksz.h
@@ -31,9 +31,11 @@ enum ksz_chip_id {
KSZ88X3_CHIP_ID = 0x8830,
KSZ8864_CHIP_ID = 0x8864,
KSZ8895_CHIP_ID = 0x8895,
+ KSZ8995XA_CHIP_ID = 0x8995,
KSZ9477_CHIP_ID = 0x00947700,
KSZ9896_CHIP_ID = 0x00989600,
KSZ9897_CHIP_ID = 0x00989700,
+ KSZ9897S_CHIP_ID = 0x00989701,
KSZ9893_CHIP_ID = 0x00989300,
KSZ9563_CHIP_ID = 0x00956300,
KSZ8567_CHIP_ID = 0x00856700,
diff --git a/include/linux/platform_data/mipi-i3c-hci.h b/include/linux/platform_data/mipi-i3c-hci.h
index ab7395f455f9..6f61d8a02378 100644
--- a/include/linux/platform_data/mipi-i3c-hci.h
+++ b/include/linux/platform_data/mipi-i3c-hci.h
@@ -3,13 +3,17 @@
#define INCLUDE_PLATFORM_DATA_MIPI_I3C_HCI_H
#include <linux/compiler_types.h>
+#include <linux/types.h>
/**
* struct mipi_i3c_hci_platform_data - Platform-dependent data for mipi_i3c_hci
* @base_regs: Register set base address (to support multi-bus instances)
+ * @instance: Zero-based instance number of the Bus Controller as defined by the
+ * DisCo specification I3C Target Address (_ADR) Encoding
*/
struct mipi_i3c_hci_platform_data {
void __iomem *base_regs;
+ u8 instance;
};
#endif
diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
index b5ed8c83ace1..66c7ab35d6c8 100644
--- a/include/linux/platform_data/x86/asus-wmi.h
+++ b/include/linux/platform_data/x86/asus-wmi.h
@@ -54,6 +54,7 @@
#define ASUS_WMI_DEVID_LED5 0x00020015
#define ASUS_WMI_DEVID_LED6 0x00020016
#define ASUS_WMI_DEVID_MICMUTE_LED 0x00040017
+#define ASUS_WMI_DEVID_MUTE_LED 0x0004001C
/* Disable Camera LED */
#define ASUS_WMI_DEVID_CAMERA_LED_NEG 0x00060078 /* 0 = on (unused) */
@@ -138,10 +139,14 @@
/* dgpu on/off */
#define ASUS_WMI_DEVID_DGPU 0x00090020
+/* dgpu on/off - alternative to ASUS_WMI_DEVID_DGPU */
+#define ASUS_WMI_DEVID_GPU_MODE 0x00090120
+
#define ASUS_WMI_DEVID_APU_MEM 0x000600C1
-#define ASUS_WMI_DEVID_DGPU_BASE_TGP 0x00120099
+#define ASUS_WMI_DEVID_DGPU_POWER_STATE 0x00120097
#define ASUS_WMI_DEVID_DGPU_SET_TGP 0x00120098
+#define ASUS_WMI_DEVID_DGPU_BASE_TGP 0x00120099
/* gpu mux switch, 0 = dGPU, 1 = Optimus */
#define ASUS_WMI_DEVID_GPU_MUX 0x00090016
@@ -159,7 +164,7 @@
#define ASUS_WMI_DEVID_TUF_RGB_MODE2 0x0010005A
/* TUF laptop RGB power/state */
-#define ASUS_WMI_DEVID_TUF_RGB_STATE 0x00100057
+#define ASUS_WMI_DEVID_TUF_RGB_CMD 0x00100057
/* Bootup sound control */
#define ASUS_WMI_DEVID_BOOT_SOUND 0x00130022
diff --git a/include/linux/platform_data/x86/int3472.h b/include/linux/platform_data/x86/int3472.h
index a73841dfae27..b1040e36deb8 100644
--- a/include/linux/platform_data/x86/int3472.h
+++ b/include/linux/platform_data/x86/int3472.h
@@ -25,6 +25,8 @@
#define INT3472_GPIO_TYPE_RESET 0x00
#define INT3472_GPIO_TYPE_POWERDOWN 0x01
#define INT3472_GPIO_TYPE_STROBE 0x02
+#define INT3472_GPIO_TYPE_POWER0 0x07
+#define INT3472_GPIO_TYPE_POWER1 0x08
#define INT3472_GPIO_TYPE_POWER_ENABLE 0x0b
#define INT3472_GPIO_TYPE_CLK_ENABLE 0x0c
#define INT3472_GPIO_TYPE_PRIVACY_LED 0x0d