From: muhammad.husaini.zulkifli@intel.com To: adrian.hunter@intel.com, michal.simek@xilinx.com, sudeep.holla@arm.com, ulf.hansson@linaro.org, linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: lakshmi.bai.raja.subramanian@intel.com, wan.ahmad.zainie.wan.mohamad@intel.com, muhammad.husaini.zulkifli@intel.com, arnd@arndb.de Subject: [PATCH v3 2/2] firmware: Keem Bay: Add support for Arm Trusted Firmware Service call Date: Tue, 6 Oct 2020 23:55:49 +0800 [thread overview] Message-ID: <20201006155549.3595-3-muhammad.husaini.zulkifli@intel.com> (raw) In-Reply-To: <20201006155549.3595-1-muhammad.husaini.zulkifli@intel.com> From: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com> Add header file to handle API function for device driver to communicate with Arm Trusted Firmware. Signed-off-by: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com> --- .../linux/firmware/intel/keembay_firmware.h | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 include/linux/firmware/intel/keembay_firmware.h diff --git a/include/linux/firmware/intel/keembay_firmware.h b/include/linux/firmware/intel/keembay_firmware.h new file mode 100644 index 000000000000..9adb8c87b788 --- /dev/null +++ b/include/linux/firmware/intel/keembay_firmware.h @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Intel Keembay SOC Firmware API Layer + * + * Copyright (C) 2020-2021, Intel Corporation + * + * Muhammad Husaini Zulkifli <Muhammad.Husaini.Zulkifli@intel.com> + */ + +#ifndef __FIRMWARE_KEEMBAY_SMC_H__ +#define __FIRMWARE_KEEMBAY_SMC_H__ + +#include <linux/arm-smccc.h> + +/** + * This file defines API function that can be called by device driver in order to + * communicate with Arm Trusted Firmware. + */ + +/* Setting for Keem Bay IO Pad Line Voltage Selection */ +#define KEEMBAY_SET_SD_VOLTAGE_FUNC_ID 0x8200ff26 +#define KEEMBAY_SET_1V8_VOLT 0x01 +#define KEEMBAY_SET_3V3_VOLT 0x00 + +#if IS_ENABLED(CONFIG_HAVE_ARM_SMCCC_DISCOVERY) +static int do_fw_invoke(u64 func_id, u64 arg0, u64 arg1) +{ + struct arm_smccc_res res; + + arm_smccc_1_1_invoke(func_id, arg0, arg1, &res); + + return res.a0; +} + +int keembay_sd_voltage_selection(int volt) +{ + return do_fw_invoke(KEEMBAY_SET_SD_VOLTAGE_FUNC_ID, volt, 0); +} +#else +static inline int keembay_sd_voltage_selection(int volt) +{ + return -ENODEV; +} +#endif + +#endif /* __FIRMWARE_KEEMBAY_SMC_H__ */ -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: muhammad.husaini.zulkifli@intel.com To: adrian.hunter@intel.com, michal.simek@xilinx.com, sudeep.holla@arm.com, ulf.hansson@linaro.org, linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: lakshmi.bai.raja.subramanian@intel.com, muhammad.husaini.zulkifli@intel.com, arnd@arndb.de, wan.ahmad.zainie.wan.mohamad@intel.com Subject: [PATCH v3 2/2] firmware: Keem Bay: Add support for Arm Trusted Firmware Service call Date: Tue, 6 Oct 2020 23:55:49 +0800 [thread overview] Message-ID: <20201006155549.3595-3-muhammad.husaini.zulkifli@intel.com> (raw) In-Reply-To: <20201006155549.3595-1-muhammad.husaini.zulkifli@intel.com> From: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com> Add header file to handle API function for device driver to communicate with Arm Trusted Firmware. Signed-off-by: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com> --- .../linux/firmware/intel/keembay_firmware.h | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 include/linux/firmware/intel/keembay_firmware.h diff --git a/include/linux/firmware/intel/keembay_firmware.h b/include/linux/firmware/intel/keembay_firmware.h new file mode 100644 index 000000000000..9adb8c87b788 --- /dev/null +++ b/include/linux/firmware/intel/keembay_firmware.h @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Intel Keembay SOC Firmware API Layer + * + * Copyright (C) 2020-2021, Intel Corporation + * + * Muhammad Husaini Zulkifli <Muhammad.Husaini.Zulkifli@intel.com> + */ + +#ifndef __FIRMWARE_KEEMBAY_SMC_H__ +#define __FIRMWARE_KEEMBAY_SMC_H__ + +#include <linux/arm-smccc.h> + +/** + * This file defines API function that can be called by device driver in order to + * communicate with Arm Trusted Firmware. + */ + +/* Setting for Keem Bay IO Pad Line Voltage Selection */ +#define KEEMBAY_SET_SD_VOLTAGE_FUNC_ID 0x8200ff26 +#define KEEMBAY_SET_1V8_VOLT 0x01 +#define KEEMBAY_SET_3V3_VOLT 0x00 + +#if IS_ENABLED(CONFIG_HAVE_ARM_SMCCC_DISCOVERY) +static int do_fw_invoke(u64 func_id, u64 arg0, u64 arg1) +{ + struct arm_smccc_res res; + + arm_smccc_1_1_invoke(func_id, arg0, arg1, &res); + + return res.a0; +} + +int keembay_sd_voltage_selection(int volt) +{ + return do_fw_invoke(KEEMBAY_SET_SD_VOLTAGE_FUNC_ID, volt, 0); +} +#else +static inline int keembay_sd_voltage_selection(int volt) +{ + return -ENODEV; +} +#endif + +#endif /* __FIRMWARE_KEEMBAY_SMC_H__ */ -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-10-06 15:59 UTC|newest] Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-06 15:55 [PATCH v3 0/2] mmc: sdhci-of-arasan: Enable UHS-1 support for Keem Bay SOC muhammad.husaini.zulkifli 2020-10-06 15:55 ` muhammad.husaini.zulkifli 2020-10-06 15:55 ` [PATCH v3 1/2] " muhammad.husaini.zulkifli 2020-10-06 15:55 ` muhammad.husaini.zulkifli 2020-10-07 8:33 ` Michal Simek 2020-10-07 8:33 ` Michal Simek 2020-10-07 8:55 ` Andy Shevchenko 2020-10-07 8:55 ` Andy Shevchenko 2020-10-07 9:10 ` Michal Simek 2020-10-07 9:10 ` Michal Simek 2020-10-07 12:08 ` Andy Shevchenko 2020-10-07 12:08 ` Andy Shevchenko 2020-10-07 13:28 ` Zulkifli, Muhammad Husaini 2020-10-07 13:28 ` Zulkifli, Muhammad Husaini 2020-10-07 14:54 ` Andy Shevchenko 2020-10-07 14:54 ` Andy Shevchenko 2020-10-07 16:08 ` Zulkifli, Muhammad Husaini 2020-10-07 16:08 ` Zulkifli, Muhammad Husaini 2020-10-07 13:25 ` Zulkifli, Muhammad Husaini 2020-10-07 13:25 ` Zulkifli, Muhammad Husaini 2020-10-06 15:55 ` muhammad.husaini.zulkifli [this message] 2020-10-06 15:55 ` [PATCH v3 2/2] firmware: Keem Bay: Add support for Arm Trusted Firmware Service call muhammad.husaini.zulkifli 2020-10-06 20:37 ` kernel test robot 2020-10-06 20:37 ` kernel test robot 2020-10-06 20:37 ` kernel test robot 2020-10-07 3:41 ` Zulkifli, Muhammad Husaini 2020-10-07 3:41 ` Zulkifli, Muhammad Husaini 2020-10-07 8:20 ` Michal Simek 2020-10-07 8:20 ` Michal Simek 2020-10-07 10:10 ` Sudeep Holla 2020-10-07 10:10 ` Sudeep Holla 2020-10-07 13:29 ` Zulkifli, Muhammad Husaini 2020-10-07 13:29 ` Zulkifli, Muhammad Husaini 2020-10-07 13:21 ` Zulkifli, Muhammad Husaini 2020-10-07 13:21 ` Zulkifli, Muhammad Husaini 2020-10-07 13:37 ` Michal Simek 2020-10-07 13:37 ` Michal Simek 2020-10-07 13:52 ` Zulkifli, Muhammad Husaini 2020-10-07 13:52 ` Zulkifli, Muhammad Husaini 2020-10-07 13:58 ` Michal Simek 2020-10-07 13:58 ` Michal Simek
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201006155549.3595-3-muhammad.husaini.zulkifli@intel.com \ --to=muhammad.husaini.zulkifli@intel.com \ --cc=adrian.hunter@intel.com \ --cc=arnd@arndb.de \ --cc=lakshmi.bai.raja.subramanian@intel.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mmc@vger.kernel.org \ --cc=michal.simek@xilinx.com \ --cc=sudeep.holla@arm.com \ --cc=ulf.hansson@linaro.org \ --cc=wan.ahmad.zainie.wan.mohamad@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.