/*
 * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

/* Power Button */
Device (PWRB)
{
	Name(_HID, EISAID("PNP0C0C"))
}

/* TODO: Need add Nuvoton SuperIO chipset NCT6102D ASL codes */
