]> git.ipfire.org Git - thirdparty/u-boot.git/blame - arch/x86/cpu/tangier/sysreset.c
Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""
[thirdparty/u-boot.git] / arch / x86 / cpu / tangier / sysreset.c
CommitLineData
4c99ccfe
BM
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
4 *
5 * Reset driver for tangier processor
6 */
7
d678a59d 8#include <common.h>
4c99ccfe
BM
9#include <dm.h>
10#include <sysreset.h>
11#include <asm/scu.h>
12
13static int tangier_sysreset_request(struct udevice *dev, enum sysreset_t type)
14{
15 int value;
16
17 switch (type) {
18 case SYSRESET_WARM:
19 value = IPCMSG_WARM_RESET;
20 break;
21 case SYSRESET_COLD:
22 value = IPCMSG_COLD_RESET;
23 break;
24 default:
25 return -ENOSYS;
26 }
27
28 scu_ipc_simple_command(value, 0);
29
30 return -EINPROGRESS;
31}
32
33static const struct udevice_id tangier_sysreset_ids[] = {
34 { .compatible = "intel,reset-tangier" },
35 { }
36};
37
38static struct sysreset_ops tangier_sysreset_ops = {
39 .request = tangier_sysreset_request,
40};
41
42U_BOOT_DRIVER(tangier_sysreset) = {
43 .name = "tangier-sysreset",
44 .id = UCLASS_SYSRESET,
45 .of_match = tangier_sysreset_ids,
46 .ops = &tangier_sysreset_ops,
4c99ccfe 47};