aboutsummaryrefslogtreecommitdiff
path: root/drivers/firmware/meson/meson_sm.c
AgeCommit message (Collapse)AuthorFilesLines
2020-02-14firmware: meson_sm: Add secure power domain supportJianxin Pan1-0/+2
The Amlogic Meson A1/C1 Secure Monitor implements calls to control power domain. Signed-off-by: Jianxin Pan <[email protected]> Signed-off-by: Kevin Hilman <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2019-10-03firmware: meson_sm: use %*ph to print small bufferAndy Shevchenko1-13/+1
Use %*ph format to print small buffer as hex string. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2019-10-03firmware: meson_sm: Rework driver as a proper platform driverCarlo Caione1-30/+64
The secure monitor driver is currently a frankenstein driver which is registered as a platform driver but its functionality goes through a global struct accessed by the consumer drivers using exported helper functions. Try to tidy up the driver moving the firmware struct into the driver data and make the consumer drivers referencing the secure-monitor using a new property in the DT. Currently only the nvmem driver is using this API so we can fix it in the same commit. Reviewed-by: Jerome Brunet <[email protected]> Signed-off-by: Carlo Caione <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2019-10-03firmware: meson_sm: Mark chip struct as static constCarlo Caione1-1/+1
No need to be a global struct. Reviewed-by: Jerome Brunet <[email protected]> Signed-off-by: Carlo Caione <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446Thomas Gleixner1-7/+1
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation you should have received a copy of the gnu general public license along with this program if not see http www gnu org licenses extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 30 file(s). Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Allison Randal <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-09-12firmware: meson_sm: Add serial number sysfs entryNeil Armstrong1-0/+56
The Amlogic Meson SoC Secure Monitor implements a call to retrieve an unique SoC ID starting from the GX Family and all new families. The serial number is simply exposed as a sysfs entry under the firmware sysfs directory. Signed-off-by: Neil Armstrong <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2018-03-07firmware: meson-sm: rework meson_sm_init to use module_platform_driver_probeSudeep Holla1-13/+12
Commit 3aa0582fdb82 ("of: platform: populate /firmware/ node from of_platform_default_populate_init()") takes care of populating all the devices under the /firmware/ node in of_platform_default_populate_init() This patch reworks meson_sm_init to use module_platform_driver_probe as the platform device is populated. Cc: Carlo Caione <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: [email protected] Signed-off-by: Sudeep Holla <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2017-03-23firmware: meson-sm: Allow 0 as valid return valueCarlo Caione1-2/+10
Some special SMC calls (i.e. the function used to retrieve the serial number of the Amlogic SoCs) returns 0 in the register 0 also when the data was successfully read instead of using the register to hold the number of bytes returned in the bounce buffer as expected. With the current implementation of the driver this is seen as an error and meson_sm_call_read() returns an error even though the data was correctly read. To deal with this when we have no information about the amount of read data (that is 0 is returned by the SMC call) we return to the caller the requested amount of data and 0 as return value. Signed-off-by: Carlo Caione <[email protected]> Acked-by: Mark Rutland <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2017-03-23firmware: meson-sm: Check for buffer output sizeCarlo Caione1-3/+7
After the data is read by the secure monitor driver it is being copied in the output buffer checking only the size of the bounce buffer but not the size of the output buffer. Fix this in the secure monitor driver slightly changing the API. Fix also the efuse driver that it is the only driver using this API to not break bisectability. Signed-off-by: Carlo Caione <[email protected]> Acked-by: Srinivas Kandagatla <[email protected]> # for nvmem Acked-by: Mark Rutland <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2016-09-01firmware: Amlogic: Add secure monitor driverCarlo Caione1-0/+248
Introduce a driver to provide calls into secure monitor mode. In the Amlogic SoCs these calls are used for multiple reasons: access to NVMEM, set USB boot, enable JTAG, etc... Acked-by: Mark Rutland <[email protected]> Signed-off-by: Carlo Caione <[email protected]> [khilman: add in SZ_4K cleanup] Signed-off-by: Kevin Hilman <[email protected]>