forked from Minki/linux
2874c5fd28
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 as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Simple Reset Controller ops
|
|
*
|
|
* Based on Allwinner SoCs Reset Controller driver
|
|
*
|
|
* Copyright 2013 Maxime Ripard
|
|
*
|
|
* Maxime Ripard <maxime.ripard@free-electrons.com>
|
|
*/
|
|
|
|
#ifndef __RESET_SIMPLE_H__
|
|
#define __RESET_SIMPLE_H__
|
|
|
|
#include <linux/io.h>
|
|
#include <linux/reset-controller.h>
|
|
#include <linux/spinlock.h>
|
|
|
|
/**
|
|
* struct reset_simple_data - driver data for simple reset controllers
|
|
* @lock: spinlock to protect registers during read-modify-write cycles
|
|
* @membase: memory mapped I/O register range
|
|
* @rcdev: reset controller device base structure
|
|
* @active_low: if true, bits are cleared to assert the reset. Otherwise, bits
|
|
* are set to assert the reset. Note that this says nothing about
|
|
* the voltage level of the actual reset line.
|
|
* @status_active_low: if true, bits read back as cleared while the reset is
|
|
* asserted. Otherwise, bits read back as set while the
|
|
* reset is asserted.
|
|
*/
|
|
struct reset_simple_data {
|
|
spinlock_t lock;
|
|
void __iomem *membase;
|
|
struct reset_controller_dev rcdev;
|
|
bool active_low;
|
|
bool status_active_low;
|
|
};
|
|
|
|
extern const struct reset_control_ops reset_simple_ops;
|
|
|
|
#endif /* __RESET_SIMPLE_H__ */
|