From c18aba7916155da81ee6f0434845119aa9f58935 Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Mon, 7 Oct 2019 16:16:41 +0900 Subject: [PATCH 01/11] ODROID-C4: dts/amlogic: add new devcie entry 'gpio_keypad' Change-Id: I4a030a4f30ed0533ab621f59707d3492c4f37f6a Signed-off-by: Dongjin Kim --- arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index 44211817af1d..be449fcf9a6c 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -735,6 +735,16 @@ status = "okay"; }; /* Audio Related end */ + + gpio_keypad{ + compatible = "amlogic, gpio_keypad"; + status = "okay"; + scan_period = <20>; + key_num = <1>; + key_name = "power"; + key_code = <116>; + reg = <0x0 0xFF800000 0x0 0x400>; + }; }; /* end of / */ &audiobus { From 0542ffb7aa5591c1a79a8dee41867fc2331f4eda Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Mon, 7 Oct 2019 16:33:34 +0900 Subject: [PATCH 02/11] ODROID-C4: dts/amlogic: add new device entry 'hk-lirc-helper' Change-Id: I01436b5db20446993ae4df10c4e4523edfe9d9e8 Signed-off-by: Dongjin Kim --- arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index be449fcf9a6c..35a8676ca32a 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -745,6 +745,13 @@ key_code = <116>; reg = <0x0 0xFF800000 0x0 0x400>; }; + + hk-lirc-helper { + compatible = "hk-lirc-helper"; + /* Multi-format IR controller */ + reg = <0x0 0xff808040 0x0 0x44>; + status = "ok"; + }; }; /* end of / */ &audiobus { From 78888e94b3eb503de55b118feb63710b43f6fc29 Mon Sep 17 00:00:00 2001 From: Deokgyu Yang Date: Wed, 1 Apr 2020 18:41:35 +0900 Subject: [PATCH 03/11] ODROID-C4: arm64/dts: Add hktft35 node to support HK 3.5 inch touchscreen shield Signed-off-by: Deokgyu Yang Change-Id: I82200d59e4a1a6b90e3fa04f176154d250202f5f --- .../boot/dts/amlogic/meson64_odroidc4.dts | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index 35a8676ca32a..849457f1d9ed 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -752,6 +752,53 @@ reg = <0x0 0xff808040 0x0 0x44>; status = "ok"; }; + + hktft35 { + status = "disabled"; + compatible = "odroid,hktft35"; + pinctrl-names = "hktft35"; + pinctrl-0 = <&hktft35_pins>; + + rotate = <270>; + bgr; + fps = <20>; + bpp = <16>; + reset-gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; + dc-gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>; + wr-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; + cs-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>; + led-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; + db-gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_2 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_0 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_11 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_9 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_8 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_7 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; + debug = <0>; + + hktft35_pins: hktft35_pins { + mux { + groups = "GPIOX_0", + "GPIOX_1", + "GPIOX_2", + "GPIOX_3", + "GPIOX_4", + "GPIOX_6", + "GPIOX_7", + "GPIOX_8", + "GPIOX_9", + "GPIOX_10", + "GPIOX_11", + "GPIOX_14", + "GPIOX_16"; + function = "gpio_periphs"; + output-high; + drive-strength = <3>; + }; + }; + }; }; /* end of / */ &audiobus { From 3f432598a45a3083ea1950591ade8f12f87bbabc Mon Sep 17 00:00:00 2001 From: Hyeonki Hong Date: Fri, 17 Apr 2020 16:14:51 +0900 Subject: [PATCH 04/11] ODROID-COMMON: arm64/dts: modify i2c alias bus number Change-Id: I94d1bc2f56bac1af6c7b45ab1b9bf8cbf50407c1 (cherry picked from commit 842d3137e635a69984da21192333e6c147ec4e8d) --- arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi | 6 +++--- arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi b/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi index 9eaa2b00dacf..d54842d7c289 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi @@ -22,9 +22,9 @@ serial2 = &uart_B; serial3 = &uart_C; serial4 = &uart_AO_B; - i2c0 = &i2c0; - i2c1 = &i2c2; - i2c2 = &i2c3; + i2c0 = &i2c2; + i2c1 = &i2c3; + i2c2 = &i2c0; i2c3 = &i2c1; i2c4 = &i2c_AO; tsensor0 = &p_tsensor; diff --git a/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi b/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi index 5d51a94ae27d..fdbd4b79ee04 100644 --- a/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi @@ -22,9 +22,9 @@ serial2 = &uart_B; serial3 = &uart_C; serial4 = &uart_AO_B; - i2c0 = &i2c0; - i2c1 = &i2c2; - i2c2 = &i2c3; + i2c0 = &i2c2; + i2c1 = &i2c3; + i2c2 = &i2c0; i2c3 = &i2c1; i2c4 = &i2c_AO; tsensor0 = &p_tsensor; From e2caa033f97e361a93b3690de480dba1a324c16e Mon Sep 17 00:00:00 2001 From: Luke Go Date: Mon, 27 Apr 2020 14:43:55 +0900 Subject: [PATCH 05/11] ODROID-COMMON: arm64/dts: Support device tree overlay. - Support device tree overlay to modify peripherals states. By using this feature, we can select the peripheral state like on/off. -To use this feature, you should change a "overlays" value of env.ini files. Change-Id: Ibf9e7bf676a4d470f991350508dc7b84b2ea80fa Signed-off-by: Luke Go --- arch/arm64/Makefile | 2 +- arch/arm64/boot/dts/.gitignore | 1 + arch/arm64/boot/dts/amlogic/Makefile | 7 +- .../boot/dts/amlogic/meson64_odroidc4.dts | 18 +- .../boot/dts/amlogic/meson64_odroidn2.dts | 189 ++++++++---------- .../dts/amlogic/overlays/odroidc4/Makefile | 15 ++ .../dts/amlogic/overlays/odroidc4/hktft32.dts | 28 +++ .../dts/amlogic/overlays/odroidc4/hktft35.dts | 28 +++ .../dts/amlogic/overlays/odroidc4/i2c2.dts | 12 ++ .../dts/amlogic/overlays/odroidc4/i2c3.dts | 12 ++ .../dts/amlogic/overlays/odroidc4/pcf8563.dts | 20 ++ .../dts/amlogic/overlays/odroidc4/pcm5242.dts | 20 ++ .../dts/amlogic/overlays/odroidc4/spi0.dts | 20 ++ .../dts/amlogic/overlays/odroidc4/uarta.dts | 12 ++ .../dts/amlogic/overlays/odroidc4/uartb.dts | 12 ++ .../dts/amlogic/overlays/odroidc4/uartc.dts | 12 ++ .../dts/amlogic/overlays/odroidn2/Makefile | 15 ++ .../dts/amlogic/overlays/odroidn2/hktft32.dts | 28 +++ .../dts/amlogic/overlays/odroidn2/hktft35.dts | 28 +++ .../dts/amlogic/overlays/odroidn2/i2c0.dts | 14 ++ .../dts/amlogic/overlays/odroidn2/i2c1.dts | 14 ++ .../amlogic/overlays/odroidn2/irblaster.dts | 12 ++ .../overlays/odroidn2/odroidn2-opp.dts | 118 +++++++++++ .../dts/amlogic/overlays/odroidn2/saradc.dts | 12 ++ .../dts/amlogic/overlays/odroidn2/spi0.dts | 20 ++ .../dts/amlogic/overlays/odroidn2/uarta.dts | 12 ++ .../dts/amlogic/overlays/odroidn2/uartb.dts | 12 ++ scripts/Makefile.dtbinst | 8 +- 28 files changed, 581 insertions(+), 120 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c2.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c3.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/uarta.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartb.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartc.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c0.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c1.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/irblaster.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/odroidn2-opp.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/saradc.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/uarta.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/uartb.dts diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 1412c114b413..fa2533562090 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -156,7 +156,7 @@ PHONY += dtbs dtbs_install dtbs: prepare scripts $(Q)$(MAKE) $(build)=$(boot)/dts -dtbs_install: prepare scripts +dtbs_install: $(Q)$(MAKE) $(dtbinst)=$(boot)/dts Image-dtb Image.gz-dtb: vmlinux scripts dtbs diff --git a/arch/arm64/boot/dts/.gitignore b/arch/arm64/boot/dts/.gitignore index b60ed208c779..77ed402cbbc8 100644 --- a/arch/arm64/boot/dts/.gitignore +++ b/arch/arm64/boot/dts/.gitignore @@ -1 +1,2 @@ *.dtb +*.dtbo diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index 83124f5422f6..1469dcda53b5 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -1,12 +1,15 @@ +ifndef CONFIG_ARCH_MESON64_ODROID_COMMON dtb-y += g12a_s905d2_skt.dtb dtb-y += g12a_s905d2_skt_buildroot.dtb dtb-y += g12a_s905d2_u200_buildroot.dtb dtb-y += g12a_s905d2_u200_drm_buildroot.dtb dtb-y += g12b_a311d_w400.dtb dtb-y += g12b_a311d_w400_buildroot.dtb -dtb-$(CONFIG_ARCH_MESON64_ODROIDC3) += meson64_odroidc3.dtb -dtb-$(CONFIG_ARCH_MESON64_ODROIDC3) += meson64_odroidc3_android.dtb +endif dtb-$(CONFIG_ARCH_MESON64_ODROIDC4) += meson64_odroidc4.dtb dtb-$(CONFIG_ARCH_MESON64_ODROIDC4) += meson64_odroidc4_android.dtb dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += meson64_odroidn2.dtb dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += meson64_odroidn2_android.dtb + +subdir-$(CONFIG_ARCH_MESON64_ODROIDC4) := overlays/odroidc4 +subdir-$(CONFIG_ARCH_MESON64_ODROIDN2) := overlays/odroidn2 diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index 849457f1d9ed..4be09287a56a 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -753,7 +753,7 @@ status = "ok"; }; - hktft35 { + hktft35: hktft35 { status = "disabled"; compatible = "odroid,hktft35"; pinctrl-names = "hktft35"; @@ -850,7 +850,7 @@ }; /* end of audiobus */ &uart_A { - status = "okay"; + status = "disabled"; }; &usb3_phy_v2 { @@ -935,7 +935,7 @@ }; /* end of pinctrl_aobus */ &spicc0 { - status = "okay"; + status = "disabled"; /* 40 Pin Header : MOSI(GPIOX.8->19 Pin), MISO(GPIOX.9->21 Pin), @@ -958,8 +958,8 @@ gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; }; - spidev@0 { - status = "okay"; + spidev: spidev@0 { + status = "disabled"; compatible = "linux,spidev"; /* spi default max clock 100Mhz */ @@ -968,7 +968,7 @@ }; /* SPI 3.2" Touch Screen Define */ - ads7846@1 { + ads7846: ads7846@1 { status = "disabled"; spi-max-frequency = <1000000>; @@ -991,7 +991,7 @@ linux,wakeup; }; - hktft32@0 { + hktft32: hktft32@0 { status = "disabled"; compatible = "odroid,hktft32"; reg = <0>; @@ -1021,6 +1021,8 @@ }; &i2c2 { + status = "disabled"; + pcf8563: rtc@51 { status = "disabled"; compatible = "nxp,pcf8563"; @@ -1029,6 +1031,8 @@ }; &i2c3 { + status = "disabled"; + /* Hardkernel I2C 3.5" Touchscreen */ /* drivers/input/sx8650.c */ sx865x: sx865x@49 { diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts index 8adf1387b671..11c7e3c503ac 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts @@ -371,113 +371,11 @@ cpu_opp_table0: cpu_opp_table0 { compatible = "operating-points-v2"; opp-shared; - - opp00 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <731000>; - }; - opp01 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <731000>; - }; - opp02 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <731000>; - }; - opp03 { - opp-hz = /bits/ 64 <667000000>; - opp-microvolt = <731000>; - }; - opp04 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <731000>; - }; - opp05 { - opp-hz = /bits/ 64 <1200000000>; - opp-microvolt = <731000>; - }; - opp06 { - opp-hz = /bits/ 64 <1398000000>; - opp-microvolt = <761000>; - }; - opp07 { - opp-hz = /bits/ 64 <1512000000>; - opp-microvolt = <791000>; - }; - opp08 { - opp-hz = /bits/ 64 <1608000000>; - opp-microvolt = <831000>; - }; - opp09 { - opp-hz = /bits/ 64 <1704000000>; - opp-microvolt = <861000>; - }; - opp10 { - opp-hz = /bits/ 64 <1896000000>; - opp-microvolt = <981000>; - }; - opp11 { - opp-hz = /bits/ 64 <1992000000>; - opp-microvolt = <1001000>; - }; }; cpu_opp_table1: cpu_opp_table1 { compatible = "operating-points-v2"; opp-shared; - - opp00 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <751000>; - }; - opp01 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <751000>; - }; - opp02 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <751000>; - }; - opp03 { - opp-hz = /bits/ 64 <667000000>; - opp-microvolt = <751000>; - }; - opp04 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <771000>; - }; - opp05 { - opp-hz = /bits/ 64 <1200000000>; - opp-microvolt = <771000>; - }; - opp06 { - opp-hz = /bits/ 64 <1398000000>; - opp-microvolt = <791000>; - }; - opp07 { - opp-hz = /bits/ 64 <1512000000>; - opp-microvolt = <821000>; - }; - opp08 { - opp-hz = /bits/ 64 <1608000000>; - opp-microvolt = <861000>; - }; - opp09 { - opp-hz = /bits/ 64 <1704000000>; - opp-microvolt = <891000>; - }; - opp10 { - opp-hz = /bits/ 64 <1800000000>; - opp-microvolt = <981000>; - }; - opp11 { - opp-hz = /bits/ 64 <1908000000>; - opp-microvolt = <1022000>; - }; - opp12 { - opp-hz = /bits/ 64 <2004000000>; - opp-microvolt = <1022000>; - }; }; cpufreq-meson { @@ -502,6 +400,53 @@ reg = <0x0 0xff808040 0x0 0x44>; status = "ok"; }; + + hktft35: hktft35 { + status = "disabled"; + compatible = "odroid,hktft35"; + pinctrl-name = "hktft35"; + pinctrl-0 = <&hktft35_pins>; + + rotate = <270>; + bgr; + fps = <20>; + bpp = <16>; + reset-gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; + dc-gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>; + wr-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; + cs-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>; + led-gpios = <&gpio GPIOX_5 GPIO_ACTIVE_LOW>; + db-gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_2 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_0 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_11 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_9 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_8 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_7 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; + debug = <0>; + + hktft35_pins: hktft35_pins { + mux { + groups = "GPIOX_0", + "GPIOX_1", + "GPIOX_2", + "GPIOX_3", + "GPIOX_4", + "GPIOX_5", + "GPIOX_7", + "GPIOX_8", + "GPIOX_9", + "GPIOX_10", + "GPIOX_11", + "GPIOX_14", + "GPIOX_16"; + function = "gpio_periphs"; + output-high; + drive-strength = <3>; + }; + }; + }; }; /* end of / */ &meson_fb { @@ -567,11 +512,11 @@ }; &saradc { - status = "okay"; + status = "disabled"; }; &i2c2 { - status = "okay"; + status = "disabled"; pinctrl-names = "default","gpio_periphs"; /* 40 Pin Header : SDA(GPIOX.17->3 Pin), SCL(GPIOX.18->5 Pin) */ pinctrl-0 = <&i2c2_master_pins1>; @@ -582,7 +527,7 @@ &i2c3 { /* default i2c clock-frequency is 100Khz */ - status = "okay"; + status = "disabled"; /* Hardkernel I2C 3.5" Touchscreen */ /* drivers/input/sx8650.c */ @@ -605,7 +550,7 @@ }; &spicc0 { - status = "okay"; + status = "disabled"; /* 40 Pin Header : MOSI(GPIOX.8->19 Pin), MISO(GPIOX.9->21 Pin), @@ -628,8 +573,8 @@ gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; }; - spidev@0 { - status = "okay"; + spidev: spidev@0 { + status = "disabled"; compatible = "linux,spidev"; /* spi default max clock 100Mhz */ @@ -660,4 +605,32 @@ linux,wakeup; }; + + hktft32: hktft32@0 { + status = "disabled"; + compatible = "odroid,hktft32"; + reg = <0>; + pinctrl-names = "hktft32"; + pinctrl-0 = <&hktft32_pins>; + + spi-max-frequency = <40000000>; + rotate = <90>; + bgr; + backlight; + fps = <20>; + bpp = <16>; + reset-gpios = <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; + dc-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; + debug = <0>; + + hktft32_pins: hktft32_pins { + mux { + groups = "GPIOX_4", + "GPIOX_7"; + function = "gpio_periphs"; + output-high; + drive-strength = <3>; + }; + }; + }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile new file mode 100644 index 000000000000..6cd92954e863 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -0,0 +1,15 @@ +# Overlays for the Odroid platform + +dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ + i2c2.dtbo \ + i2c3.dtbo \ + uarta.dtbo \ + uartb.dtbo \ + uartc.dtbo \ + hktft32.dtbo \ + hktft35.dtbo \ + pcf8563.dtbo \ + pcm5242.dtbo + +targets += $(dtbo-y) +always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts new file mode 100644 index 000000000000..196ee81b62b4 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts @@ -0,0 +1,28 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&spicc0>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&hktft32>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&ads7846>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts new file mode 100644 index 000000000000..5b377ff29302 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts @@ -0,0 +1,28 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&i2c3>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&sx865x>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&hktft35>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c2.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c2.dts new file mode 100644 index 000000000000..3d48fa2e4dc1 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c2.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&i2c2>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c3.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c3.dts new file mode 100644 index 000000000000..8f979fe323f8 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c3.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&i2c3>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts new file mode 100644 index 000000000000..505323c3d980 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts @@ -0,0 +1,20 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&i2c2>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&pcf8563>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts new file mode 100644 index 000000000000..40e7da71d8c1 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts @@ -0,0 +1,20 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&i2c2>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&pcm5242>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts new file mode 100644 index 000000000000..79a8111f6c22 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts @@ -0,0 +1,20 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&spicc0>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&spidev>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uarta.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uarta.dts new file mode 100644 index 000000000000..ef5468a12130 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uarta.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&uart_A>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartb.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartb.dts new file mode 100644 index 000000000000..9cc1f5715e0a --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartb.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&uart_B>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartc.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartc.dts new file mode 100644 index 000000000000..c2267df1fb66 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartc.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&uart_C>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile new file mode 100644 index 000000000000..947683bbd7cc --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile @@ -0,0 +1,15 @@ +# Overlays for the Odroid platform + +dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \ + i2c0.dtbo \ + i2c1.dtbo \ + uarta.dtbo \ + uartb.dtbo \ + hktft32.dtbo \ + hktft35.dtbo \ + saradc.dtbo \ + irblaster.dtbo \ + odroidn2-opp.dtbo + +targets += $(dtbo-y) +always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts new file mode 100644 index 000000000000..196ee81b62b4 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts @@ -0,0 +1,28 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&spicc0>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&hktft32>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&ads7846>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts new file mode 100644 index 000000000000..5b377ff29302 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts @@ -0,0 +1,28 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&i2c3>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&sx865x>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&hktft35>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c0.dts new file mode 100644 index 000000000000..36e4d0e1f6b1 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c0.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + // i2c2 aliased with i2c0. + // This activates i2c2 but it will be named as i2c0 on the userspace. + target = <&i2c2>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c1.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c1.dts new file mode 100644 index 000000000000..2e9198151a94 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/i2c1.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + // i2c3 aliased with i2c1. + // This activates i2c3 but it will be named as i2c1 on the userspace. + target = <&i2c3>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/irblaster.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/irblaster.dts new file mode 100644 index 000000000000..699506098c12 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/irblaster.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&irblaster>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/odroidn2-opp.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/odroidn2-opp.dts new file mode 100644 index 000000000000..2a6f2eb70126 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/odroidn2-opp.dts @@ -0,0 +1,118 @@ +// cpu opp table +/dts-v1/; +/plugin/; + +/{ + fragment@0 { + target= <&cpu_opp_table0>; + + __overlay__ { + opp00 { + opp-hz = /bits/ 64 <100000000>; + opp-microvolt = <730000>; + }; + opp01 { + opp-hz = /bits/ 64 <250000000>; + opp-microvolt = <730000>; + }; + opp02 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <730000>; + }; + opp03 { + opp-hz = /bits/ 64 <667000000>; + opp-microvolt = <730000>; + }; + opp04 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <730000>; + }; + opp05 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <730000>; + }; + opp06 { + opp-hz = /bits/ 64 <1398000000>; + opp-microvolt = <760000>; + }; + opp07 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <790000>; + }; + opp08 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <830000>; + }; + opp09 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <860000>; + }; + opp10 { + opp-hz = /bits/ 64 <1896000000>; + opp-microvolt = <980000>; + }; + opp11 { + opp-hz = /bits/ 64 <1992000000>; + opp-microvolt = <1000000>; + }; + }; + }; + fragment@1 { + target= <&cpu_opp_table1>; + + __overlay__ { + opp00 { + opp-hz = /bits/ 64 <100000000>; + opp-microvolt = <750000>; + }; + opp01 { + opp-hz = /bits/ 64 <250000000>; + opp-microvolt = <750000>; + }; + opp02 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <750000>; + }; + opp03 { + opp-hz = /bits/ 64 <667000000>; + opp-microvolt = <750000>; + }; + opp04 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <770000>; + }; + opp05 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <770000>; + }; + opp06 { + opp-hz = /bits/ 64 <1398000000>; + opp-microvolt = <790000>; + }; + opp07 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <820000>; + }; + opp08 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <860000>; + }; + opp09 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <890000>; + }; + opp10 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <980000>; + }; + opp11 { + opp-hz = /bits/ 64 <1908000000>; + opp-microvolt = <1020000>; + }; + opp12 { + opp-hz = /bits/ 64 <2004000000>; + opp-microvolt = <1020000>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/saradc.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/saradc.dts new file mode 100644 index 000000000000..8daff5e5fe8f --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/saradc.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&saradc>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts new file mode 100644 index 000000000000..79a8111f6c22 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts @@ -0,0 +1,20 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&spicc0>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&spidev>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uarta.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uarta.dts new file mode 100644 index 000000000000..ef5468a12130 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uarta.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&uart_A>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uartb.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uartb.dts new file mode 100644 index 000000000000..9cc1f5715e0a --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uartb.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&uart_B>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst index f112bc99ae0f..5cc1ddca85e8 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -21,6 +21,7 @@ include scripts/Kbuild.include include $(src)/Makefile dtbinst-files := $(sort $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS), $(dtb-))) +dtboinst-files := $(sort $(dtbo-y) $(if $(CONFIG_OF_ALL_DTBS), $(dtbo-))) dtbinst-dirs := $(subdir-y) $(subdir-m) # Helper targets for Installing DTBs into the boot directory @@ -32,10 +33,13 @@ install-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj)) $(dtbinst-files): %.dtb: $(obj)/%.dtb $(call cmd,dtb_install,$(install-dir)) +$(dtboinst-files): %.dtbo: $(obj)/%.dtbo + $(call cmd,dtb_install,$(install-dir)) + $(dtbinst-dirs): $(Q)$(MAKE) $(dtbinst)=$(obj)/$@ -PHONY += $(dtbinst-files) $(dtbinst-dirs) -__dtbs_install: $(dtbinst-files) $(dtbinst-dirs) +PHONY += $(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs) +__dtbs_install: $(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs) .PHONY: $(PHONY) From d8217b3b4f44b11d6fc96c695382acd182077731 Mon Sep 17 00:00:00 2001 From: Luke Go Date: Mon, 25 May 2020 15:30:56 +0900 Subject: [PATCH 06/11] ODROID-COMMON: arm64/dts: Move peripheral nodes from dts to each dtbos. Change-Id: Ifa712ba44e9331f6e00f212ccc8fb098b51154d4 --- .../boot/dts/amlogic/meson64_odroidc4.dts | 124 ------------------ .../boot/dts/amlogic/meson64_odroidn2.dts | 118 ----------------- .../dts/amlogic/overlays/odroidc4/Makefile | 19 +-- .../dts/amlogic/overlays/odroidc4/ads7846.dts | 38 ++++++ .../dts/amlogic/overlays/odroidc4/hktft32.dts | 44 +++++-- .../dts/amlogic/overlays/odroidc4/hktft35.dts | 67 +++++++--- .../overlays/odroidc4/{i2c2.dts => i2c0.dts} | 2 + .../overlays/odroidc4/{i2c3.dts => i2c1.dts} | 2 + .../dts/amlogic/overlays/odroidc4/pcf8563.dts | 13 +- .../dts/amlogic/overlays/odroidc4/pcm5242.dts | 20 --- .../amlogic/overlays/odroidc4/sx865x-i2c1.dts | 39 ++++++ .../dts/amlogic/overlays/odroidn2/Makefile | 20 +-- .../dts/amlogic/overlays/odroidn2/ads7846.dts | 38 ++++++ .../dts/amlogic/overlays/odroidn2/hktft32.dts | 44 +++++-- .../dts/amlogic/overlays/odroidn2/hktft35.dts | 67 +++++++--- .../amlogic/overlays/odroidn2/sx865x-i2c1.dts | 37 ++++++ 16 files changed, 347 insertions(+), 345 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts rename arch/arm64/boot/dts/amlogic/overlays/odroidc4/{i2c2.dts => i2c0.dts} (51%) rename arch/arm64/boot/dts/amlogic/overlays/odroidc4/{i2c3.dts => i2c1.dts} (51%) delete mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index 4be09287a56a..e4600531b427 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -752,53 +752,6 @@ reg = <0x0 0xff808040 0x0 0x44>; status = "ok"; }; - - hktft35: hktft35 { - status = "disabled"; - compatible = "odroid,hktft35"; - pinctrl-names = "hktft35"; - pinctrl-0 = <&hktft35_pins>; - - rotate = <270>; - bgr; - fps = <20>; - bpp = <16>; - reset-gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; - dc-gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>; - wr-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; - cs-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>; - led-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; - db-gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_2 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_0 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_11 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_9 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_8 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_7 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; - debug = <0>; - - hktft35_pins: hktft35_pins { - mux { - groups = "GPIOX_0", - "GPIOX_1", - "GPIOX_2", - "GPIOX_3", - "GPIOX_4", - "GPIOX_6", - "GPIOX_7", - "GPIOX_8", - "GPIOX_9", - "GPIOX_10", - "GPIOX_11", - "GPIOX_14", - "GPIOX_16"; - function = "gpio_periphs"; - output-high; - drive-strength = <3>; - }; - }; - }; }; /* end of / */ &audiobus { @@ -966,89 +919,12 @@ spi-max-frequency = <100000000>; reg = <0>; }; - - /* SPI 3.2" Touch Screen Define */ - ads7846: ads7846@1 { - status = "disabled"; - - spi-max-frequency = <1000000>; - - compatible = "ti,ads7846"; - - reg = <1>; - - /* ODROID-N2 Touch interrupt gpio */ - pendown-gpio = <&gpio GPIOX_3 GPIO_ACTIVE_HIGH>; - - ti,swap-xy = <1>; - ti,x-min = /bits/ 16 <0>; - ti,x-max = /bits/ 16 <8000>; - ti,y-min = /bits/ 16 <0>; - ti,y-max = /bits/ 16 <4800>; - ti,x-plate-ohms = /bits/ 16 <40>; - ti,pressure-max = /bits/ 16 <255>; - - linux,wakeup; - }; - - hktft32: hktft32@0 { - status = "disabled"; - compatible = "odroid,hktft32"; - reg = <0>; - pinctrl-names = "hktft32"; - pinctrl-0 = <&hktft32_pins>; - - spi-max-frequency = <40000000>; - rotate = <90>; - bgr; - backlight; - fps = <20>; - bpp = <16>; - reset-gpios = <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; - dc-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; - debug = <0>; - - hktft32_pins: hktft32_pins { - mux { - groups = "GPIOX_4", - "GPIOX_7"; - function = "gpio_periphs"; - output-high; - drive-strength = <3>; - }; - }; - }; }; &i2c2 { status = "disabled"; - - pcf8563: rtc@51 { - status = "disabled"; - compatible = "nxp,pcf8563"; - reg = <0x51>; - }; }; &i2c3 { status = "disabled"; - - /* Hardkernel I2C 3.5" Touchscreen */ - /* drivers/input/sx8650.c */ - sx865x: sx865x@49 { - status = "disabled"; - compatible = "semtech,sx8650"; - reg = <0x49>; - #clock-cells = <0>; - - /* H/W Pin control setup */ - /* ODROID-C4 */ - gpio-pendown = <&gpio GPIOH_5 GPIO_ACTIVE_LOW>; - gpio-reset = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>; - - /* platform data setup */ - invert-x = <0>; - invert-y = <1>; - swap-xy = <1>; - }; }; diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts index 11c7e3c503ac..cfd8e63e2e04 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts @@ -400,53 +400,6 @@ reg = <0x0 0xff808040 0x0 0x44>; status = "ok"; }; - - hktft35: hktft35 { - status = "disabled"; - compatible = "odroid,hktft35"; - pinctrl-name = "hktft35"; - pinctrl-0 = <&hktft35_pins>; - - rotate = <270>; - bgr; - fps = <20>; - bpp = <16>; - reset-gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; - dc-gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>; - wr-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; - cs-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>; - led-gpios = <&gpio GPIOX_5 GPIO_ACTIVE_LOW>; - db-gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_2 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_0 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_11 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_9 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_8 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_7 GPIO_ACTIVE_LOW>, - <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; - debug = <0>; - - hktft35_pins: hktft35_pins { - mux { - groups = "GPIOX_0", - "GPIOX_1", - "GPIOX_2", - "GPIOX_3", - "GPIOX_4", - "GPIOX_5", - "GPIOX_7", - "GPIOX_8", - "GPIOX_9", - "GPIOX_10", - "GPIOX_11", - "GPIOX_14", - "GPIOX_16"; - function = "gpio_periphs"; - output-high; - drive-strength = <3>; - }; - }; - }; }; /* end of / */ &meson_fb { @@ -528,25 +481,6 @@ &i2c3 { /* default i2c clock-frequency is 100Khz */ status = "disabled"; - - /* Hardkernel I2C 3.5" Touchscreen */ - /* drivers/input/sx8650.c */ - sx865x: sx865x@49 { - status = "disabled"; - compatible = "semtech,sx8650"; - reg = <0x49>; - #clock-cells = <0>; - - /* H/W Pin control setup */ - /* ODROID-N2 */ - gpio-pendown = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>; - gpio-reset = <&gpio GPIOA_12 GPIO_ACTIVE_LOW>; - - /* platform data setup */ - invert-x = <0>; - invert-y = <1>; - swap-xy = <1>; - }; }; &spicc0 { @@ -581,56 +515,4 @@ spi-max-frequency = <100000000>; reg = <0>; }; - - /* SPI 3.2" Touch Screen Define */ - ads7846@1 { - status = "disabled"; - - spi-max-frequency = <1000000>; - - compatible = "ti,ads7846"; - - reg = <1>; - - /* ODROID-N2 Touch interrupt gpio */ - pendown-gpio = <&gpio GPIOX_3 GPIO_ACTIVE_HIGH>; - - ti,swap-xy = <1>; - ti,x-min = /bits/ 16 <0>; - ti,x-max = /bits/ 16 <8000>; - ti,y-min = /bits/ 16 <0>; - ti,y-max = /bits/ 16 <4800>; - ti,x-plate-ohms = /bits/ 16 <40>; - ti,pressure-max = /bits/ 16 <255>; - - linux,wakeup; - }; - - hktft32: hktft32@0 { - status = "disabled"; - compatible = "odroid,hktft32"; - reg = <0>; - pinctrl-names = "hktft32"; - pinctrl-0 = <&hktft32_pins>; - - spi-max-frequency = <40000000>; - rotate = <90>; - bgr; - backlight; - fps = <20>; - bpp = <16>; - reset-gpios = <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; - dc-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; - debug = <0>; - - hktft32_pins: hktft32_pins { - mux { - groups = "GPIOX_4", - "GPIOX_7"; - function = "gpio_periphs"; - output-high; - drive-strength = <3>; - }; - }; - }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile index 6cd92954e863..57609efc6def 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -1,15 +1,16 @@ # Overlays for the Odroid platform dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ - i2c2.dtbo \ - i2c3.dtbo \ - uarta.dtbo \ - uartb.dtbo \ - uartc.dtbo \ - hktft32.dtbo \ - hktft35.dtbo \ - pcf8563.dtbo \ - pcm5242.dtbo + i2c0.dtbo \ + i2c1.dtbo \ + uarta.dtbo \ + uartb.dtbo \ + uartc.dtbo \ + hktft32.dtbo \ + hktft35.dtbo \ + ads7846.dtbo \ + sx865x-i2c1.dtbo \ + pcf8563.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts new file mode 100644 index 000000000000..ab8cd3ee3e43 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts @@ -0,0 +1,38 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + target = <&spicc0>; + + #address-cells = <1>; + #size-cells = <0>; + + __overlay__ { + status = "okay"; + + ads7846: ads7846@0 { + status = "okay"; + compatible = "ti,ads7846"; + + spi-max-frequency = <1000000>; + reg = <1>; + + pendown-gpio = <&gpio GPIOX_3 GPIO_ACTIVE_HIGH>; + + ti,swap-xy = <1>; + ti,x-min = /bits/ 16 <0>; + ti,x-max = /bits/ 16 <8000>; + ti,y-min = /bits/ 16 <0>; + ti,y-max = /bits/ 16 <4800>; + ti,x-plate-ohms = /bits/ 16 <40>; + ti,pressure-max = /bits/ 16 <255>; + + linux,wakeup; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts index 196ee81b62b4..4465bdc0fd6f 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts @@ -1,28 +1,46 @@ /dts-v1/; /plugin/; +#include +#include + / { fragment@0 { target = <&spicc0>; - __overlay__ { - status = "okay"; - }; - }; - - fragment@1 { - target = <&hktft32>; + #address-cells = <1>; + #size-cells = <0>; __overlay__ { status = "okay"; - }; - }; - fragment@2 { - target = <&ads7846>; + hktft32: hktft32@0 { + status = "okay"; + compatible = "odroid,hktft32"; + reg = <0>; + pinctrl-names = "hktft32"; + pinctrl-0 = <&hktft32_pins>; - __overlay__ { - status = "okay"; + spi-max-frequency = <40000000>; + rotate = <90>; + bgr; + backlight; + fps = <20>; + bpp = <16>; + reset-gpios = <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; + dc-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; + debug = <0>; + + hktft32_pins: hktft32_pins { + mux { + groups = "GPIOX_4", + "GPIOX_7"; + function = "gpio_periphs"; + output-high; + drive-strength = <3>; + }; + }; + }; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts index 5b377ff29302..076d289f968c 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft35.dts @@ -1,28 +1,63 @@ /dts-v1/; /plugin/; +#include +#include + / { fragment@0 { - target = <&i2c3>; + target-path = "/"; + + #address-cells = <1>; + #size-cells = <0>; __overlay__ { - status = "okay"; - }; - }; + hktft35: hktft35 { + status = "okay"; + compatible = "odroid,hktft35"; + pinctrl-names = "hktft35"; + pinctrl-0 = <&hktft35_pins>; - fragment@1 { - target = <&sx865x>; + rotate = <270>; + bgr; + fps = <20>; + bpp = <16>; + reset-gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; + dc-gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>; + wr-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; + cs-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>; + led-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; + db-gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_2 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_0 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_11 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_9 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_8 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_7 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; + debug = <0>; - __overlay__ { - status = "okay"; - }; - }; - - fragment@2 { - target = <&hktft35>; - - __overlay__ { - status = "okay"; + hktft35_pins: hktft35_pins { + mux { + groups = "GPIOX_0", + "GPIOX_1", + "GPIOX_2", + "GPIOX_3", + "GPIOX_4", + "GPIOX_6", + "GPIOX_7", + "GPIOX_8", + "GPIOX_9", + "GPIOX_10", + "GPIOX_11", + "GPIOX_14", + "GPIOX_16"; + function = "gpio_periphs"; + output-high; + drive-strength = <3>; + }; + }; + }; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c2.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c0.dts similarity index 51% rename from arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c2.dts rename to arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c0.dts index 3d48fa2e4dc1..36e4d0e1f6b1 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c2.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c0.dts @@ -3,6 +3,8 @@ / { fragment@0 { + // i2c2 aliased with i2c0. + // This activates i2c2 but it will be named as i2c0 on the userspace. target = <&i2c2>; __overlay__ { diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c3.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c1.dts similarity index 51% rename from arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c3.dts rename to arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c1.dts index 8f979fe323f8..2e9198151a94 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c3.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/i2c1.dts @@ -3,6 +3,8 @@ / { fragment@0 { + // i2c3 aliased with i2c1. + // This activates i2c3 but it will be named as i2c1 on the userspace. target = <&i2c3>; __overlay__ { diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts index 505323c3d980..600277fe71eb 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts @@ -3,18 +3,17 @@ / { fragment@0 { + // i2c2 aliased with i2c0. target = <&i2c2>; __overlay__ { status = "okay"; - }; - }; - fragment@1 { - target = <&pcf8563>; - - __overlay__ { - status = "okay"; + pcf8563: rtc@51 { + status = "okay"; + compatible = "nxp,pcf8563"; + reg = <0x51>; + }; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts deleted file mode 100644 index 40e7da71d8c1..000000000000 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcm5242.dts +++ /dev/null @@ -1,20 +0,0 @@ -/dts-v1/; -/plugin/; - -/ { - fragment@0 { - target = <&i2c2>; - - __overlay__ { - status = "okay"; - }; - }; - - fragment@1 { - target = <&pcm5242>; - - __overlay__ { - status = "okay"; - }; - }; -}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts new file mode 100644 index 000000000000..f47cd35dcf02 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts @@ -0,0 +1,39 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + // i2c3 aliased with i2c1. + target = <&i2c3>; + + #address-cells = <1>; + #size-cells = <0>; + + __overlay__ { + status = "okay"; + + /* hardkernel I2C 3.5" Touchscreen */ + /* drivers/input/sx8650.c */ + sx865x: sx865x@49 { + status = "okay"; + compatible = "semtech,sx8650"; + reg = <0x49>; + #clock-cells = <0>; + + /* H/W Pin control setup */ + /* ODROID-C4 */ + gpio-pendown = <&gpio GPIOH_5 GPIO_ACTIVE_LOW>; + gpio-reset = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>; + + /* platform data setup */ + invert-x = <0>; + invert-y = <1>; + swap-xy = <1>; + }; + }; + }; +}; + diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile index 947683bbd7cc..219015e5cba0 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile @@ -1,14 +1,16 @@ # Overlays for the Odroid platform -dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \ - i2c0.dtbo \ - i2c1.dtbo \ - uarta.dtbo \ - uartb.dtbo \ - hktft32.dtbo \ - hktft35.dtbo \ - saradc.dtbo \ - irblaster.dtbo \ +dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \ + i2c0.dtbo \ + i2c1.dtbo \ + uarta.dtbo \ + uartb.dtbo \ + hktft32.dtbo \ + hktft35.dtbo \ + ads7846.dtbo \ + sx865x-i2c1.dtbo \ + saradc.dtbo \ + irblaster.dtbo \ odroidn2-opp.dtbo targets += $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts new file mode 100644 index 000000000000..ab8cd3ee3e43 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts @@ -0,0 +1,38 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + target = <&spicc0>; + + #address-cells = <1>; + #size-cells = <0>; + + __overlay__ { + status = "okay"; + + ads7846: ads7846@0 { + status = "okay"; + compatible = "ti,ads7846"; + + spi-max-frequency = <1000000>; + reg = <1>; + + pendown-gpio = <&gpio GPIOX_3 GPIO_ACTIVE_HIGH>; + + ti,swap-xy = <1>; + ti,x-min = /bits/ 16 <0>; + ti,x-max = /bits/ 16 <8000>; + ti,y-min = /bits/ 16 <0>; + ti,y-max = /bits/ 16 <4800>; + ti,x-plate-ohms = /bits/ 16 <40>; + ti,pressure-max = /bits/ 16 <255>; + + linux,wakeup; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts index 196ee81b62b4..197013d64f1f 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts @@ -1,28 +1,46 @@ /dts-v1/; /plugin/; +#include +#include + / { fragment@0 { target = <&spicc0>; - __overlay__ { - status = "okay"; - }; - }; - - fragment@1 { - target = <&hktft32>; + #address-cells = <1>; + #size-cells = <0>; __overlay__ { status = "okay"; - }; - }; - fragment@2 { - target = <&ads7846>; + hktft32: hktft32@0 { + status = "okay"; + compatible = "odroid,hktft32"; + reg = <0>; + pinctrl-names = "hktft32"; + pinctrl-0 = <&hktft32_pins>; - __overlay__ { - status = "okay"; + spi-max-frequency = <40000000>; + rotate = <90>; + bgr; + backlight; + fps = <20>; + bpp = <16>; + reset-gpios = <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; + dc-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; + debug = <0>; + + hktft32_pins: hktft32_pins { + mux { + groups = "GPIOX_4", + "GPIOX_7"; + function = "gpio_periphs"; + output-high; + drive-strength = <3>; + }; + }; + }; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts index 5b377ff29302..163961ea94cc 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft35.dts @@ -1,28 +1,63 @@ /dts-v1/; /plugin/; +#include +#include + / { fragment@0 { - target = <&i2c3>; + target-path = "/"; + + #address-cells = <1>; + #size-cells = <0>; __overlay__ { - status = "okay"; - }; - }; + hktft35: hktft35 { + status = "okay"; + compatible = "odroid,hktft35"; + pinctrl-name = "hktft35"; + pinctrl-0 = <&hktft35_pins>; - fragment@1 { - target = <&sx865x>; + rotate = <270>; + bgr; + fps = <20>; + bpp = <16>; + reset-gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; + dc-gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>; + wr-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; + cs-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>; + led-gpios = <&gpio GPIOX_5 GPIO_ACTIVE_LOW>; + db-gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_2 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_0 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_11 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_9 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_8 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_7 GPIO_ACTIVE_LOW>, + <&gpio GPIOX_4 GPIO_ACTIVE_LOW>; + debug = <0>; - __overlay__ { - status = "okay"; - }; - }; - - fragment@2 { - target = <&hktft35>; - - __overlay__ { - status = "okay"; + hktft35_pins: hktft35_pins { + mux { + groups = "GPIOX_0", + "GPIOX_1", + "GPIOX_2", + "GPIOX_3", + "GPIOX_4", + "GPIOX_5", + "GPIOX_7", + "GPIOX_8", + "GPIOX_9", + "GPIOX_10", + "GPIOX_11", + "GPIOX_14", + "GPIOX_16"; + function = "gpio_periphs"; + output-high; + drive-strength = <3>; + }; + }; + }; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts new file mode 100644 index 000000000000..17e90a572fdb --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts @@ -0,0 +1,37 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + // i2c3 aliased with i2c1. + target = <&i2c3>; + + #address-cells = <1>; + #size-cells = <0>; + + __overlay__ { + status = "okay"; + + sx865x: sx865x@49 { + status = "okay"; + compatible = "semtech,sx8650"; + reg = <0x49>; + #clock-cells = <0>; + + /* H/W Pin control setup */ + /* ODROID-N2 */ + gpio-pendown = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>; + gpio-reset = <&gpio GPIOA_12 GPIO_ACTIVE_LOW>; + + /* platform data setup */ + invert-x = <0>; + invert-y = <1>; + swap-xy = <1>; + }; + }; + }; +}; + From c34a14ba189a3ab32de1e1d3afac8d432eaf168e Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Tue, 26 May 2020 12:15:05 +0900 Subject: [PATCH 07/11] ODROID-C4/N2: fix to remove compile warning of 'Warning (reg_format): "reg" property in ...' Signed-off-by: Dongjin Kim Change-Id: Idd344270f12652a45511fad02330efd7b0a0ea98 --- arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts | 6 +++--- arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts | 6 +++--- arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts | 3 +++ .../boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts | 8 ++++---- arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts | 6 +++--- arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts | 6 +++--- .../boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts | 8 ++++---- 7 files changed, 23 insertions(+), 20 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts index ab8cd3ee3e43..86460d0d488c 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/ads7846.dts @@ -8,12 +8,12 @@ fragment@0 { target = <&spicc0>; - #address-cells = <1>; - #size-cells = <0>; - __overlay__ { status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + ads7846: ads7846@0 { status = "okay"; compatible = "ti,ads7846"; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts index 4465bdc0fd6f..ce521b084494 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/hktft32.dts @@ -8,12 +8,12 @@ fragment@0 { target = <&spicc0>; - #address-cells = <1>; - #size-cells = <0>; - __overlay__ { status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + hktft32: hktft32@0 { status = "okay"; compatible = "odroid,hktft32"; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts index 600277fe71eb..d45b0a3f3ecf 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pcf8563.dts @@ -9,6 +9,9 @@ __overlay__ { status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + pcf8563: rtc@51 { status = "okay"; compatible = "nxp,pcf8563"; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts index f47cd35dcf02..663cf5e7bc00 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/sx865x-i2c1.dts @@ -9,13 +9,13 @@ // i2c3 aliased with i2c1. target = <&i2c3>; - #address-cells = <1>; - #size-cells = <0>; - __overlay__ { status = "okay"; - /* hardkernel I2C 3.5" Touchscreen */ + #address-cells = <1>; + #size-cells = <0>; + + /* Hardkernel I2C 3.5" Touchscreen */ /* drivers/input/sx8650.c */ sx865x: sx865x@49 { status = "okay"; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts index ab8cd3ee3e43..86460d0d488c 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/ads7846.dts @@ -8,12 +8,12 @@ fragment@0 { target = <&spicc0>; - #address-cells = <1>; - #size-cells = <0>; - __overlay__ { status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + ads7846: ads7846@0 { status = "okay"; compatible = "ti,ads7846"; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts index 197013d64f1f..7b5ced41cc9b 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/hktft32.dts @@ -8,12 +8,12 @@ fragment@0 { target = <&spicc0>; - #address-cells = <1>; - #size-cells = <0>; - __overlay__ { status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + hktft32: hktft32@0 { status = "okay"; compatible = "odroid,hktft32"; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts index 17e90a572fdb..727d22d567ab 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/sx865x-i2c1.dts @@ -9,13 +9,13 @@ // i2c3 aliased with i2c1. target = <&i2c3>; - #address-cells = <1>; - #size-cells = <0>; - __overlay__ { status = "okay"; - sx865x: sx865x@49 { + #address-cells = <1>; + #size-cells = <0>; + + sx865x: sx865x@49 { status = "okay"; compatible = "semtech,sx8650"; reg = <0x49>; From 2881cb016a84799642538efe053b308be84efd56 Mon Sep 17 00:00:00 2001 From: Hyeonki Hong Date: Mon, 25 May 2020 17:22:45 +0900 Subject: [PATCH 08/11] ODROID-COMMON: arm64/dts: move onewire node to each overlay directory Change-Id: Id0262986d0faceba5997e8bff9d89833aff8f5a0 --- .../dts/amlogic/overlays/odroidc4/Makefile | 3 ++- .../dts/amlogic/overlays/odroidc4/onewire.dts | 19 +++++++++++++++++++ .../dts/amlogic/overlays/odroidn2/Makefile | 3 ++- .../dts/amlogic/overlays/odroidn2/onewire.dts | 19 +++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/onewire.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/onewire.dts diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile index 57609efc6def..3c2f770d1967 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -10,7 +10,8 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ hktft35.dtbo \ ads7846.dtbo \ sx865x-i2c1.dtbo \ - pcf8563.dtbo + pcf8563.dtbo \ + onewire.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/onewire.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/onewire.dts new file mode 100644 index 000000000000..24745fc97fda --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/onewire.dts @@ -0,0 +1,19 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + target-path = "/"; + + __overlay__ { + onewire:onewire { + compatible = "w1-gpio"; + gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile index 219015e5cba0..8dd8174a6276 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile @@ -11,7 +11,8 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \ sx865x-i2c1.dtbo \ saradc.dtbo \ irblaster.dtbo \ - odroidn2-opp.dtbo + odroidn2-opp.dtbo \ + onewire.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/onewire.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/onewire.dts new file mode 100644 index 000000000000..24745fc97fda --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/onewire.dts @@ -0,0 +1,19 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + target-path = "/"; + + __overlay__ { + onewire:onewire { + compatible = "w1-gpio"; + gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + }; + }; +}; From b68e04fc964d10f94db447eee53cb9ebb85fc994 Mon Sep 17 00:00:00 2001 From: Deokgyu Yang Date: Fri, 29 May 2020 12:19:23 +0900 Subject: [PATCH 09/11] ODROID-COMMON: arm64/dts: Rename uart DTBOs to use numerical order Signed-off-by: Deokgyu Yang Change-Id: Ie9d2325e83d9cbb4accfc21e5bac26f86275ed24 --- arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile | 6 +++--- .../dts/amlogic/overlays/odroidc4/{uarta.dts => uart0.dts} | 0 .../dts/amlogic/overlays/odroidc4/{uartb.dts => uart1.dts} | 0 .../dts/amlogic/overlays/odroidc4/{uartc.dts => uart2.dts} | 0 arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile | 4 ++-- .../dts/amlogic/overlays/odroidn2/{uarta.dts => uart0.dts} | 0 .../dts/amlogic/overlays/odroidn2/{uartb.dts => uart1.dts} | 0 7 files changed, 5 insertions(+), 5 deletions(-) rename arch/arm64/boot/dts/amlogic/overlays/odroidc4/{uarta.dts => uart0.dts} (100%) rename arch/arm64/boot/dts/amlogic/overlays/odroidc4/{uartb.dts => uart1.dts} (100%) rename arch/arm64/boot/dts/amlogic/overlays/odroidc4/{uartc.dts => uart2.dts} (100%) rename arch/arm64/boot/dts/amlogic/overlays/odroidn2/{uarta.dts => uart0.dts} (100%) rename arch/arm64/boot/dts/amlogic/overlays/odroidn2/{uartb.dts => uart1.dts} (100%) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile index 3c2f770d1967..c0d8d456c692 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -3,9 +3,9 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ i2c0.dtbo \ i2c1.dtbo \ - uarta.dtbo \ - uartb.dtbo \ - uartc.dtbo \ + uart0.dtbo \ + uart1.dtbo \ + uart2.dtbo \ hktft32.dtbo \ hktft35.dtbo \ ads7846.dtbo \ diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uarta.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart0.dts similarity index 100% rename from arch/arm64/boot/dts/amlogic/overlays/odroidc4/uarta.dts rename to arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart0.dts diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartb.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart1.dts similarity index 100% rename from arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartb.dts rename to arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart1.dts diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartc.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart2.dts similarity index 100% rename from arch/arm64/boot/dts/amlogic/overlays/odroidc4/uartc.dts rename to arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart2.dts diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile index 8dd8174a6276..21737cae8cd2 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile @@ -3,8 +3,8 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \ i2c0.dtbo \ i2c1.dtbo \ - uarta.dtbo \ - uartb.dtbo \ + uart0.dtbo \ + uart1.dtbo \ hktft32.dtbo \ hktft35.dtbo \ ads7846.dtbo \ diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uarta.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uart0.dts similarity index 100% rename from arch/arm64/boot/dts/amlogic/overlays/odroidn2/uarta.dts rename to arch/arm64/boot/dts/amlogic/overlays/odroidn2/uart0.dts diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uartb.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/uart1.dts similarity index 100% rename from arch/arm64/boot/dts/amlogic/overlays/odroidn2/uartb.dts rename to arch/arm64/boot/dts/amlogic/overlays/odroidn2/uart1.dts From fdd34d52cce3cc0bcd31b9571ccf0127c752c581 Mon Sep 17 00:00:00 2001 From: Deokgyu Yang Date: Fri, 29 May 2020 12:23:26 +0900 Subject: [PATCH 10/11] ODROID-COMMON: arm64/dts: Extract spidev node from main dts to spi0 dtbo Signed-off-by: Deokgyu Yang Change-Id: I2ceb31b971970b96e0113e528b4c174d81d35258 --- arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts | 9 --------- arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts | 9 --------- .../boot/dts/amlogic/overlays/odroidc4/spi0.dts | 15 +++++++++------ .../boot/dts/amlogic/overlays/odroidn2/spi0.dts | 15 +++++++++------ 4 files changed, 18 insertions(+), 30 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index e4600531b427..2aced4990b9a 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -910,15 +910,6 @@ status = "disabled"; gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; }; - - spidev: spidev@0 { - status = "disabled"; - - compatible = "linux,spidev"; - /* spi default max clock 100Mhz */ - spi-max-frequency = <100000000>; - reg = <0>; - }; }; &i2c2 { diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts index cfd8e63e2e04..2f319aec5764 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts @@ -506,13 +506,4 @@ status = "disabled"; gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; }; - - spidev: spidev@0 { - status = "disabled"; - - compatible = "linux,spidev"; - /* spi default max clock 100Mhz */ - spi-max-frequency = <100000000>; - reg = <0>; - }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts index 79a8111f6c22..7c6a43b6209a 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/spi0.dts @@ -7,14 +7,17 @@ __overlay__ { status = "okay"; - }; - }; - fragment@1 { - target = <&spidev>; + #address-cells = <1>; + #size-cells = <0>; - __overlay__ { - status = "okay"; + spidev: spidev@0 { + status = "okay"; + compatible = "linux,spidev"; + reg = <0>; + /* spi default max clock 100Mhz */ + spi-max-frequency = <100000000>; + }; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts index 79a8111f6c22..7c6a43b6209a 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/spi0.dts @@ -7,14 +7,17 @@ __overlay__ { status = "okay"; - }; - }; - fragment@1 { - target = <&spidev>; + #address-cells = <1>; + #size-cells = <0>; - __overlay__ { - status = "okay"; + spidev: spidev@0 { + status = "okay"; + compatible = "linux,spidev"; + reg = <0>; + /* spi default max clock 100Mhz */ + spi-max-frequency = <100000000>; + }; }; }; }; From 2e46251b42d50201f81d08a6b4dede4d227632ef Mon Sep 17 00:00:00 2001 From: Hyeonki Hong Date: Fri, 29 May 2020 11:58:47 +0900 Subject: [PATCH 11/11] ODROID-COMMON: arm64/dts: move can0 node to each overlay directory Change-Id: Id193255239af6dbe0b8e7a80779ea5f3cfee2e6b --- .../boot/dts/amlogic/meson64_odroidc4.dts | 8 ------- .../boot/dts/amlogic/meson64_odroidn2.dts | 8 ------- .../dts/amlogic/overlays/odroidc4/Makefile | 3 ++- .../dts/amlogic/overlays/odroidc4/can0.dts | 23 +++++++++++++++++++ .../dts/amlogic/overlays/odroidn2/Makefile | 3 ++- .../dts/amlogic/overlays/odroidn2/can0.dts | 23 +++++++++++++++++++ 6 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/can0.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/can0.dts diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index 2aced4990b9a..73088c06b2ab 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -902,14 +902,6 @@ cs-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>, <&gpio GPIOH_6 GPIO_ACTIVE_LOW>; - - can0: can@0 { - compatible = "microchip,mcp2515"; - reg = <0>; - spi-max-frequency = <10000000>; - status = "disabled"; - gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; - }; }; &i2c2 { diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts index 2f319aec5764..adf5c860592e 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts @@ -498,12 +498,4 @@ cs-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>, <&gpio GPIOA_4 GPIO_ACTIVE_LOW>; - - can0: can@0 { - compatible = "microchip,mcp2515"; - reg = <0>; - spi-max-frequency = <10000000>; - status = "disabled"; - gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; - }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile index c0d8d456c692..8e5b0f15f94d 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -11,7 +11,8 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ ads7846.dtbo \ sx865x-i2c1.dtbo \ pcf8563.dtbo \ - onewire.dtbo + onewire.dtbo \ + can0.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/can0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/can0.dts new file mode 100644 index 000000000000..41b4cc728919 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/can0.dts @@ -0,0 +1,23 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + target = <&spicc0>; + + __overlay__ { + status = "okay"; + + can0: can@0 { + compatible = "microchip,mcp2515"; + gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; + reg = <0>; + spi-max-frequency = <10000000>; + status = "okay"; + }; + }; + }; +}; \ No newline at end of file diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile index 21737cae8cd2..a63e7fa8e88b 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile @@ -12,7 +12,8 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \ saradc.dtbo \ irblaster.dtbo \ odroidn2-opp.dtbo \ - onewire.dtbo + onewire.dtbo \ + can0.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/can0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/can0.dts new file mode 100644 index 000000000000..41b4cc728919 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/can0.dts @@ -0,0 +1,23 @@ +/dts-v1/; +/plugin/; + +#include +#include + +/ { + fragment@0 { + target = <&spicc0>; + + __overlay__ { + status = "okay"; + + can0: can@0 { + compatible = "microchip,mcp2515"; + gpio-irq = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>; + reg = <0>; + spi-max-frequency = <10000000>; + status = "okay"; + }; + }; + }; +}; \ No newline at end of file