[s5p6818-next Fire3] implemented support for board power-off via PWRKEY

This commit is contained in:
5kft 2018-11-18 16:52:31 +00:00
parent b0f92ee58c
commit 1301f9f8c2
2 changed files with 64 additions and 13 deletions

View file

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.14.79 Kernel Configuration
# Linux/arm64 4.14.81 Kernel Configuration
#
CONFIG_ARM64=y
CONFIG_64BIT=y
@ -1980,7 +1980,35 @@ CONFIG_INPUT_EVDEV=y
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
@ -2083,10 +2111,10 @@ CONFIG_RMI4_F30=y
#
# Hardware I/O ports
#
CONFIG_SERIO=m
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_AMBAKMI=m
CONFIG_SERIO_LIBPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
# CONFIG_SERIO_ALTERA_PS2 is not set
CONFIG_SERIO_PS2MULT=m

View file

@ -1,5 +1,5 @@
diff --git a/arch/arm64/boot/dts/nexell/Makefile b/arch/arm64/boot/dts/nexell/Makefile
index 46364d6..7f4dcad 100644
index 46364d6a..7f4dcadb 100644
--- a/arch/arm64/boot/dts/nexell/Makefile
+++ b/arch/arm64/boot/dts/nexell/Makefile
@@ -1,4 +1,5 @@
@ -10,10 +10,10 @@ index 46364d6..7f4dcad 100644
subdir-y := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/nexell/s5p6818-nanopi-fire3.dts b/arch/arm64/boot/dts/nexell/s5p6818-nanopi-fire3.dts
new file mode 100644
index 0000000..dc9041e
index 00000000..25ac71dd
--- /dev/null
+++ b/arch/arm64/boot/dts/nexell/s5p6818-nanopi-fire3.dts
@@ -0,0 +1,814 @@
@@ -0,0 +1,837 @@
+/*
+ * Copyright (C) 2016 Nexell Co., Ltd.
+ * Author: Youngbok, Park <ybpark@nexell.co.kr>
@ -36,6 +36,7 @@ index 0000000..dc9041e
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/input/input.h>
+#include "s5p6818.dtsi"
+
+#define PMIC_PDATA_INIT(_id, _rname, _minuv, \
@ -406,6 +407,13 @@ index 0000000..dc9041e
+ };
+
+ pinctrl@C0010000 {
+ key_power: key_power {
+ nexell,pins = "alive-0";
+ nexell,pin-function = <0>;
+ nexell,pin-pull = <1>;
+ nexell,pin-strength = <0>;
+ };
+
+ touchpanel_irq: touchpanel-irq {
+ nexell,pins = "gpioc-16";
+ nexell,pin-function = <1>;
@ -707,6 +715,21 @@ index 0000000..dc9041e
+ };
+ };
+
+ gpio_key: gpio_keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&key_power>;
+
+ power {
+ label = "Power";
+ gpios = <&alive_0 0 0>;
+ linux,code = <KEY_POWER>;
+ gpio-key,wakeup;
+ };
+ };
+
+ spdif_out: spdif-out {
+ #sound-dai-cells = <0>;
+ compatible = "linux,spdif-dit";
@ -829,7 +852,7 @@ index 0000000..dc9041e
+};
+
diff --git a/arch/arm64/configs/nanopim3_defconfig b/arch/arm64/configs/nanopim3_defconfig
index 662657a..fba15ac 100644
index 662657a2..fba15ac2 100644
--- a/arch/arm64/configs/nanopim3_defconfig
+++ b/arch/arm64/configs/nanopim3_defconfig
@@ -2032,8 +2032,8 @@ CONFIG_THERMAL_GOV_STEP_WISE=y
@ -852,7 +875,7 @@ index 662657a..fba15ac 100644
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS65023 is not set
diff --git a/drivers/cpufreq/nexell-cpufreq.c b/drivers/cpufreq/nexell-cpufreq.c
index 94a0012..7acf28b 100644
index 94a00121..f698a270 100644
--- a/drivers/cpufreq/nexell-cpufreq.c
+++ b/drivers/cpufreq/nexell-cpufreq.c
@@ -713,6 +713,7 @@ static void *nxp_cpufreq_make_table(struct platform_device *pdev,
@ -909,7 +932,7 @@ index 94a0012..7acf28b 100644
freq_table[id].frequency = CPUFREQ_TABLE_END;
*table_size = id;
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 32763d8..db3f7cb 100644
index 32763d82..db3f7cb8 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -776,6 +776,12 @@ config REGULATOR_STM32_VREFBUF
@ -926,7 +949,7 @@ index 32763d8..db3f7cb 100644
tristate "TI Adaptive Body Bias on-chip LDO"
depends on ARCH_OMAP
diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
index 24b2ff3..4e6ddfe 100644
index 24b2ff3f..4e6ddfec 100644
--- a/drivers/regulator/Makefile
+++ b/drivers/regulator/Makefile
@@ -96,6 +96,7 @@ obj-$(CONFIG_REGULATOR_S2MPA01) += s2mpa01.o
@ -939,7 +962,7 @@ index 24b2ff3..4e6ddfe 100644
obj-$(CONFIG_REGULATOR_TI_ABB) += ti-abb-regulator.o
diff --git a/drivers/regulator/spu1705.c b/drivers/regulator/spu1705.c
new file mode 100644
index 0000000..b021e5d
index 00000000..b021e5d4
--- /dev/null
+++ b/drivers/regulator/spu1705.c
@@ -0,0 +1,596 @@
@ -1541,7 +1564,7 @@ index 0000000..b021e5d
+MODULE_DESCRIPTION("SPU1705 PMIC driver");
diff --git a/include/linux/regulator/spu1705.h b/include/linux/regulator/spu1705.h
new file mode 100644
index 0000000..03fce65
index 00000000..03fce65e
--- /dev/null
+++ b/include/linux/regulator/spu1705.h
@@ -0,0 +1,44 @@