162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * DEC platform devices. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2014 Maciej W. Rozycki 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <linux/ioport.h> 962306a36Sopenharmony_ci#include <linux/kernel.h> 1062306a36Sopenharmony_ci#include <linux/mc146818rtc.h> 1162306a36Sopenharmony_ci#include <linux/platform_device.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cistatic struct resource dec_rtc_resources[] = { 1462306a36Sopenharmony_ci { 1562306a36Sopenharmony_ci .name = "rtc", 1662306a36Sopenharmony_ci .flags = IORESOURCE_MEM, 1762306a36Sopenharmony_ci }, 1862306a36Sopenharmony_ci}; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistatic struct cmos_rtc_board_info dec_rtc_info = { 2162306a36Sopenharmony_ci .flags = CMOS_RTC_FLAGS_NOFREQ, 2262306a36Sopenharmony_ci .address_space = 64, 2362306a36Sopenharmony_ci}; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_cistatic struct platform_device dec_rtc_device = { 2662306a36Sopenharmony_ci .name = "rtc_cmos", 2762306a36Sopenharmony_ci .id = PLATFORM_DEVID_NONE, 2862306a36Sopenharmony_ci .dev.platform_data = &dec_rtc_info, 2962306a36Sopenharmony_ci .resource = dec_rtc_resources, 3062306a36Sopenharmony_ci .num_resources = ARRAY_SIZE(dec_rtc_resources), 3162306a36Sopenharmony_ci}; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_cistatic int __init dec_add_devices(void) 3462306a36Sopenharmony_ci{ 3562306a36Sopenharmony_ci dec_rtc_resources[0].start = RTC_PORT(0); 3662306a36Sopenharmony_ci dec_rtc_resources[0].end = RTC_PORT(0) + dec_kn_slot_size - 1; 3762306a36Sopenharmony_ci return platform_device_register(&dec_rtc_device); 3862306a36Sopenharmony_ci} 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_cidevice_initcall(dec_add_devices); 41