From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martin Ayotte Date: Wed, 5 Dec 2018 15:00:44 -0500 Subject: [ARCHEOLOGY] add overlays framework for rockchip > X-Git-Archeology: - Revision 677cf44f4620e11ff573257551c8231eceee1d4b: https://github.com/armbian/build/commit/677cf44f4620e11ff573257551c8231eceee1d4b > X-Git-Archeology: Date: Wed, 05 Dec 2018 15:00:44 -0500 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: add overlays framework for rockchip > X-Git-Archeology: > X-Git-Archeology: - Revision 40ab5ee22b0055e2a67a73bdcda94217d23fe2a0: https://github.com/armbian/build/commit/40ab5ee22b0055e2a67a73bdcda94217d23fe2a0 > X-Git-Archeology: Date: Fri, 07 Dec 2018 16:23:35 -0500 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: add W1-GPIO overlay to rockchip64 > X-Git-Archeology: > X-Git-Archeology: - Revision 5a7e35d59d385c4adb5c4bfd605211e59e72939e: https://github.com/armbian/build/commit/5a7e35d59d385c4adb5c4bfd605211e59e72939e > X-Git-Archeology: Date: Tue, 05 Mar 2019 20:19:58 -0500 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: add rockchip-spi-spidev overlay > X-Git-Archeology: > X-Git-Archeology: - Revision 4722859bc1da10dc59f38615ef1683f9334412ac: https://github.com/armbian/build/commit/4722859bc1da10dc59f38615ef1683f9334412ac > X-Git-Archeology: Date: Tue, 05 Mar 2019 20:28:25 -0500 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: fix spi-spidev pins in README > X-Git-Archeology: > X-Git-Archeology: - Revision e4e34c7f15b33a3a186033a0c40555c208f035ee: https://github.com/armbian/build/commit/e4e34c7f15b33a3a186033a0c40555c208f035ee > X-Git-Archeology: Date: Wed, 06 Mar 2019 17:34:59 -0500 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: add param_w1_pin management to rockchip-fixup.scr > X-Git-Archeology: > X-Git-Archeology: - Revision 85285a492e203c26cf0704ac8c08dbf7e59127df: https://github.com/armbian/build/commit/85285a492e203c26cf0704ac8c08dbf7e59127df > X-Git-Archeology: Date: Sun, 10 Mar 2019 09:27:53 -0400 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: add I2C7 overlay > X-Git-Archeology: > X-Git-Archeology: - Revision eda653ae254c43b548889157171ce0873c918426: https://github.com/armbian/build/commit/eda653ae254c43b548889157171ce0873c918426 > X-Git-Archeology: Date: Sun, 10 Mar 2019 11:38:07 -0400 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: fix typo in README overlays > X-Git-Archeology: > X-Git-Archeology: - Revision 2e3a338d481b1637b7ff55d52e43612791e6d23a: https://github.com/armbian/build/commit/2e3a338d481b1637b7ff55d52e43612791e6d23a > X-Git-Archeology: Date: Thu, 20 Jun 2019 10:11:25 -0400 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: fix SPIs registers in overlays > X-Git-Archeology: > X-Git-Archeology: - Revision 5ae502fa0af30f1edc089c76ecc698887acc8c5e: https://github.com/armbian/build/commit/5ae502fa0af30f1edc089c76ecc698887acc8c5e > X-Git-Archeology: Date: Sun, 21 Jul 2019 13:24:42 +0200 > X-Git-Archeology: From: Piotr Szczepanik > X-Git-Archeology: Subject: [rockchip64-dev] UART4 activating overlay > X-Git-Archeology: > X-Git-Archeology: - Revision 6dceae89ce35a4f7145003ddbcc9a53ed8999ff8: https://github.com/armbian/build/commit/6dceae89ce35a4f7145003ddbcc9a53ed8999ff8 > X-Git-Archeology: Date: Mon, 22 Jul 2019 10:08:41 -0400 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: swap fragments order in UART4 overlay > X-Git-Archeology: > X-Git-Archeology: - Revision f0d3670ff9a2bc148ee4f7762c3ea7a6da04860d: https://github.com/armbian/build/commit/f0d3670ff9a2bc148ee4f7762c3ea7a6da04860d > X-Git-Archeology: Date: Tue, 23 Jul 2019 12:31:18 -0400 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: fix typo in UART4 overlay > X-Git-Archeology: > X-Git-Archeology: - Revision fadde96f2b0a0221b9e7abe7efe7f94377f3e651: https://github.com/armbian/build/commit/fadde96f2b0a0221b9e7abe7efe7f94377f3e651 > X-Git-Archeology: Date: Wed, 24 Jul 2019 17:41:52 -0400 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: fix SPIDEV overlay and add SPI-JEDEC-NOR overlay > X-Git-Archeology: > X-Git-Archeology: - Revision 776a5e7eb265d0fb62f2dec2ae99b684a11db5ea: https://github.com/armbian/build/commit/776a5e7eb265d0fb62f2dec2ae99b684a11db5ea > X-Git-Archeology: Date: Wed, 24 Jul 2019 17:43:52 -0400 > X-Git-Archeology: From: Martin Ayotte > X-Git-Archeology: Subject: fix SPI default spi-max-frequency > X-Git-Archeology: > X-Git-Archeology: - Revision b3bb9345439250d8247f0e24a8e1ef6290b2c279: https://github.com/armbian/build/commit/b3bb9345439250d8247f0e24a8e1ef6290b2c279 > X-Git-Archeology: Date: Mon, 18 Nov 2019 18:23:10 +0100 > X-Git-Archeology: From: Piotr Szczepanik > X-Git-Archeology: Subject: Rock Pi 4 enable PCIe in device tree for "dev" target (#1624) > X-Git-Archeology: > X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3 > X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586) > X-Git-Archeology: > X-Git-Archeology: - Revision 812245def37a695bce9e7ece148b2920d82c8b37: https://github.com/armbian/build/commit/812245def37a695bce9e7ece148b2920d82c8b37 > X-Git-Archeology: Date: Sat, 18 Jul 2020 23:07:01 +0200 > X-Git-Archeology: From: Werner > X-Git-Archeology: Subject: Move rockchip/64 current to 5.7.y (#2099) > X-Git-Archeology: > X-Git-Archeology: - Revision 661371868def63655e46e8c513d8ba0f42cf4066: https://github.com/armbian/build/commit/661371868def63655e46e8c513d8ba0f42cf4066 > X-Git-Archeology: Date: Fri, 28 Aug 2020 19:26:08 +0200 > X-Git-Archeology: From: Piotr Szczepanik > X-Git-Archeology: Subject: Enable overlays for rk3399-legacy (#2144) > X-Git-Archeology: > X-Git-Archeology: - Revision e36ce875b025e112127cf8cc2d34825ebfe36569: https://github.com/armbian/build/commit/e36ce875b025e112127cf8cc2d34825ebfe36569 > X-Git-Archeology: Date: Tue, 10 Nov 2020 21:43:13 +0100 > X-Git-Archeology: From: Piotr Szczepanik > X-Git-Archeology: Subject: Switched rockchip64-current to linux 5.9.y (#2309) > X-Git-Archeology: > X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153 > X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704) > X-Git-Archeology: > X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0 > X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045) > X-Git-Archeology: > X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39 > X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125) > X-Git-Archeology: > X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e > X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238) > X-Git-Archeology: > X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4 > X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100 > X-Git-Archeology: From: Oleg > X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387) > X-Git-Archeology: > X-Git-Archeology: - Revision 27771d0e8a7f512dbcf10cbca8e88eedd47d1b55: https://github.com/armbian/build/commit/27771d0e8a7f512dbcf10cbca8e88eedd47d1b55 > X-Git-Archeology: Date: Thu, 17 Feb 2022 22:06:54 +0100 > X-Git-Archeology: From: Leif > X-Git-Archeology: Subject: Remove incorrectly duplicated GPIO pins from I2C7, name I2C7/I2C8 bus, from README.rockchip-overlays (#3495) > X-Git-Archeology: > X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d > X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100 > X-Git-Archeology: From: Piotr Szczepanik > X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489) > X-Git-Archeology: > X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f > X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736) > X-Git-Archeology: > X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3 > X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200 > X-Git-Archeology: From: Jianfeng Liu > X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814) > X-Git-Archeology: > X-Git-Archeology: - Revision e7bd9b8f13af9ee054f44a422b2aca19746b9244: https://github.com/armbian/build/commit/e7bd9b8f13af9ee054f44a422b2aca19746b9244 > X-Git-Archeology: Date: Sat, 28 May 2022 08:56:19 +0200 > X-Git-Archeology: From: Tony > X-Git-Archeology: Subject: Add Spidev workarounds and clean patches (WIP) (#3812) > X-Git-Archeology: > X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0 > X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200 > X-Git-Archeology: From: Jianfeng Liu > X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039) > X-Git-Archeology: > X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6 > X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337) > X-Git-Archeology: > X-Git-Archeology: - Revision 834fab09d0ca6fd6aa353b294011b8ca9dc00c1c: https://github.com/armbian/build/commit/834fab09d0ca6fd6aa353b294011b8ca9dc00c1c > X-Git-Archeology: Date: Wed, 16 Nov 2022 18:39:47 +0100 > X-Git-Archeology: From: Ricardo Pardini > X-Git-Archeology: Subject: `armbian,spi-dev` hacks also for rockchip64-5.18, .19, and 6.0.y (#4450) > X-Git-Archeology: > X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7 > X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100 > X-Git-Archeology: From: Igor Pecovnik > X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575) > X-Git-Archeology: > X-Git-Archeology: - Revision 85bab47bba73e0ef0e4ea5fde60e0aab56f82906: https://github.com/armbian/build/commit/85bab47bba73e0ef0e4ea5fde60e0aab56f82906 > X-Git-Archeology: Date: Sat, 06 May 2023 12:55:10 +0200 > X-Git-Archeology: From: amazingfate > X-Git-Archeology: Subject: bump rockchip64 edge to v6.3 > X-Git-Archeology: > X-Git-Archeology: - Revision 906ca66430329ab774f5b9d0f62eef1ce5e398fe: https://github.com/armbian/build/commit/906ca66430329ab774f5b9d0f62eef1ce5e398fe > X-Git-Archeology: Date: Tue, 16 May 2023 08:55:33 +0200 > X-Git-Archeology: From: Ricardo Pardini > X-Git-Archeology: Subject: `rockchip64`/`edge`/`6.3`: rebase/rewrite patches against `v6.3.1`; do archeology for mbox-less patches; materialize overwrites > X-Git-Archeology: > X-Git-Archeology: - Revision 1cdab8b1cfbf98c853c7bbf760d5aff280baf794: https://github.com/armbian/build/commit/1cdab8b1cfbf98c853c7bbf760d5aff280baf794 > X-Git-Archeology: Date: Wed, 24 May 2023 19:21:31 +0200 > X-Git-Archeology: From: Ricardo Pardini > X-Git-Archeology: Subject: `rockchip64`/`edge` 6.3.y: rebase against `v6.3.3`, do archeology for missing mbox'es > X-Git-Archeology: > X-Git-Archeology: - Revision 716d3ae221824e87b6a2abb8dcf9f6e6aa3c63c9: https://github.com/armbian/build/commit/716d3ae221824e87b6a2abb8dcf9f6e6aa3c63c9 > X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:59 +0200 > X-Git-Archeology: From: Ricardo Pardini > X-Git-Archeology: Subject: `rockchip64` `edge` 6.3: drop overlay patches in favor of bare overlays in specific folder > X-Git-Archeology: > X-Git-Archeology: - Revision 0646a15647489f8c188cf5e15dce7d2bc0456120: https://github.com/armbian/build/commit/0646a15647489f8c188cf5e15dce7d2bc0456120 > X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:59 +0200 > X-Git-Archeology: From: Ricardo Pardini > X-Git-Archeology: Subject: `rockchip64` `edge` 6.3: rebase v6.3.6 + drop DT Makefile patches > X-Git-Archeology: --- arch/arm64/boot/dts/rockchip/Makefile | 2 +- arch/arm64/boot/dts/rockchip/overlay/Makefile | 22 ++ arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays | 106 ++++++++++ arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd | 62 ++++++ arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts | 11 + arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts | 11 + arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts | 12 ++ arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts | 72 +++++++ arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts | 72 +++++++ arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts | 20 ++ arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts | 20 ++ scripts/Makefile.lib | 3 + 12 files changed, 412 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 014b8c2701b7..f899bbbe4575 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -120,5 +120,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-evb-v11-linux.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-npu-evb-v10.dtb always := $(dtb-y) -subdir-y := $(dts-dirs) +subdir-y := $(dts-dirs) overlay clean-files := *.dtb diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile new file mode 100644 index 000000000000..c5f52da3ab08 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: GPL-2.0 +dtbo-$(CONFIG_ARCH_ROCKCHIP) += \ + rockchip-i2c7.dtbo \ + rockchip-i2c8.dtbo \ + rockchip-pcie-gen2.dtbo \ + rockchip-spi-jedec-nor.dtbo \ + rockchip-spi-spidev.dtbo \ + rockchip-uart4.dtbo \ + rockchip-w1-gpio.dtbo + +scr-$(CONFIG_ARCH_ROCKCHIP) += \ + rockchip-fixup.scr + +dtbotxt-$(CONFIG_ARCH_ROCKCHIP) += \ + README.rockchip-overlays + +targets += $(dtbo-y) $(scr-y) $(dtbotxt-y) + +always := $(dtbo-y) $(scr-y) $(dtbotxt-y) +clean-files := *.dtbo *.scr + + diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays new file mode 100644 index 000000000000..3da852a20d27 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays @@ -0,0 +1,106 @@ +This document describes overlays provided in the kernel packages +For generic Armbian overlays documentation please see +https://docs.armbian.com/User-Guide_Allwinner_overlays/ + +### Platform: + +rockchip (Rockchip) + +### Provided overlays: + +- i2c7, i2c8, pcie-gen2, spi-spidev, uart4, w1-gpio + +### Overlay details: + +### i2c7 + +Activates TWI/I2C bus 7 + +I2C7 pins (DVP) (SCL, SDA): GPIO2-B0, GPIO2-A7 + +### i2c8 + +Activates TWI/I2C bus 8 + +I2C8 pins (pi-conn) (pi-conn) (SCL, SDA): GPIO1-C5, GPIO1-C4 + +### pcie-gen2 + +Enables PCIe Gen2 link speed on RK3399. +WARNING! Not officially supported by Rockchip!!! + +### spi-jedec-nor + +Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus +supported by the kernel SPI NOR driver + +SPI 0 pins (MOSI, MISO, SCK, CS): GPIO3_A5, GPIO3_A4, GPIO3_A6, GPIO3_A7 +SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_A7, GPIO1_B0, GPIO1_B1, GPIO1_B2 +SPI 2 pins (MOSI, MISO, SCK, CS): GPIO1_C0, GPIO1_B7, GPIO1_C1, GPIO1_C2 +SPI 3 pins (MOSI, MISO, SCK, CS): GPIO2_B2, GPIO2_B1, GPIO2_B3, GPIO2_B4 + +Parameters: + +param_spinor_spi_bus (int) + SPI bus to activate SPI NOR flash support on + Required + Supported values: 0, 1, 2 + +param_spinor_max_freq (int) + Maximum SPI frequency + Optional + Default: 1000000 + Range: 3000 - 100000000 + +### spi-spidev + +Activates SPIdev device node (/dev/spidevX.Y) for userspace SPI access, +where X is the bus number and Y is the CS number + +SPI 0 pins (MOSI, MISO, SCK, CS): GPIO3_A5, GPIO3_A4, GPIO3_A6, GPIO3_A7 +SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_A7, GPIO1_B0, GPIO1_B1, GPIO1_B2 +SPI 2 pins (MOSI, MISO, SCK, CS): GPIO1_C0, GPIO1_B7, GPIO1_C1, GPIO1_C2 +SPI 3 pins (MOSI, MISO, SCK, CS): GPIO2_B2, GPIO2_B1, GPIO2_B3, GPIO2_B4 + +Parameters: + +param_spidev_spi_bus (int) + SPI bus to activate SPIdev support on + Required + Supported values: 0, 1 + +param_spidev_spi_cs (int) + SPI chip select number + Optional + Default: 0 + Supported values: 0, 1 + Using chip select 1 requires using "spi-add-cs1" overlay + +param_spidev_max_freq (int) + Maximum SPIdev frequency + Optional + Default: 1000000 + Range: 3000 - 100000000 + +### uart4 + +Activates UART4 + +UART4 pins (RX, TX): GPIO1_A7, GPIO1_B0 + +Notice: UART4 cannot be activated together with SPI1 - they share the sam pins. +Enabling this overlay disables SPI1. + +### w1-gpio + +Activates 1-Wire GPIO master +Requires an external pull-up resistor on the data pin +or enabling the internal pull-up + +Parameters: + +param_w1_pin (pin) + Data pin for 1-Wire master + Optional + Default: PD14 + diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd b/arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd new file mode 100644 index 000000000000..8e3d468f4d4b --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd @@ -0,0 +1,62 @@ +# overlays fixup script +# implements (or rather substitutes) overlay arguments functionality +# using u-boot scripting, environment variables and "fdt" command + +setenv decompose_pin 'setexpr tmp_pinctrl sub "GPIO(0|1|2|3|4)_\\S\\d+" "\\1"; +setexpr tmp_bank sub "GPIO\\d_(\\S)\\d+" "\\1"; +test "${tmp_bank}" = "A" && setenv tmp_bank 0; +test "${tmp_bank}" = "B" && setenv tmp_bank 1; +test "${tmp_bank}" = "C" && setenv tmp_bank 2; +test "${tmp_bank}" = "D" && setenv tmp_bank 3; +setexpr tmp_pin sub "GPIO\\d_\\S(\\d+)" "\\1"; +setexpr tmp_bank ${tmp_bank} * 8; +setexpr tmp_pin ${tmp_bank} + ${tmp_pin}' + + +if test -n "${param_spinor_spi_bus}"; then + test "${param_spinor_spi_bus}" = "0" && setenv tmp_spi_path "spi@ff1c0000" + test "${param_spinor_spi_bus}" = "1" && setenv tmp_spi_path "spi@ff1d0000" + test "${param_spinor_spi_bus}" = "2" && setenv tmp_spi_path "spi@ff1e0000" + test "${param_spinor_spi_bus}" = "3" && setenv tmp_spi_path "spi@ff1f0000" + fdt set /${tmp_spi_path} status "okay" + fdt set /${tmp_spi_path}/spiflash@0 status "okay" + if test -n "${param_spinor_max_freq}"; then + fdt set /${tmp_spi_path}/spiflash@0 spi-max-frequency "<${param_spinor_max_freq}>" + fi + if test "${param_spinor_spi_cs}" = "1"; then + fdt set /${tmp_spi_path}/spiflash@0 reg "<1>" + fi + env delete tmp_spi_path +fi + +if test -n "${param_spidev_spi_bus}"; then + test "${param_spidev_spi_bus}" = "0" && setenv tmp_spi_path "spi@ff1c0000" + test "${param_spidev_spi_bus}" = "1" && setenv tmp_spi_path "spi@ff1d0000" + test "${param_spidev_spi_bus}" = "2" && setenv tmp_spi_path "spi@ff1e0000" + test "${param_spidev_spi_bus}" = "3" && setenv tmp_spi_path "spi@ff1f0000" + fdt set /${tmp_spi_path} status "okay" + fdt set /${tmp_spi_path}/spidev status "okay" + if test -n "${param_spidev_max_freq}"; then + fdt set /${tmp_spi_path}/spidev spi-max-frequency "<${param_spidev_max_freq}>" + fi + if test "${param_spidev_spi_cs}" = "1"; then + fdt set /${tmp_spi_path}/spidev reg "<1>"; + fi +fi + +if test -n "${param_w1_pin}"; then + setenv tmp_pinctrl "${param_w1_pin}" + setenv tmp_bank "${param_w1_pin}" + setenv tmp_pin "${param_w1_pin}" + run decompose_pin + #echo "${param_w1_pin} ---> pinctrl = ${tmp_pinctrl}" + #echo "${param_w1_pin} ---> bank = ${tmp_bank}" + #echo "${param_w1_pin} ---> pin = ${tmp_pin}" + fdt get value tmp_pinctrl /__symbols__ gpio${tmp_pinctrl} + #echo "${param_w1_pin} ---> tmp_pinctrl = ${tmp_pinctrl}" + fdt get value tmp_phandle ${tmp_pinctrl} phandle + #echo "${param_w1_pin} ---> tmp_phandle = ${tmp_phandle}" + fdt set /onewire@0 gpios "<${tmp_phandle} 0x000000${tmp_pin} 0 0>" + env delete tmp_pinctrl tmp_bank tmp_pin tmp_phandle +fi + diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts new file mode 100644 index 000000000000..f8c601550588 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts @@ -0,0 +1,11 @@ +/dts-v1/; + +/ { + compatible = "rockchip,rk3399"; + fragment@0 { + target-path = "/i2c@ff160000"; + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts new file mode 100644 index 000000000000..54bc8449eafd --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts @@ -0,0 +1,11 @@ +/dts-v1/; + +/ { + compatible = "rockchip,rk3399"; + fragment@0 { + target-path = "/i2c@ff3e0000"; + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts new file mode 100644 index 000000000000..e8a51dca8f67 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "rockchip,rk3399"; + fragment@0 { + target = <&pcie0>; + __overlay__ { + max-link-speed = <2>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts new file mode 100644 index 000000000000..c4b1f36f9b09 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts @@ -0,0 +1,72 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "rockchip,rk3399"; + + fragment@0 { + target-path = "/aliases"; + __overlay__ { + spi0 = "/spi@ff1c0000"; + spi1 = "/spi@ff1d0000"; + spi2 = "/spi@ff1e0000"; + spi3 = "/spi@ff1f0000"; + }; + }; + + fragment@1 { + target = <&spi0>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spiflash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + status = "disabled"; + }; + }; + }; + + fragment@2 { + target = <&spi1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spiflash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + status = "disabled"; + }; + }; + }; + + fragment@3 { + target = <&spi2>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spiflash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + status = "disabled"; + }; + }; + }; + + fragment@4 { + target = <&spi3>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spiflash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + status = "disabled"; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts new file mode 100644 index 000000000000..18e1423637cd --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts @@ -0,0 +1,72 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "rockchip,rk3399"; + + fragment@0 { + target-path = "/aliases"; + __overlay__ { + spi0 = "/spi@ff1c0000"; + spi1 = "/spi@ff1d0000"; + spi2 = "/spi@ff1e0000"; + spi3 = "/spi@ff1f0000"; + }; + }; + + fragment@1 { + target = <&spi0>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spidev { + compatible = "spidev"; + status = "disabled"; + reg = <0>; + spi-max-frequency = <10000000>; + }; + }; + }; + + fragment@2 { + target = <&spi1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spidev { + compatible = "spidev"; + status = "disabled"; + reg = <0>; + spi-max-frequency = <10000000>; + }; + }; + }; + + fragment@3 { + target = <&spi2>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spidev { + compatible = "spidev"; + status = "disabled"; + reg = <0>; + spi-max-frequency = <10000000>; + }; + }; + }; + + fragment@4 { + target = <&spi3>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + spidev { + compatible = "spidev"; + status = "disabled"; + reg = <0>; + spi-max-frequency = <10000000>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts new file mode 100644 index 000000000000..305304ebcbf1 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts @@ -0,0 +1,20 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "rockchip,rk3399"; + + fragment@0 { + target = <&spi1>; + __overlay__ { + status = "disabled"; + }; + }; + + fragment@1 { + target = <&uart4>; + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts new file mode 100644 index 000000000000..bfbc16adcc9d --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts @@ -0,0 +1,20 @@ +// Definitions for w1-gpio module (without external pullup) +/dts-v1/; +/plugin/; + +/ { + compatible = "rockchip,rk3399"; + + fragment@0 { + target-path = "/"; + __overlay__ { + + w1: onewire@0 { + compatible = "w1-gpio"; + pinctrl-names = "default"; + gpios = <&gpio1 4 0 0xae>; // GPIO1_A4 + status = "okay"; + }; + }; + }; +}; diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 8d72db5cdc5d..c775c207c770 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -69,6 +69,9 @@ obj-dirs := $(dir $(multi-objs) $(obj-y)) real-objs-y := $(foreach m, $(filter-out $(subdir-obj-y), $(obj-y)), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) $(extra-y) real-objs-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) +# Overlay targets +extra-y += $(dtbo-y) $(scr-y) $(dtbotxt-y) + # Add subdir path extra-y := $(addprefix $(obj)/,$(extra-y)) -- Armbian