2024-06-15 16:02:09 -03:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
/*
|
|
|
|
* Samsung's Exynos4412 based SMDK board device tree source
|
|
|
|
*
|
|
|
|
* Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
|
|
|
|
* http://www.samsung.com
|
|
|
|
*
|
|
|
|
* Device tree source file for Samsung's SMDK4412 board which is based on
|
|
|
|
* Samsung's Exynos4412 SoC.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/dts-v1/;
|
|
|
|
#include "exynos4412.dtsi"
|
|
|
|
#include "exynos-mfc-reserved-memory.dtsi"
|
|
|
|
|
|
|
|
/ {
|
|
|
|
model = "Samsung SMDK evaluation board based on Exynos4412";
|
|
|
|
compatible = "samsung,smdk4412", "samsung,exynos4412", "samsung,exynos4";
|
|
|
|
|
|
|
|
memory@40000000 {
|
|
|
|
device_type = "memory";
|
|
|
|
reg = <0x40000000 0x40000000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
chosen {
|
|
|
|
bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
|
|
|
|
stdout-path = "serial1:115200n8";
|
|
|
|
};
|
|
|
|
|
|
|
|
fixed-rate-clocks {
|
|
|
|
xxti {
|
|
|
|
compatible = "samsung,clock-xxti";
|
|
|
|
clock-frequency = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
xusbxti {
|
|
|
|
compatible = "samsung,clock-xusbxti";
|
|
|
|
clock-frequency = <24000000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pmic_ap_clk: pmic-ap-clk {
|
|
|
|
/* Workaround for missing clock on PMIC */
|
|
|
|
compatible = "fixed-clock";
|
|
|
|
#clock-cells = <0>;
|
|
|
|
clock-frequency = <32768>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&cpu_thermal {
|
|
|
|
cooling-maps {
|
|
|
|
cooling_map0: map0 {
|
|
|
|
/* Corresponds to 800MHz at freq_table */
|
|
|
|
cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
|
|
|
|
<&cpu2 7 7>, <&cpu3 7 7>;
|
|
|
|
};
|
|
|
|
cooling_map1: map1 {
|
|
|
|
/* Corresponds to 200MHz at freq_table */
|
|
|
|
cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
|
|
|
|
<&cpu2 13 13>, <&cpu3 13 13>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&keypad {
|
|
|
|
samsung,keypad-num-rows = <3>;
|
|
|
|
samsung,keypad-num-columns = <8>;
|
ARM: dts: samsung: smdk4412: fix keypad no-autorepeat
[ Upstream commit 4ac4c1d794e7ff454d191bbdab7585ed8dbf3758 ]
Although the Samsung SoC keypad binding defined
linux,keypad-no-autorepeat property, Linux driver never implemented it
and always used linux,input-no-autorepeat. Correct the DTS to use
property actually implemented.
This also fixes dtbs_check errors like:
exynos4412-smdk4412.dtb: keypad@100a0000: 'key-A', 'key-B', 'key-C', 'key-D', 'key-E', 'linux,keypad-no-autorepeat' do not match any of the regexes: '^key-[0-9a-z]+$', 'pinctrl-[0-9]+'
Cc: <stable@vger.kernel.org>
Fixes: c9b92dd70107 ("ARM: dts: Add keypad entries to SMDK4412")
Link: https://lore.kernel.org/r/20240312183105.715735-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-12 19:31:04 +01:00
|
|
|
linux,input-no-autorepeat;
|
2024-06-15 16:02:09 -03:00
|
|
|
wakeup-source;
|
|
|
|
pinctrl-0 = <&keypad_rows &keypad_cols>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
key_1 {
|
|
|
|
keypad,row = <1>;
|
|
|
|
keypad,column = <3>;
|
|
|
|
linux,code = <2>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_2 {
|
|
|
|
keypad,row = <1>;
|
|
|
|
keypad,column = <4>;
|
|
|
|
linux,code = <3>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_3 {
|
|
|
|
keypad,row = <1>;
|
|
|
|
keypad,column = <5>;
|
|
|
|
linux,code = <4>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_4 {
|
|
|
|
keypad,row = <1>;
|
|
|
|
keypad,column = <6>;
|
|
|
|
linux,code = <5>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_5 {
|
|
|
|
keypad,row = <1>;
|
|
|
|
keypad,column = <7>;
|
|
|
|
linux,code = <6>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_A {
|
|
|
|
keypad,row = <2>;
|
|
|
|
keypad,column = <6>;
|
|
|
|
linux,code = <30>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_B {
|
|
|
|
keypad,row = <2>;
|
|
|
|
keypad,column = <7>;
|
|
|
|
linux,code = <48>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_C {
|
|
|
|
keypad,row = <0>;
|
|
|
|
keypad,column = <5>;
|
|
|
|
linux,code = <46>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_D {
|
|
|
|
keypad,row = <2>;
|
|
|
|
keypad,column = <5>;
|
|
|
|
linux,code = <32>;
|
|
|
|
};
|
|
|
|
|
|
|
|
key_E {
|
|
|
|
keypad,row = <0>;
|
|
|
|
keypad,column = <7>;
|
|
|
|
linux,code = <18>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&pinctrl_1 {
|
|
|
|
keypad_rows: keypad-rows {
|
|
|
|
samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
|
|
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
|
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
|
|
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
keypad_cols: keypad-cols {
|
|
|
|
samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
|
|
|
|
"gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
|
|
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
|
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
|
|
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&rtc {
|
|
|
|
clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
|
|
|
|
clock-names = "rtc", "rtc_src";
|
|
|
|
};
|
|
|
|
|
|
|
|
&sdhci_2 {
|
|
|
|
bus-width = <4>;
|
|
|
|
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&serial_0 {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&serial_1 {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&serial_2 {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&serial_3 {
|
|
|
|
status = "okay";
|
|
|
|
};
|