Merge git://git.denx.de/u-boot-dm
For odroid-c2 (arch-meson) for now disable designware eth as meson now needs to do some harder GPIO work. Signed-off-by: Tom Rini <trini@konsulko.com> Conflicts: lib/efi_loader/efi_disk.c Modified: configs/odroid-c2_defconfig
This commit is contained in:
@@ -46,7 +46,7 @@ obj-y += interrupts_64.o
|
||||
else
|
||||
obj-y += interrupts.o
|
||||
endif
|
||||
ifndef CONFIG_RESET
|
||||
ifndef CONFIG_SYSRESET
|
||||
obj-y += reset.o
|
||||
endif
|
||||
|
||||
|
||||
@@ -41,6 +41,9 @@ config DM_I2C
|
||||
config DM_GPIO
|
||||
default y
|
||||
|
||||
config BLK
|
||||
default y
|
||||
|
||||
source "arch/arm/mach-rockchip/rk3288/Kconfig"
|
||||
source "arch/arm/mach-rockchip/rk3036/Kconfig"
|
||||
endif
|
||||
|
||||
@@ -7,24 +7,24 @@
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
#include <reset.h>
|
||||
#include <sysreset.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/clock.h>
|
||||
#include <asm/arch/cru_rk3036.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
int rk3036_reset_request(struct udevice *dev, enum reset_t type)
|
||||
int rk3036_sysreset_request(struct udevice *dev, enum sysreset_t type)
|
||||
{
|
||||
struct rk3036_cru *cru = rockchip_get_cru();
|
||||
|
||||
if (IS_ERR(cru))
|
||||
return PTR_ERR(cru);
|
||||
switch (type) {
|
||||
case RESET_WARM:
|
||||
case SYSRESET_WARM:
|
||||
writel(0xeca8, &cru->cru_glb_srst_snd_value);
|
||||
break;
|
||||
case RESET_COLD:
|
||||
case SYSRESET_COLD:
|
||||
writel(0xfdb9, &cru->cru_glb_srst_fst_value);
|
||||
break;
|
||||
default:
|
||||
@@ -34,12 +34,12 @@ int rk3036_reset_request(struct udevice *dev, enum reset_t type)
|
||||
return -EINPROGRESS;
|
||||
}
|
||||
|
||||
static struct reset_ops rk3036_reset = {
|
||||
.request = rk3036_reset_request,
|
||||
static struct sysreset_ops rk3036_sysreset = {
|
||||
.request = rk3036_sysreset_request,
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(reset_rk3036) = {
|
||||
.name = "rk3036_reset",
|
||||
.id = UCLASS_RESET,
|
||||
.ops = &rk3036_reset,
|
||||
U_BOOT_DRIVER(sysreset_rk3036) = {
|
||||
.name = "rk3036_sysreset",
|
||||
.id = UCLASS_SYSRESET,
|
||||
.ops = &rk3036_sysreset,
|
||||
};
|
||||
|
||||
@@ -7,25 +7,25 @@
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
#include <reset.h>
|
||||
#include <sysreset.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/clock.h>
|
||||
#include <asm/arch/cru_rk3288.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
int rk3288_reset_request(struct udevice *dev, enum reset_t type)
|
||||
int rk3288_sysreset_request(struct udevice *dev, enum sysreset_t type)
|
||||
{
|
||||
struct rk3288_cru *cru = rockchip_get_cru();
|
||||
|
||||
if (IS_ERR(cru))
|
||||
return PTR_ERR(cru);
|
||||
switch (type) {
|
||||
case RESET_WARM:
|
||||
case SYSRESET_WARM:
|
||||
rk_clrreg(&cru->cru_mode_con, 0xffff);
|
||||
writel(0xeca8, &cru->cru_glb_srst_snd_value);
|
||||
break;
|
||||
case RESET_COLD:
|
||||
case SYSRESET_COLD:
|
||||
rk_clrreg(&cru->cru_mode_con, 0xffff);
|
||||
writel(0xfdb9, &cru->cru_glb_srst_fst_value);
|
||||
break;
|
||||
@@ -36,12 +36,12 @@ int rk3288_reset_request(struct udevice *dev, enum reset_t type)
|
||||
return -EINPROGRESS;
|
||||
}
|
||||
|
||||
static struct reset_ops rk3288_reset = {
|
||||
.request = rk3288_reset_request,
|
||||
static struct sysreset_ops rk3288_sysreset = {
|
||||
.request = rk3288_sysreset_request,
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(reset_rk3288) = {
|
||||
.name = "rk3288_reset",
|
||||
.id = UCLASS_RESET,
|
||||
.ops = &rk3288_reset,
|
||||
U_BOOT_DRIVER(sysreset_rk3288) = {
|
||||
.name = "rk3288_sysreset",
|
||||
.id = UCLASS_SYSRESET,
|
||||
.ops = &rk3288_sysreset,
|
||||
};
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
#include <reset.h>
|
||||
#include <sysreset.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static int msm_reset_request(struct udevice *dev, enum reset_t type)
|
||||
static int msm_sysreset_request(struct udevice *dev, enum sysreset_t type)
|
||||
{
|
||||
phys_addr_t addr = dev_get_addr(dev);
|
||||
if (!addr)
|
||||
@@ -23,18 +23,18 @@ static int msm_reset_request(struct udevice *dev, enum reset_t type)
|
||||
return -EINPROGRESS;
|
||||
}
|
||||
|
||||
static struct reset_ops msm_reset_ops = {
|
||||
.request = msm_reset_request,
|
||||
static struct sysreset_ops msm_sysreset_ops = {
|
||||
.request = msm_sysreset_request,
|
||||
};
|
||||
|
||||
static const struct udevice_id msm_reset_ids[] = {
|
||||
static const struct udevice_id msm_sysreset_ids[] = {
|
||||
{ .compatible = "qcom,pshold" },
|
||||
{ }
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(msm_reset) = {
|
||||
.name = "msm_reset",
|
||||
.id = UCLASS_RESET,
|
||||
.of_match = msm_reset_ids,
|
||||
.ops = &msm_reset_ops,
|
||||
.name = "msm_sysreset",
|
||||
.id = UCLASS_SYSRESET,
|
||||
.of_match = msm_sysreset_ids,
|
||||
.ops = &msm_sysreset_ops,
|
||||
};
|
||||
|
||||
@@ -360,8 +360,8 @@ int state_init(void)
|
||||
assert(state->ram_buf);
|
||||
|
||||
/* No reset yet, so mark it as such. Always allow power reset */
|
||||
state->last_reset = RESET_COUNT;
|
||||
state->reset_allowed[RESET_POWER] = true;
|
||||
state->last_sysreset = SYSRESET_COUNT;
|
||||
state->sysreset_allowed[SYSRESET_POWER] = true;
|
||||
|
||||
/*
|
||||
* Example of how to use GPIOs:
|
||||
|
||||
@@ -216,6 +216,17 @@
|
||||
};
|
||||
};
|
||||
|
||||
mbox: mbox {
|
||||
compatible = "sandbox,mbox";
|
||||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
mbox-test {
|
||||
compatible = "sandbox,mbox-test";
|
||||
mboxes = <&mbox 100>, <&mbox 1>;
|
||||
mbox-names = "other", "test";
|
||||
};
|
||||
|
||||
mmc {
|
||||
compatible = "sandbox,mmc";
|
||||
};
|
||||
|
||||
21
arch/sandbox/include/asm/mbox.h
Normal file
21
arch/sandbox/include/asm/mbox.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
||||
#ifndef __SANDBOX_MBOX_H
|
||||
#define __SANDBOX_MBOX_H
|
||||
|
||||
#include <common.h>
|
||||
|
||||
#define SANDBOX_MBOX_PING_XOR 0x12345678
|
||||
|
||||
struct udevice;
|
||||
|
||||
int sandbox_mbox_test_get(struct udevice *dev);
|
||||
int sandbox_mbox_test_send(struct udevice *dev, uint32_t msg);
|
||||
int sandbox_mbox_test_recv(struct udevice *dev, uint32_t *msg);
|
||||
int sandbox_mbox_test_free(struct udevice *dev);
|
||||
|
||||
#endif
|
||||
@@ -7,7 +7,7 @@
|
||||
#define __SANDBOX_STATE_H
|
||||
|
||||
#include <config.h>
|
||||
#include <reset.h>
|
||||
#include <sysreset.h>
|
||||
#include <stdbool.h>
|
||||
#include <linux/stringify.h>
|
||||
|
||||
@@ -60,8 +60,8 @@ struct sandbox_state {
|
||||
bool write_state; /* Write sandbox state on exit */
|
||||
bool ignore_missing_state_on_read; /* No error if state missing */
|
||||
bool show_lcd; /* Show LCD on start-up */
|
||||
enum reset_t last_reset; /* Last reset type */
|
||||
bool reset_allowed[RESET_COUNT]; /* Allowed reset types */
|
||||
enum sysreset_t last_sysreset; /* Last system reset type */
|
||||
bool sysreset_allowed[SYSRESET_COUNT]; /* Allowed system reset types */
|
||||
enum state_terminal_raw term_raw; /* Terminal raw/cooked */
|
||||
bool skip_delays; /* Ignore any time delays (for test) */
|
||||
bool show_test_output; /* Don't suppress stdout in tests */
|
||||
|
||||
Reference in New Issue
Block a user