19c92ab61SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 265b935aaSMarc Dietrich /* 365b935aaSMarc Dietrich * arch/arm/mach-tegra/board-paz00.c 465b935aaSMarc Dietrich * 565b935aaSMarc Dietrich * Copyright (C) 2011 Marc Dietrich <marvin24@gmx.de> 665b935aaSMarc Dietrich * 765b935aaSMarc Dietrich * Based on board-harmony.c 865b935aaSMarc Dietrich * Copyright (C) 2010 Google, Inc. 965b935aaSMarc Dietrich */ 1065b935aaSMarc Dietrich 11d54bbaf4SHeikki Krogerus #include <linux/property.h> 120a6d3158SLinus Walleij #include <linux/gpio/machine.h> 13a0524accSThierry Reding #include <linux/platform_device.h> 14a0524accSThierry Reding 1565b935aaSMarc Dietrich #include "board.h" 1665b935aaSMarc Dietrich 17ed0a27efSDmitry Torokhov static struct property_entry wifi_rfkill_prop[] __initdata = { 18d54bbaf4SHeikki Krogerus PROPERTY_ENTRY_STRING("name", "wifi_rfkill"), 19d54bbaf4SHeikki Krogerus PROPERTY_ENTRY_STRING("type", "wlan"), 20d54bbaf4SHeikki Krogerus { }, 21d54bbaf4SHeikki Krogerus }; 22d54bbaf4SHeikki Krogerus 239aaa15a7SMarc Dietrich static struct platform_device wifi_rfkill_device = { 249aaa15a7SMarc Dietrich .name = "rfkill_gpio", 259aaa15a7SMarc Dietrich .id = -1, 269aaa15a7SMarc Dietrich }; 279aaa15a7SMarc Dietrich 287bb3ed21SHeikki Krogerus static struct gpiod_lookup_table wifi_gpio_lookup = { 297bb3ed21SHeikki Krogerus .dev_id = "rfkill_gpio", 307bb3ed21SHeikki Krogerus .table = { 31e77b675fSDmitry Osipenko GPIO_LOOKUP("tegra-gpio", 25, "reset", 0), 32e77b675fSDmitry Osipenko GPIO_LOOKUP("tegra-gpio", 85, "shutdown", 0), 337bb3ed21SHeikki Krogerus { }, 347bb3ed21SHeikki Krogerus }, 357bb3ed21SHeikki Krogerus }; 367bb3ed21SHeikki Krogerus 37b64a02c6SStephen Warren void __init tegra_paz00_wifikill_init(void) 38b64a02c6SStephen Warren { 39f4d05266SHeikki Krogerus platform_device_add_properties(&wifi_rfkill_device, wifi_rfkill_prop); 407bb3ed21SHeikki Krogerus gpiod_add_lookup_table(&wifi_gpio_lookup); 41b64a02c6SStephen Warren platform_device_register(&wifi_rfkill_device); 42b64a02c6SStephen Warren } 43