base: remove deprecated driver files

As far as I can tell, these file are not used anymore.

Ref #4081
This commit is contained in:
Martin Stein 2024-01-08 12:57:57 +01:00 committed by Christian Helmuth
parent 7ea020d471
commit ee6f5f3b1b
5 changed files with 0 additions and 250 deletions

View File

@ -1,61 +0,0 @@
/*
* \brief Driver for the platform specific functionality for bcm2837
* \author Tomasz Gajewski
* \date 2019-12-28
*/
/*
* Copyright (C) 2011-2019 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef _INCLUDE__DRIVERS__PLATFORM__BCM2837_CONTROL_H_
#define _INCLUDE__DRIVERS__PLATFORM__BCM2837_CONTROL_H_
/* Genode includes */
#include <util/mmio.h>
namespace Genode { class Bcm2837_control; }
class Genode::Bcm2837_control : Mmio
{
public:
struct ControlRegister : public Register<0x0, 32>
{
struct CoreTimeClockSource : Bitfield<8,1> { };
struct TimerIncrement : Bitfield<9,1> { };
};
struct CoreTimerPrescaler : public Register<0x8, 32>
{
};
inline Bcm2837_control(addr_t const base);
inline void initialize_timer_frequency();
};
Genode::Bcm2837_control::Bcm2837_control(addr_t const base)
:
Mmio(base)
{ }
void Genode::Bcm2837_control::initialize_timer_frequency()
{
/*
* Set prescaler value to achieve divider value equal to 1.
* Value taken from chapter "3.1.1 Timer clock" from QA7_rev3.4.pdf
* document describing the BCM2836 chip.
*/
write<CoreTimerPrescaler>(0x80000000);
}
#endif /* _INCLUDE__DRIVERS__PLATFORM__BCM2837_CONTROL_H_ */

View File

@ -1,9 +0,0 @@
TARGET = imx7_timer_drv
REQUIRES = arm_v7
GEN_DIR := $(BASE_DIR)/src/timer
INC_DIR += $(GEN_DIR)/gpt
SRC_CC += gpt/time_source.cc gpt/imx7/timer.cc
include $(GEN_DIR)/target.inc
vpath %.cc $(GEN_DIR)

View File

@ -1,29 +0,0 @@
/*
* \brief Time source for i.MX7 (GPT1)
* \author Stefan Kalkowski
* \date 2019-04-13
*/
/*
* Copyright (C) 2019 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
/* local include */
#include <time_source.h>
using namespace Genode;
enum {
MMIO_BASE = 0x302d0000,
MMIO_SIZE = 0x1000,
IRQ = 87,
};
Timer::Time_source::Time_source(Env &env)
: Attached_mmio(env, MMIO_BASE, MMIO_SIZE),
Signalled_time_source(env),
_timer_irq(env, unsigned(IRQ)) { _initialize(); }

View File

@ -1,75 +0,0 @@
/*
* \brief Time source that uses the General Purpose Timer (Freescale)
* \author Stefan Kalkowski
* \date 2019-04-13
*/
/*
* Copyright (C) 2019 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
/* local includes */
#include <time_source.h>
using namespace Genode;
void Timer::Time_source::set_timeout(Genode::Microseconds duration,
Timeout_handler &handler)
{
_handler = &handler;
/* set to minimum ticks value to not miss a too short timeout */
uint32_t const ticks =
max((uint32_t)1, (uint32_t)((duration.value * TICKS_PER_MS) / 1000));
/* clear interrupts */
if (read<Sr>()) {
write<Sr>(0xffffffff);
_timer_irq.ack_irq();
}
/* set new timeout */
write<Ocr1>(read<Cnt>() + ticks);
}
Duration Timer::Time_source::curr_time()
{
Cnt::access_t cur_cnt = read<Cnt>();
Genode::Microseconds us(timer_ticks_to_us(cur_cnt - _last_cnt, TICKS_PER_MS));
_last_cnt = cur_cnt;
_curr_time.add(us);
return _curr_time;
}
Microseconds Timer::Time_source::max_timeout() const
{
static unsigned long max = timer_ticks_to_us(0xffffffff, TICKS_PER_MS);
return Genode::Microseconds(max);
}
void Timer::Time_source::_initialize()
{
_timer_irq.sigh(_signal_handler);
write<Cr>(0);
write<Ir>(0);
write<Ocr1>(0);
write<Ocr2>(0);
write<Ocr3>(0);
write<Icr1>(0);
write<Icr2>(0);
write<Cr::Clk_src>(Cr::Clk_src::HIGH_FREQ_REF_CLK);
while (read<Cr::Swr>()) ;
write<Sr>(0);
write<Cr::Frr>(1);
write<Cr::En_mod>(1);
write<Cr::En>(1);
write<Ir>(1);
}

View File

@ -1,76 +0,0 @@
/*
* \brief Time source that uses the General Purpose Timer (Freescale)
* \author Stefan Kalkowski
* \date 2019-04-13
*/
/*
* Copyright (C) 2019 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef _TIME_SOURCE_H_
#define _TIME_SOURCE_H_
/* Genode includes */
#include <irq_session/connection.h>
#include <os/attached_mmio.h>
#include <drivers/timer/util.h>
/* local includes */
#include <signalled_time_source.h>
namespace Timer { class Time_source; }
class Timer::Time_source : private Genode::Attached_mmio,
public Genode::Signalled_time_source
{
private:
enum { TICKS_PER_MS = 500 };
struct Cr : Register<0x0, 32>
{
struct En : Bitfield<0, 1> { };
struct En_mod : Bitfield<1, 1> { };
struct Clk_src : Bitfield<6, 3> { enum { HIGH_FREQ_REF_CLK = 2 }; };
struct Frr : Bitfield<9, 1> { };
struct Swr : Bitfield<15, 1> { };
};
struct Pr : Register<0x4, 32> { };
struct Sr : Register<0x8, 32> { };
struct Ir : Register<0xc, 32> { };
struct Ocr1 : Register<0x10, 32> { };
struct Ocr2 : Register<0x14, 32> { };
struct Ocr3 : Register<0x18, 32> { };
struct Icr1 : Register<0x1c, 32> { };
struct Icr2 : Register<0x20, 32> { };
struct Cnt : Register<0x24, 32> { };
Genode::Irq_connection _timer_irq;
Genode::Duration _curr_time { Genode::Microseconds(0) };
Cnt::access_t _last_cnt { 0 };
void _initialize();
public:
Time_source(Genode::Env &env);
/*************************
** Genode::Time_source **
*************************/
Genode::Duration curr_time() override;
void set_timeout(Genode::Microseconds duration,
Genode::Timeout_handler &handler) override;
Genode::Microseconds max_timeout() const override;
};
#endif /* _TIME_SOURCE_H_ */