18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/arm/mach-tegra/board-paz00.c 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2011 Marc Dietrich <marvin24@gmx.de> 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Based on board-harmony.c 88c2ecf20Sopenharmony_ci * Copyright (C) 2010 Google, Inc. 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <linux/property.h> 128c2ecf20Sopenharmony_ci#include <linux/gpio/machine.h> 138c2ecf20Sopenharmony_ci#include <linux/platform_device.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#include "board.h" 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_cistatic struct property_entry wifi_rfkill_prop[] __initdata = { 188c2ecf20Sopenharmony_ci PROPERTY_ENTRY_STRING("name", "wifi_rfkill"), 198c2ecf20Sopenharmony_ci PROPERTY_ENTRY_STRING("type", "wlan"), 208c2ecf20Sopenharmony_ci { }, 218c2ecf20Sopenharmony_ci}; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_cistatic struct platform_device wifi_rfkill_device = { 248c2ecf20Sopenharmony_ci .name = "rfkill_gpio", 258c2ecf20Sopenharmony_ci .id = -1, 268c2ecf20Sopenharmony_ci}; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_cistatic struct gpiod_lookup_table wifi_gpio_lookup = { 298c2ecf20Sopenharmony_ci .dev_id = "rfkill_gpio", 308c2ecf20Sopenharmony_ci .table = { 318c2ecf20Sopenharmony_ci GPIO_LOOKUP("tegra-gpio", 25, "reset", 0), 328c2ecf20Sopenharmony_ci GPIO_LOOKUP("tegra-gpio", 85, "shutdown", 0), 338c2ecf20Sopenharmony_ci { }, 348c2ecf20Sopenharmony_ci }, 358c2ecf20Sopenharmony_ci}; 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_civoid __init tegra_paz00_wifikill_init(void) 388c2ecf20Sopenharmony_ci{ 398c2ecf20Sopenharmony_ci platform_device_add_properties(&wifi_rfkill_device, wifi_rfkill_prop); 408c2ecf20Sopenharmony_ci gpiod_add_lookup_table(&wifi_gpio_lookup); 418c2ecf20Sopenharmony_ci platform_device_register(&wifi_rfkill_device); 428c2ecf20Sopenharmony_ci} 43