various minor sandbox improvements
-----BEGIN PGP SIGNATURE----- iQFFBAABCgAvFiEEslwAIq+Gp8wWVbYnfxc6PpAIreYFAmDkhxURHHNqZ0BjaHJv bWl1bS5vcmcACgkQfxc6PpAIreYqMAf+MBQMxpB5+W1k7mkoDKnbuh2oquEKwRkM pE8O/Svk6FJDdi3wYS2bMasxa9V2QgTDmih3wVnWBTY6bIJiH130dyWhhS3HuUdY E1P0OZIdcGGz+yR5RPCRn+zk+ULLlpgQymVYN/ltj+yQsXekNDwnIu70Gm0odQ9Z fjBytQLEU9lzBvQMA4rjBx2V6hVhedEosaoUcf/O9VLNg36p+okv709y6keLi6g8 oBYe939Iq/K5elPc6WpKeTU/CiOWUg+0nNuimvWKe0laVkbMjRycxL/vMNutaY9S PAwtwJTsHxqz6FmLHSQTUM3n2gY14sfHR2eBkKJWIGUw57/tpZ1CnQ== =pXw2 -----END PGP SIGNATURE----- Merge tag 'dm-pull-6jul21' of https://source.denx.de/u-boot/custodians/u-boot-dm various minor sandbox improvements
This commit is contained in:
commit
7e58a3a148
@ -390,6 +390,16 @@ static int sandbox_cmdline_cb_select_unittests(struct sandbox_state *state,
|
||||
}
|
||||
SANDBOX_CMDLINE_OPT_SHORT(select_unittests, 'k', 1, "Select unit tests to run");
|
||||
|
||||
static int sandbox_cmdline_cb_signals(struct sandbox_state *state,
|
||||
const char *arg)
|
||||
{
|
||||
state->handle_signals = true;
|
||||
|
||||
return 0;
|
||||
}
|
||||
SANDBOX_CMDLINE_OPT_SHORT(signals, 'S', 0,
|
||||
"Handle signals (such as SIGSEGV) in sandbox");
|
||||
|
||||
static void setup_ram_buf(struct sandbox_state *state)
|
||||
{
|
||||
/* Zero the RAM buffer if we didn't read it, to keep valgrind happy */
|
||||
@ -426,9 +436,6 @@ void sandbox_reset(void)
|
||||
if (state_uninit())
|
||||
os_exit(2);
|
||||
|
||||
if (dm_uninit())
|
||||
os_exit(2);
|
||||
|
||||
/* Restart U-Boot */
|
||||
os_relaunch(os_argv);
|
||||
}
|
||||
@ -443,6 +450,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
text_base = os_find_text_base();
|
||||
|
||||
/*
|
||||
* This must be the first invocation of os_malloc() to have
|
||||
* state->ram_buf in the low 4 GiB.
|
||||
*/
|
||||
ret = state_init();
|
||||
if (ret)
|
||||
goto err;
|
||||
|
||||
/*
|
||||
* Copy argv[] so that we can pass the arguments in the original
|
||||
* sequence when resetting the sandbox.
|
||||
@ -457,10 +472,6 @@ int main(int argc, char *argv[])
|
||||
gd = &data;
|
||||
gd->arch.text_base = text_base;
|
||||
|
||||
ret = state_init();
|
||||
if (ret)
|
||||
goto err;
|
||||
|
||||
state = state_get_current();
|
||||
if (os_parse_args(state, argc, argv))
|
||||
return 1;
|
||||
@ -476,9 +487,11 @@ int main(int argc, char *argv[])
|
||||
if (ret)
|
||||
goto err;
|
||||
|
||||
ret = os_setup_signal_handlers();
|
||||
if (ret)
|
||||
goto err;
|
||||
if (state->handle_signals) {
|
||||
ret = os_setup_signal_handlers();
|
||||
if (ret)
|
||||
goto err;
|
||||
}
|
||||
|
||||
#if CONFIG_VAL(SYS_MALLOC_F_LEN)
|
||||
gd->malloc_base = CONFIG_MALLOC_F_ADDR;
|
||||
|
@ -139,6 +139,12 @@
|
||||
size = <0x10000>;
|
||||
};
|
||||
};
|
||||
|
||||
cros_ec_pwm: cros-ec-pwm {
|
||||
compatible = "google,cros-ec-pwm";
|
||||
#pwm-cells = <1>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
dsi_host: dsi_host {
|
||||
|
@ -93,6 +93,7 @@ struct sandbox_state {
|
||||
bool ram_buf_read; /* true if we read the RAM buffer */
|
||||
bool run_unittests; /* Run unit tests */
|
||||
const char *select_unittests; /* Unit test to run */
|
||||
bool handle_signals; /* Handle signals within sandbox */
|
||||
|
||||
/* Pointer to information for each SPI bus/cs */
|
||||
struct sandbox_spi_info spi[CONFIG_SANDBOX_SPI_MAX_BUS]
|
||||
|
@ -275,4 +275,14 @@ void sandbox_set_enable_memio(bool enable);
|
||||
*/
|
||||
void sandbox_cros_ec_set_test_flags(struct udevice *dev, uint flags);
|
||||
|
||||
/**
|
||||
* sandbox_cros_ec_get_pwm_duty() - Get EC PWM config for testing purposes
|
||||
*
|
||||
* @dev: Device to check
|
||||
* @index: PWM channel index
|
||||
* @duty: Current duty cycle in 0..EC_PWM_MAX_DUTY range.
|
||||
* @return 0 if OK, -ENOSPC if the PWM number is invalid
|
||||
*/
|
||||
int sandbox_cros_ec_get_pwm_duty(struct udevice *dev, uint index, uint *duty);
|
||||
|
||||
#endif
|
||||
|
@ -265,7 +265,9 @@ static int setup_mon_len(void)
|
||||
{
|
||||
#if defined(__ARM__) || defined(__MICROBLAZE__)
|
||||
gd->mon_len = (ulong)&__bss_end - (ulong)_start;
|
||||
#elif defined(CONFIG_SANDBOX) || defined(CONFIG_EFI_APP)
|
||||
#elif defined(CONFIG_SANDBOX)
|
||||
gd->mon_len = 0;
|
||||
#elif defined(CONFIG_EFI_APP)
|
||||
gd->mon_len = (ulong)&_end - (ulong)_init;
|
||||
#elif defined(CONFIG_NIOS2) || defined(CONFIG_XTENSA)
|
||||
gd->mon_len = CONFIG_SYS_MONITOR_LEN;
|
||||
|
@ -188,6 +188,7 @@ CONFIG_REGULATOR_S5M8767=y
|
||||
CONFIG_DM_REGULATOR_SANDBOX=y
|
||||
CONFIG_REGULATOR_TPS65090=y
|
||||
CONFIG_DM_PWM=y
|
||||
CONFIG_PWM_CROS_EC=y
|
||||
CONFIG_PWM_SANDBOX=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_REMOTEPROC_SANDBOX=y
|
||||
|
@ -226,6 +226,7 @@ CONFIG_DM_REGULATOR_SANDBOX=y
|
||||
CONFIG_REGULATOR_TPS65090=y
|
||||
CONFIG_DM_REGULATOR_SCMI=y
|
||||
CONFIG_DM_PWM=y
|
||||
CONFIG_PWM_CROS_EC=y
|
||||
CONFIG_PWM_SANDBOX=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_REMOTEPROC_SANDBOX=y
|
||||
|
@ -165,6 +165,7 @@ CONFIG_REGULATOR_S5M8767=y
|
||||
CONFIG_DM_REGULATOR_SANDBOX=y
|
||||
CONFIG_REGULATOR_TPS65090=y
|
||||
CONFIG_DM_PWM=y
|
||||
CONFIG_PWM_CROS_EC=y
|
||||
CONFIG_PWM_SANDBOX=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_REMOTEPROC_SANDBOX=y
|
||||
|
@ -181,6 +181,7 @@ CONFIG_REGULATOR_S5M8767=y
|
||||
CONFIG_DM_REGULATOR_SANDBOX=y
|
||||
CONFIG_REGULATOR_TPS65090=y
|
||||
CONFIG_DM_PWM=y
|
||||
CONFIG_PWM_CROS_EC=y
|
||||
CONFIG_PWM_SANDBOX=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_REMOTEPROC_SANDBOX=y
|
||||
|
@ -183,6 +183,7 @@ CONFIG_REGULATOR_S5M8767=y
|
||||
CONFIG_DM_REGULATOR_SANDBOX=y
|
||||
CONFIG_REGULATOR_TPS65090=y
|
||||
CONFIG_DM_PWM=y
|
||||
CONFIG_PWM_CROS_EC=y
|
||||
CONFIG_PWM_SANDBOX=y
|
||||
CONFIG_RAM=y
|
||||
CONFIG_REMOTEPROC_SANDBOX=y
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Przemyslaw Marczak <p.marczak@samsung.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_ADC
|
||||
|
||||
#include <common.h>
|
||||
#include <errno.h>
|
||||
#include <div64.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_AHCI
|
||||
|
||||
#include <common.h>
|
||||
#include <ahci.h>
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_AXI_EMUL
|
||||
|
||||
#include <common.h>
|
||||
#include <axi.h>
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_AXI
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <axi.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_BLK
|
||||
|
||||
#include <common.h>
|
||||
#include <blk.h>
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_IDE
|
||||
|
||||
#include <common.h>
|
||||
#include <ata.h>
|
||||
#include <blk.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* (C) Copyright 2018 Theobroma Systems Design und Consulting GmbH
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_BOOTCOUNT
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -5,6 +5,8 @@
|
||||
* Based on led-uclass.c
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_BUTTON
|
||||
|
||||
#include <common.h>
|
||||
#include <button.h>
|
||||
#include <dm.h>
|
||||
|
2
drivers/cache/cache-uclass.c
vendored
2
drivers/cache/cache-uclass.c
vendored
@ -3,6 +3,8 @@
|
||||
* Copyright (C) 2019 Intel Corporation <www.intel.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CACHE
|
||||
|
||||
#include <common.h>
|
||||
#include <cache.h>
|
||||
#include <dm.h>
|
||||
|
@ -6,6 +6,8 @@
|
||||
* Copyright (c) 2018, Theobroma Systems Design und Consulting GmbH
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <clk.h>
|
||||
#include <clk-uclass.h>
|
||||
|
@ -6,6 +6,8 @@
|
||||
* Pavel Herrmann <morpheus.ibis@gmail.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_ROOT
|
||||
|
||||
#include <common.h>
|
||||
#include <errno.h>
|
||||
#include <fdtdec.h>
|
||||
@ -111,9 +113,6 @@ void fix_uclass(void)
|
||||
entry->init += gd->reloc_off;
|
||||
if (entry->destroy)
|
||||
entry->destroy += gd->reloc_off;
|
||||
/* FIXME maybe also need to fix these ops */
|
||||
if (entry->ops)
|
||||
entry->ops += gd->reloc_off;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2014 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SIMPLE_BUS
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CPU
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu.h>
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Author: Ruchika Gupta <ruchika.gupta@freescale.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_MOD_EXP
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -9,6 +9,8 @@
|
||||
* Author: Mugunthan V N <mugunthanvnm@ti.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_DMA
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <dm.h>
|
||||
|
@ -1,5 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#define LOG_CATEGORY UCLASS_FIRMWARE
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (C) 2018, STMicroelectronics - All Rights Reserved
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_HWSPINLOCK
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2014 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_I2C_EMUL
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <i2c.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2014 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_I2C
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_I2C_MUX
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2015 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_KEYBOARD
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <keyboard.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_LED
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_MAILBOX
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -64,6 +64,7 @@ struct ec_keymatrix_entry {
|
||||
|
||||
enum {
|
||||
VSTORE_SLOT_COUNT = 4,
|
||||
PWM_CHANNEL_COUNT = 4,
|
||||
};
|
||||
|
||||
struct vstore_slot {
|
||||
@ -71,6 +72,10 @@ struct vstore_slot {
|
||||
u8 data[EC_VSTORE_SLOT_SIZE];
|
||||
};
|
||||
|
||||
struct ec_pwm_channel {
|
||||
uint duty; /* not ns, EC_PWM_MAX_DUTY = 100% */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ec_state - Information about the EC state
|
||||
*
|
||||
@ -85,6 +90,7 @@ struct vstore_slot {
|
||||
* @recovery_req: Keyboard recovery requested
|
||||
* @test_flags: Flags that control behaviour for tests
|
||||
* @slot_locked: Locked vstore slots (mask)
|
||||
* @pwm: Information per PWM channel
|
||||
*/
|
||||
struct ec_state {
|
||||
u8 vbnv_context[EC_VBNV_BLOCK_SIZE_V2];
|
||||
@ -98,6 +104,7 @@ struct ec_state {
|
||||
bool recovery_req;
|
||||
uint test_flags;
|
||||
struct vstore_slot slot[VSTORE_SLOT_COUNT];
|
||||
struct ec_pwm_channel pwm[PWM_CHANNEL_COUNT];
|
||||
} s_state, *g_state;
|
||||
|
||||
/**
|
||||
@ -554,6 +561,33 @@ static int process_cmd(struct ec_state *ec,
|
||||
len = sizeof(*resp);
|
||||
break;
|
||||
}
|
||||
case EC_CMD_PWM_GET_DUTY: {
|
||||
const struct ec_params_pwm_get_duty *req = req_data;
|
||||
struct ec_response_pwm_get_duty *resp = resp_data;
|
||||
struct ec_pwm_channel *pwm;
|
||||
|
||||
if (req->pwm_type != EC_PWM_TYPE_GENERIC)
|
||||
return -EINVAL;
|
||||
if (req->index >= PWM_CHANNEL_COUNT)
|
||||
return -EINVAL;
|
||||
pwm = &ec->pwm[req->index];
|
||||
resp->duty = pwm->duty;
|
||||
len = sizeof(*resp);
|
||||
break;
|
||||
}
|
||||
case EC_CMD_PWM_SET_DUTY: {
|
||||
const struct ec_params_pwm_set_duty *req = req_data;
|
||||
struct ec_pwm_channel *pwm;
|
||||
|
||||
if (req->pwm_type != EC_PWM_TYPE_GENERIC)
|
||||
return -EINVAL;
|
||||
if (req->index >= PWM_CHANNEL_COUNT)
|
||||
return -EINVAL;
|
||||
pwm = &ec->pwm[req->index];
|
||||
pwm->duty = req->duty;
|
||||
len = 0;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
printf(" ** Unknown EC command %#02x\n", req_hdr->command);
|
||||
return -1;
|
||||
@ -619,6 +653,19 @@ void sandbox_cros_ec_set_test_flags(struct udevice *dev, uint flags)
|
||||
ec->test_flags = flags;
|
||||
}
|
||||
|
||||
int sandbox_cros_ec_get_pwm_duty(struct udevice *dev, uint index, uint *duty)
|
||||
{
|
||||
struct ec_state *ec = dev_get_priv(dev);
|
||||
struct ec_pwm_channel *pwm;
|
||||
|
||||
if (index >= PWM_CHANNEL_COUNT)
|
||||
return -ENOSPC;
|
||||
pwm = &ec->pwm[index];
|
||||
*duty = pwm->duty;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cros_ec_probe(struct udevice *dev)
|
||||
{
|
||||
struct ec_state *ec = dev_get_priv(dev);
|
||||
|
@ -3,6 +3,9 @@
|
||||
* Copyright (C) 2018-2019 Intel Corporation <www.intel.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_FS_FIRMWARE_LOADER
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <env.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2014 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_I2C_EEPROM
|
||||
|
||||
#include <common.h>
|
||||
#include <eeprom.h>
|
||||
#include <linux/delay.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (C) 2010 Thomas Chou <thomas@wytron.com.tw>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_MISC
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -6,6 +6,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_P2SB
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2015 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PWRSEQ
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <pwrseq.h>
|
||||
|
@ -5,6 +5,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_MMC
|
||||
|
||||
#include <common.h>
|
||||
#include <log.h>
|
||||
#include <mmc.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (C) 2015 Thomas Chou <thomas@wytron.com.tw>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_MTD
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <dm/device-internal.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2014 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SPI_FLASH
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -11,6 +11,8 @@
|
||||
* Jean-Jacques Hiblot <jjhiblot@ti.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_MUX
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <mux-internal.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Copyright (C) 2017 Bin Meng <bmeng.cn@gmail.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_NVME
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PCH
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <pch.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PCI
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -9,6 +9,8 @@
|
||||
* Written by Ramon Fried <ramon.fried@gmail.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PCI_EP
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Jean-Jacques Hiblot <jjhiblot@ti.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PHY
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <dm/device_compat.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PINCTRL
|
||||
|
||||
#include <common.h>
|
||||
#include <malloc.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_POWER_DOMAIN
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Przemyslaw Marczak <p.marczak@samsung.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PMIC
|
||||
|
||||
#include <common.h>
|
||||
#include <fdtdec.h>
|
||||
#include <errno.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Przemyslaw Marczak <p.marczak@samsung.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_REGULATOR
|
||||
|
||||
#include <common.h>
|
||||
#include <errno.h>
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PWM
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <pwm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_RAM
|
||||
|
||||
#include <common.h>
|
||||
#include <ram.h>
|
||||
#include <dm.h>
|
||||
|
@ -3,6 +3,9 @@
|
||||
* (C) Copyright 2015
|
||||
* Texas Instruments Incorporated - http://www.ti.com/
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_REMOTEPROC
|
||||
|
||||
#define pr_fmt(fmt) "%s: " fmt, __func__
|
||||
#include <common.h>
|
||||
#include <errno.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_RESET
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <fdtdec.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2019, Linaro Limited
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_RNG
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <rng.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_RTC
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -8,6 +8,8 @@
|
||||
* Based on ahci-uclass.c
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SCSI
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <scsi.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2014 The Chromium OS Authors.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SERIAL
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <env_internal.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2018 Ramon Fried <ramon.fried@gmail.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SMEM
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <smem.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Dave Gerlach <d-gerlach@ti.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SOC
|
||||
|
||||
#include <common.h>
|
||||
#include <soc.h>
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_AUDIO_CODEC
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <audio_codec.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_I2S
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <i2s.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SOUND
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <i2s.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2014 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SPI_EMUL
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <spi.h>
|
||||
|
@ -5,6 +5,8 @@
|
||||
* (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SPMI
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_SYSINFO
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <sysinfo.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2018 Linaro Limited
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_TEE
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* (C) Copyright 2014 Freescale Semiconductor, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_THERMAL
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <thermal.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (C) 2015 Thomas Chou <thomas@wytron.com.tw>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_TIMER
|
||||
|
||||
#include <common.h>
|
||||
#include <clk.h>
|
||||
#include <cpu.h>
|
||||
|
@ -5,6 +5,8 @@
|
||||
* Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_UFS
|
||||
|
||||
#include <common.h>
|
||||
#include "ufs.h"
|
||||
#include <dm.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_USB_EMUL
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Jean-Jacques Hiblot <jjhiblot@ti.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_USB_GADGET_GENERIC
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <dm/device-internal.h>
|
||||
|
@ -6,6 +6,8 @@
|
||||
* usb_match_device() modified from Linux kernel v4.0.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_USB
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PANEL_BACKLIGHT
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <backlight.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_VIDEO_BRIDGE
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright 2014 Google Inc.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_DISPLAY
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <display.h>
|
||||
|
@ -5,6 +5,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_DSI_HOST
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <dsi_host.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PANEL
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <panel.h>
|
||||
|
@ -7,6 +7,8 @@
|
||||
* Bernecker & Rainer Industrieelektronik GmbH - http://www.br-automation.com
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_VIDEO_CONSOLE
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <console.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright (c) 2015 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_VIDEO
|
||||
|
||||
#include <common.h>
|
||||
#include <console.h>
|
||||
#include <cpu_func.h>
|
||||
|
@ -4,6 +4,8 @@
|
||||
* Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_VIDEO_OSD
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <video_osd.h>
|
||||
|
@ -15,6 +15,8 @@
|
||||
* the VirtIO specification v1.0.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_VIRTIO
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -10,6 +10,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_W1_EEPROM
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -12,6 +12,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_W1
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright 2017 Google, Inc
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_WDT
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
|
@ -3,6 +3,9 @@
|
||||
* (C) 2007-2008 Samuel Thibault.
|
||||
* (C) Copyright 2020 EPAM Systems Inc.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_PVBLOCK
|
||||
|
||||
#include <blk.h>
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
|
@ -84,8 +84,6 @@ struct udevice;
|
||||
* its children. If non-zero this is the size of this data, to be allocated
|
||||
* in the child device's parent_plat pointer. This value is only used as
|
||||
* a fallback if this member is 0 in the driver.
|
||||
* @ops: Uclass operations, providing the consistent interface to devices
|
||||
* within the uclass.
|
||||
* @flags: Flags for this uclass (DM_UC_...)
|
||||
*/
|
||||
struct uclass_driver {
|
||||
@ -106,7 +104,6 @@ struct uclass_driver {
|
||||
int per_device_plat_auto;
|
||||
int per_child_auto;
|
||||
int per_child_plat_auto;
|
||||
const void *ops;
|
||||
uint32_t flags;
|
||||
};
|
||||
|
||||
|
@ -18,16 +18,20 @@ static int dm_test_pwm_cmd(struct unit_test_state *uts)
|
||||
{
|
||||
struct udevice *dev;
|
||||
|
||||
/* cros-ec-pwm */
|
||||
ut_assertok(uclass_get_device(UCLASS_PWM, 0, &dev));
|
||||
ut_assertnonnull(dev);
|
||||
|
||||
ut_assertok(console_record_reset_enable());
|
||||
|
||||
/* pwm <invert> <pwm_dev_num> <channel> <polarity> */
|
||||
ut_assertok(run_command("pwm invert 0 0 1", 0));
|
||||
/* cros-ec-pwm doesn't support invert */
|
||||
ut_asserteq(1, run_command("pwm invert 0 0 1", 0));
|
||||
ut_assert_nextline("error(-38)")
|
||||
ut_assert_console_end();
|
||||
|
||||
ut_assertok(run_command("pwm invert 0 0 0", 0));
|
||||
ut_asserteq(1, run_command("pwm invert 0 0 0", 0));
|
||||
ut_assert_nextline("error(-38)")
|
||||
ut_assert_console_end();
|
||||
|
||||
/* pwm <config> <pwm_dev_num> <channel> <period_ns> <duty_ns> */
|
||||
@ -41,6 +45,30 @@ static int dm_test_pwm_cmd(struct unit_test_state *uts)
|
||||
ut_assertok(run_command("pwm disable 0 0", 0));
|
||||
ut_assert_console_end();
|
||||
|
||||
/* sandbox-pwm */
|
||||
ut_assertok(uclass_get_device(UCLASS_PWM, 1, &dev));
|
||||
ut_assertnonnull(dev);
|
||||
|
||||
ut_assertok(console_record_reset_enable());
|
||||
|
||||
/* pwm <invert> <pwm_dev_num> <channel> <polarity> */
|
||||
ut_assertok(run_command("pwm invert 1 0 1", 0));
|
||||
ut_assert_console_end();
|
||||
|
||||
ut_assertok(run_command("pwm invert 1 0 0", 0));
|
||||
ut_assert_console_end();
|
||||
|
||||
/* pwm <config> <pwm_dev_num> <channel> <period_ns> <duty_ns> */
|
||||
ut_assertok(run_command("pwm config 1 0 10 50", 0));
|
||||
ut_assert_console_end();
|
||||
|
||||
/* pwm <enable/disable> <pwm_dev_num> <channel> */
|
||||
ut_assertok(run_command("pwm enable 1 0", 0));
|
||||
ut_assert_console_end();
|
||||
|
||||
ut_assertok(run_command("pwm disable 1 0", 0));
|
||||
ut_assert_console_end();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,7 @@ obj-$(CONFIG_DM_BOOTCOUNT) += bootcount.o
|
||||
obj-$(CONFIG_CLK) += clk.o clk_ccf.o
|
||||
obj-$(CONFIG_CPU) += cpu.o
|
||||
obj-$(CONFIG_CROS_EC) += cros_ec.o
|
||||
obj-$(CONFIG_PWM_CROS_EC) += cros_ec_pwm.o
|
||||
obj-$(CONFIG_DEVRES) += devres.o
|
||||
obj-$(CONFIG_DMA) += dma.o
|
||||
obj-$(CONFIG_VIDEO_MIPI_DSI) += dsi_host.o
|
||||
|
60
test/dm/cros_ec_pwm.c
Normal file
60
test/dm/cros_ec_pwm.c
Normal file
@ -0,0 +1,60 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include <common.h>
|
||||
#include <cros_ec.h>
|
||||
#include <dm.h>
|
||||
#include <pwm.h>
|
||||
#include <asm/test.h>
|
||||
#include <dm/test.h>
|
||||
#include <test/test.h>
|
||||
#include <test/ut.h>
|
||||
|
||||
static int dm_test_cros_ec_pwm(struct unit_test_state *uts)
|
||||
{
|
||||
struct udevice *pwm;
|
||||
struct udevice *ec;
|
||||
uint duty;
|
||||
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_PWM, "cros-ec-pwm", &pwm));
|
||||
ut_assertnonnull(pwm);
|
||||
ec = dev_get_parent(pwm);
|
||||
ut_assertnonnull(ec);
|
||||
|
||||
ut_assertok(pwm_set_config(pwm, 0, 100, 50));
|
||||
ut_assertok(pwm_set_enable(pwm, 0, true));
|
||||
ut_assertok(sandbox_cros_ec_get_pwm_duty(ec, 0, &duty));
|
||||
ut_asserteq(50 * EC_PWM_MAX_DUTY / 100, duty);
|
||||
|
||||
ut_assertok(pwm_set_config(pwm, 0, 15721, 2719));
|
||||
ut_assertok(pwm_set_enable(pwm, 0, true));
|
||||
ut_assertok(sandbox_cros_ec_get_pwm_duty(ec, 0, &duty));
|
||||
ut_asserteq(2719 * EC_PWM_MAX_DUTY / 15721, duty);
|
||||
|
||||
ut_assertok(pwm_set_enable(pwm, 0, false));
|
||||
ut_assertok(sandbox_cros_ec_get_pwm_duty(ec, 0, &duty));
|
||||
ut_asserteq(0, duty);
|
||||
|
||||
ut_assertok(pwm_set_enable(pwm, 0, true));
|
||||
ut_assertok(sandbox_cros_ec_get_pwm_duty(ec, 0, &duty));
|
||||
ut_asserteq(2719 * EC_PWM_MAX_DUTY / 15721, duty);
|
||||
|
||||
ut_assertok(pwm_set_config(pwm, 1, 1000, 0));
|
||||
ut_assertok(pwm_set_enable(pwm, 1, true));
|
||||
ut_assertok(sandbox_cros_ec_get_pwm_duty(ec, 1, &duty));
|
||||
ut_asserteq(0, duty);
|
||||
|
||||
ut_assertok(pwm_set_config(pwm, 2, 1000, 1024));
|
||||
ut_assertok(pwm_set_enable(pwm, 2, true));
|
||||
ut_assertok(sandbox_cros_ec_get_pwm_duty(ec, 2, &duty));
|
||||
ut_asserteq(EC_PWM_MAX_DUTY, duty);
|
||||
|
||||
ut_assertok(pwm_set_config(pwm, 3, EC_PWM_MAX_DUTY, 0xABCD));
|
||||
ut_assertok(pwm_set_enable(pwm, 3, true));
|
||||
ut_assertok(sandbox_cros_ec_get_pwm_duty(ec, 3, &duty));
|
||||
ut_asserteq(0xABCD, duty);
|
||||
|
||||
ut_asserteq(-EINVAL, pwm_set_enable(pwm, 4, true));
|
||||
|
||||
return 0;
|
||||
}
|
||||
DM_TEST(dm_test_cros_ec_pwm, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
|
@ -28,7 +28,7 @@ static int dm_test_panel(struct unit_test_state *uts)
|
||||
bool polarity;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_PANEL, &dev));
|
||||
ut_assertok(uclass_first_device_err(UCLASS_PWM, &pwm));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_PWM, "pwm", &pwm));
|
||||
ut_assertok(uclass_get_device(UCLASS_GPIO, 1, &gpio));
|
||||
ut_assertok(regulator_get_by_platname("VDD_EMMC_1.8V", ®));
|
||||
ut_assertok(sandbox_pwm_get_config(pwm, 0, &period_ns, &duty_ns,
|
||||
|
@ -20,7 +20,7 @@ static int dm_test_pwm_base(struct unit_test_state *uts)
|
||||
bool enable;
|
||||
bool polarity;
|
||||
|
||||
ut_assertok(uclass_get_device(UCLASS_PWM, 0, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_PWM, "pwm", &dev));
|
||||
ut_assertnonnull(dev);
|
||||
ut_assertok(pwm_set_config(dev, 0, 100, 50));
|
||||
ut_assertok(pwm_set_enable(dev, 0, true));
|
||||
@ -35,8 +35,10 @@ static int dm_test_pwm_base(struct unit_test_state *uts)
|
||||
ut_asserteq(period_ns, 4096);
|
||||
ut_asserteq(duty_ns, 50 * 4096 / 100);
|
||||
|
||||
ut_assertok(uclass_get_device(UCLASS_PWM, 0, &dev));
|
||||
ut_assertok(uclass_get_device(UCLASS_PWM, 1, &dev));
|
||||
ut_asserteq(-ENODEV, uclass_get_device(UCLASS_PWM, 2, &dev));
|
||||
ut_assertok(uclass_get_device(UCLASS_PWM, 2, &dev));
|
||||
ut_asserteq(-ENODEV, uclass_get_device(UCLASS_PWM, 3, &dev));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -292,8 +292,6 @@ def GetTargetCompileTool(name, cross_compile=None):
|
||||
|
||||
if cross_compile is None:
|
||||
cross_compile = env.get('CROSS_COMPILE', '')
|
||||
if not cross_compile:
|
||||
return name, []
|
||||
|
||||
if name in ('as', 'ar', 'nm', 'ldr', 'strip', 'objcopy', 'objdump'):
|
||||
target_name = cross_compile + name
|
||||
|
Loading…
Reference in New Issue
Block a user