[PATCH v3 2/2] firmware: Keem Bay: Add support for Arm Trusted Firmware Service call

Sudeep Holla sudeep.holla at arm.com
Wed Oct 7 06:10:38 EDT 2020


On Wed, Oct 07, 2020 at 10:20:21AM +0200, Michal Simek wrote:
> Hi,
> 
> 1. Keem Bay: in subject is wrong. Tools are working with it and you
> should just use keembay: instead.
> 
> 2. This should come first before actual change to keep the tree bisectable.
> 
> On 06. 10. 20 17:55, muhammad.husaini.zulkifli at intel.com wrote:
> > From: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli at 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 at 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 at intel.com>
> > + */
> > +
> > +#ifndef __FIRMWARE_KEEMBAY_SMC_H__
> > +#define __FIRMWARE_KEEMBAY_SMC_H__
> > +
> > +#include <linux/arm-smccc.h>
> > +
> > +/**
> 
> This is not a kernel doc comment. Just use /*
> 
> > + * 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
> 
> Sudeep: Don't we have any macros for composing these IDs?
> nit: IMHO composing these IDs from macros would make more sense to me.
> 

Yes we do. Refer include/linux/arm-smccc.h
I expect something like below, which also indicated you are using wrong
OWNER space. You can't be 0 which is reserved for CPU ARCH. You need to
be SIP(0x2)

#define ARM_SMCCC_SIP_KEEMBAY_SET_SD_VOLTAGE          \
        ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL,       \
                           ARM_SMCCC_SMC_32,          \
                           ARM_SMCCC_OWNER_SIP,       \
                           0xFF26)


-- 
Regards,
Sudeep



More information about the linux-arm-kernel mailing list