2023-01-23 21:49:53

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 0/9] TI-Nspire cleanups

Hello all,

This series is an extended version of the series started here[0]
and here[1].

We break out what was the first patch into one for DTS change and
one for code changes as suggested by Krzysztof. Those are now patches
2 and 8 of this series (I kept the ACKs, hope that is okay).

As also pointed out by Krzysztof syscon nodes need a specific
compatible, add that as patch 1.

While I was adding that, I noticed some other dtbs_check issues,
so while here fixed some of those up too (patches 3-6).

Thanks,
Andrew

[0] https://lore.kernel.org/lkml/[email protected]/
[1] https://lore.kernel.org/linux-arm-kernel/[email protected]/

Changes from v4:
- Rebase on latest master

Changes from v3:
- Add Reviewed-by
- Make new binding for patch #1

Changes from v2:
- See cover letter message

Changes from v1:
- Add ACKs
- Rebase on latest

Andrew Davis (9):
dt-bindings: mfd: Add TI-Nspire misc registers
ARM: dts: nspire: Use syscon-reboot to handle restart
ARM: dts: nspire: Fix cpu node to conform with DT binding
ARM: dts: nspire: Fix sram node to conform with DT binding
ARM: dts: nspire: Fix vbus_reg node to conform with DT binding
ARM: dts: nspire: Fix uart node to conform with DT binding
ARM: dts: nspire: Use MATRIX_KEY macro for linux,keymap
ARM: nspire: Use syscon-reboot to handle restart
ARM: nspire: Remove unused header file mmio.h

.../bindings/mfd/ti,nspire-misc.yaml | 51 ++++++++++
arch/arm/boot/dts/nspire-clp.dts | 90 +++++++++++++-----
arch/arm/boot/dts/nspire-cx.dts | 92 ++++++++++++++-----
arch/arm/boot/dts/nspire-tp.dts | 90 +++++++++++++-----
arch/arm/boot/dts/nspire.dtsi | 24 ++++-
arch/arm/mach-nspire/Kconfig | 2 +
arch/arm/mach-nspire/mmio.h | 16 ----
arch/arm/mach-nspire/nspire.c | 24 -----
8 files changed, 279 insertions(+), 110 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
delete mode 100644 arch/arm/mach-nspire/mmio.h

--
2.38.1



2023-01-23 21:49:56

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 1/9] dt-bindings: mfd: Add TI-Nspire misc registers

The TI Nspire devices contain a set of registers with a seemingly
miscellaneous set of functionality. This area is known simply as the
"misc" region.

Signed-off-by: Andrew Davis <[email protected]>
---
.../bindings/mfd/ti,nspire-misc.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml

diff --git a/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
new file mode 100644
index 000000000000..316c4b3dcd87
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,nspire-misc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI Nspire MISC hardware block
+
+maintainers:
+ - Andrew Davis <[email protected]>
+
+description: |
+ System controller node represents a register region containing a set
+ of miscellaneous registers. The registers are not cohesive enough to
+ represent as any specific type of device. Currently there is a reset
+ controller.
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - ti,nspire-misc
+ - const: syscon
+ - const: simple-mfd
+
+ reg:
+ maxItems: 1
+
+ reboot:
+ $ref: "../power/reset/syscon-reboot.yaml"
+
+required:
+ - compatible
+ - reg
+ - reboot
+
+additionalProperties: false
+
+examples:
+ - |
+ misc: misc@900a0000 {
+ compatible = "ti,nspire-misc", "syscon", "simple-mfd";
+ reg = <0x900a0000 0x1000>;
+
+ reboot {
+ compatible = "syscon-reboot";
+ offset = <0x08>;
+ value = <0x02>;
+ };
+ };
--
2.38.1


2023-01-23 21:50:01

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 6/9] ARM: dts: nspire: Fix uart node to conform with DT binding

This node does not follow the DT binding schema, correct this.
The arm,pl011 binding requires the first clock to be named "uartclk".
Should result in no functional change.

Signed-off-by: Andrew Davis <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/nspire-cx.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/nspire-cx.dts b/arch/arm/boot/dts/nspire-cx.dts
index 590b7dff6ae5..837dbdd9af55 100644
--- a/arch/arm/boot/dts/nspire-cx.dts
+++ b/arch/arm/boot/dts/nspire-cx.dts
@@ -24,7 +24,7 @@ &uart {
compatible = "arm,pl011", "arm,primecell";

clocks = <&uart_clk>, <&apb_pclk>;
- clock-names = "uart_clk", "apb_pclk";
+ clock-names = "uartclk", "apb_pclk";
};

&timer0 {
--
2.38.1


2023-01-23 21:50:06

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 4/9] ARM: dts: nspire: Fix sram node to conform with DT binding

This node does not follow the DT binding schema, correct this.
Should result in no functional change.

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm/boot/dts/nspire.dtsi | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/nspire.dtsi b/arch/arm/boot/dts/nspire.dtsi
index cb7237051512..f979b28e2576 100644
--- a/arch/arm/boot/dts/nspire.dtsi
+++ b/arch/arm/boot/dts/nspire.dtsi
@@ -26,8 +26,15 @@ bootrom: bootrom@0 {
};

sram: sram@a4000000 {
- device = "memory";
- reg = <0xa4000000 0x20000>;
+ compatible = "mmio-sram";
+ reg = <0xa4000000 0x20000>; /* 128k */
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0xa4000000 0x20000>;
+
+ sram@0 {
+ reg = <0x0 0x20000>;
+ };
};

timer_clk: timer_clk {
--
2.38.1


2023-01-23 21:50:06

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 7/9] ARM: dts: nspire: Use MATRIX_KEY macro for linux,keymap

This looks better and allows us to see the row and column numbers
more easily. Switch to this macro here.

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm/boot/dts/nspire-clp.dts | 90 ++++++++++++++++++++++++--------
arch/arm/boot/dts/nspire-cx.dts | 90 ++++++++++++++++++++++++--------
arch/arm/boot/dts/nspire-tp.dts | 90 ++++++++++++++++++++++++--------
3 files changed, 204 insertions(+), 66 deletions(-)

diff --git a/arch/arm/boot/dts/nspire-clp.dts b/arch/arm/boot/dts/nspire-clp.dts
index f52f38c61588..916ede0c2499 100644
--- a/arch/arm/boot/dts/nspire-clp.dts
+++ b/arch/arm/boot/dts/nspire-clp.dts
@@ -6,32 +6,78 @@
*/
/dts-v1/;

+#include <dt-bindings/input/input.h>
+
/include/ "nspire-classic.dtsi"

&keypad {
linux,keymap = <
- 0x0000001c 0x0001001c 0x00020039
- 0x0004002c 0x00050034 0x00060015
- 0x0007000b 0x0008002d 0x01000033
- 0x0101004e 0x01020011 0x01030004
- 0x0104002f 0x01050003 0x01060016
- 0x01070002 0x01080014 0x02000062
- 0x0201000c 0x0202001f 0x02030007
- 0x02040013 0x02050006 0x02060010
- 0x02070005 0x02080019 0x03000027
- 0x03010037 0x03020018 0x0303000a
- 0x03040031 0x03050009 0x03060032
- 0x03070008 0x03080026 0x04000028
- 0x04010035 0x04020025 0x04040024
- 0x04060017 0x04080023 0x05000028
- 0x05020022 0x0503001b 0x05040021
- 0x0505001a 0x05060012 0x0507006f
- 0x05080020 0x0509002a 0x0601001c
- 0x0602002e 0x06030068 0x06040030
- 0x0605006d 0x0606001e 0x06070001
- 0x0608002b 0x0609000f 0x07000067
- 0x0702006a 0x0704006c 0x07060069
- 0x0707000e 0x0708001d 0x070a000d
+ MATRIX_KEY(0, 0, 0x1c)
+ MATRIX_KEY(0, 1, 0x1c)
+ MATRIX_KEY(0, 2, 0x39)
+ MATRIX_KEY(0, 4, 0x2c)
+ MATRIX_KEY(0, 5, 0x34)
+ MATRIX_KEY(0, 6, 0x15)
+ MATRIX_KEY(0, 7, 0x0b)
+ MATRIX_KEY(0, 8, 0x2d)
+ MATRIX_KEY(1, 0, 0x33)
+ MATRIX_KEY(1, 1, 0x4e)
+ MATRIX_KEY(1, 2, 0x11)
+ MATRIX_KEY(1, 3, 0x04)
+ MATRIX_KEY(1, 4, 0x2f)
+ MATRIX_KEY(1, 5, 0x03)
+ MATRIX_KEY(1, 6, 0x16)
+ MATRIX_KEY(1, 7, 0x02)
+ MATRIX_KEY(1, 8, 0x14)
+ MATRIX_KEY(2, 0, 0x62)
+ MATRIX_KEY(2, 1, 0x0c)
+ MATRIX_KEY(2, 2, 0x1f)
+ MATRIX_KEY(2, 3, 0x07)
+ MATRIX_KEY(2, 4, 0x13)
+ MATRIX_KEY(2, 5, 0x06)
+ MATRIX_KEY(2, 6, 0x10)
+ MATRIX_KEY(2, 7, 0x05)
+ MATRIX_KEY(2, 8, 0x19)
+ MATRIX_KEY(3, 0, 0x27)
+ MATRIX_KEY(3, 1, 0x37)
+ MATRIX_KEY(3, 2, 0x18)
+ MATRIX_KEY(3, 3, 0x0a)
+ MATRIX_KEY(3, 4, 0x31)
+ MATRIX_KEY(3, 5, 0x09)
+ MATRIX_KEY(3, 6, 0x32)
+ MATRIX_KEY(3, 7, 0x08)
+ MATRIX_KEY(3, 8, 0x26)
+ MATRIX_KEY(4, 0, 0x28)
+ MATRIX_KEY(4, 1, 0x35)
+ MATRIX_KEY(4, 2, 0x25)
+ MATRIX_KEY(4, 4, 0x24)
+ MATRIX_KEY(4, 6, 0x17)
+ MATRIX_KEY(4, 8, 0x23)
+ MATRIX_KEY(5, 0, 0x28)
+ MATRIX_KEY(5, 2, 0x22)
+ MATRIX_KEY(5, 3, 0x1b)
+ MATRIX_KEY(5, 4, 0x21)
+ MATRIX_KEY(5, 5, 0x1a)
+ MATRIX_KEY(5, 6, 0x12)
+ MATRIX_KEY(5, 7, 0x6f)
+ MATRIX_KEY(5, 8, 0x20)
+ MATRIX_KEY(5, 9, 0x2a)
+ MATRIX_KEY(6, 1, 0x1c)
+ MATRIX_KEY(6, 2, 0x2e)
+ MATRIX_KEY(6, 3, 0x68)
+ MATRIX_KEY(6, 4, 0x30)
+ MATRIX_KEY(6, 5, 0x6d)
+ MATRIX_KEY(6, 6, 0x1e)
+ MATRIX_KEY(6, 7, 0x01)
+ MATRIX_KEY(6, 8, 0x2b)
+ MATRIX_KEY(6, 9, 0x0f)
+ MATRIX_KEY(7, 0, 0x67)
+ MATRIX_KEY(7, 2, 0x6a)
+ MATRIX_KEY(7, 4, 0x6c)
+ MATRIX_KEY(7, 6, 0x69)
+ MATRIX_KEY(7, 7, 0x0e)
+ MATRIX_KEY(7, 8, 0x1d)
+ MATRIX_KEY(7, 10, 0x0d)
>;
};

diff --git a/arch/arm/boot/dts/nspire-cx.dts b/arch/arm/boot/dts/nspire-cx.dts
index 837dbdd9af55..96c48fc52203 100644
--- a/arch/arm/boot/dts/nspire-cx.dts
+++ b/arch/arm/boot/dts/nspire-cx.dts
@@ -6,6 +6,8 @@
*/
/dts-v1/;

+#include <dt-bindings/input/input.h>
+
/include/ "nspire.dtsi"

&lcd {
@@ -45,28 +47,72 @@ &ahb_clk {

&keypad {
linux,keymap = <
- 0x0000001c 0x0001001c 0x00040039
- 0x0005002c 0x00060015 0x0007000b
- 0x0008000f 0x0100002d 0x01010011
- 0x0102002f 0x01030004 0x01040016
- 0x01050014 0x0106001f 0x01070002
- 0x010a006a 0x02000013 0x02010010
- 0x02020019 0x02030007 0x02040018
- 0x02050031 0x02060032 0x02070005
- 0x02080028 0x0209006c 0x03000026
- 0x03010025 0x03020024 0x0303000a
- 0x03040017 0x03050023 0x03060022
- 0x03070008 0x03080035 0x03090069
- 0x04000021 0x04010012 0x04020020
- 0x0404002e 0x04050030 0x0406001e
- 0x0407000d 0x04080037 0x04090067
- 0x05010038 0x0502000c 0x0503001b
- 0x05040034 0x0505001a 0x05060006
- 0x05080027 0x0509000e 0x050a006f
- 0x0600002b 0x0602004e 0x06030068
- 0x06040003 0x0605006d 0x06060009
- 0x06070001 0x0609000f 0x0708002a
- 0x0709001d 0x070a0033 >;
+ MATRIX_KEY(0, 0, 0x1c)
+ MATRIX_KEY(0, 1, 0x1c)
+ MATRIX_KEY(0, 4, 0x39)
+ MATRIX_KEY(0, 5, 0x2c)
+ MATRIX_KEY(0, 6, 0x15)
+ MATRIX_KEY(0, 7, 0x0b)
+ MATRIX_KEY(0, 8, 0x0f)
+ MATRIX_KEY(1, 0, 0x2d)
+ MATRIX_KEY(1, 1, 0x11)
+ MATRIX_KEY(1, 2, 0x2f)
+ MATRIX_KEY(1, 3, 0x04)
+ MATRIX_KEY(1, 4, 0x16)
+ MATRIX_KEY(1, 5, 0x14)
+ MATRIX_KEY(1, 6, 0x1f)
+ MATRIX_KEY(1, 7, 0x02)
+ MATRIX_KEY(1, 10, 0x6a)
+ MATRIX_KEY(2, 0, 0x13)
+ MATRIX_KEY(2, 1, 0x10)
+ MATRIX_KEY(2, 2, 0x19)
+ MATRIX_KEY(2, 3, 0x07)
+ MATRIX_KEY(2, 4, 0x18)
+ MATRIX_KEY(2, 5, 0x31)
+ MATRIX_KEY(2, 6, 0x32)
+ MATRIX_KEY(2, 7, 0x05)
+ MATRIX_KEY(2, 8, 0x28)
+ MATRIX_KEY(2, 9, 0x6c)
+ MATRIX_KEY(3, 0, 0x26)
+ MATRIX_KEY(3, 1, 0x25)
+ MATRIX_KEY(3, 2, 0x24)
+ MATRIX_KEY(3, 3, 0x0a)
+ MATRIX_KEY(3, 4, 0x17)
+ MATRIX_KEY(3, 5, 0x23)
+ MATRIX_KEY(3, 6, 0x22)
+ MATRIX_KEY(3, 7, 0x08)
+ MATRIX_KEY(3, 8, 0x35)
+ MATRIX_KEY(3, 9, 0x69)
+ MATRIX_KEY(4, 0, 0x21)
+ MATRIX_KEY(4, 1, 0x12)
+ MATRIX_KEY(4, 2, 0x20)
+ MATRIX_KEY(4, 4, 0x2e)
+ MATRIX_KEY(4, 5, 0x30)
+ MATRIX_KEY(4, 6, 0x1e)
+ MATRIX_KEY(4, 7, 0x0d)
+ MATRIX_KEY(4, 8, 0x37)
+ MATRIX_KEY(4, 9, 0x67)
+ MATRIX_KEY(5, 1, 0x38)
+ MATRIX_KEY(5, 2, 0x0c)
+ MATRIX_KEY(5, 3, 0x1b)
+ MATRIX_KEY(5, 4, 0x34)
+ MATRIX_KEY(5, 5, 0x1a)
+ MATRIX_KEY(5, 6, 0x06)
+ MATRIX_KEY(5, 8, 0x27)
+ MATRIX_KEY(5, 9, 0x0e)
+ MATRIX_KEY(5, 10, 0x6f)
+ MATRIX_KEY(6, 0, 0x2b)
+ MATRIX_KEY(6, 2, 0x4e)
+ MATRIX_KEY(6, 3, 0x68)
+ MATRIX_KEY(6, 4, 0x03)
+ MATRIX_KEY(6, 5, 0x6d)
+ MATRIX_KEY(6, 6, 0x09)
+ MATRIX_KEY(6, 7, 0x01)
+ MATRIX_KEY(6, 9, 0x0f)
+ MATRIX_KEY(7, 8, 0x2a)
+ MATRIX_KEY(7, 9, 0x1d)
+ MATRIX_KEY(7, 10, 0x33)
+ >;
};

&vbus_reg {
diff --git a/arch/arm/boot/dts/nspire-tp.dts b/arch/arm/boot/dts/nspire-tp.dts
index f7d0faacd4cc..235cd4264da7 100644
--- a/arch/arm/boot/dts/nspire-tp.dts
+++ b/arch/arm/boot/dts/nspire-tp.dts
@@ -6,32 +6,78 @@
*/
/dts-v1/;

+#include <dt-bindings/input/input.h>
+
/include/ "nspire-classic.dtsi"

&keypad {
linux,keymap = <
- 0x0000001c 0x0001001c 0x00040039
- 0x0005002c 0x00060015 0x0007000b
- 0x0008000f 0x0100002d 0x01010011
- 0x0102002f 0x01030004 0x01040016
- 0x01050014 0x0106001f 0x01070002
- 0x010a006a 0x02000013 0x02010010
- 0x02020019 0x02030007 0x02040018
- 0x02050031 0x02060032 0x02070005
- 0x02080028 0x0209006c 0x03000026
- 0x03010025 0x03020024 0x0303000a
- 0x03040017 0x03050023 0x03060022
- 0x03070008 0x03080035 0x03090069
- 0x04000021 0x04010012 0x04020020
- 0x0404002e 0x04050030 0x0406001e
- 0x0407000d 0x04080037 0x04090067
- 0x05010038 0x0502000c 0x0503001b
- 0x05040034 0x0505001a 0x05060006
- 0x05080027 0x0509000e 0x050a006f
- 0x0600002b 0x0602004e 0x06030068
- 0x06040003 0x0605006d 0x06060009
- 0x06070001 0x0609000f 0x0708002a
- 0x0709001d 0x070a0033 >;
+ MATRIX_KEY(0, 0, 0x1c)
+ MATRIX_KEY(0, 1, 0x1c)
+ MATRIX_KEY(0, 4, 0x39)
+ MATRIX_KEY(0, 5, 0x2c)
+ MATRIX_KEY(0, 6, 0x15)
+ MATRIX_KEY(0, 7, 0x0b)
+ MATRIX_KEY(0, 8, 0x0f)
+ MATRIX_KEY(1, 0, 0x2d)
+ MATRIX_KEY(1, 1, 0x11)
+ MATRIX_KEY(1, 2, 0x2f)
+ MATRIX_KEY(1, 3, 0x04)
+ MATRIX_KEY(1, 4, 0x16)
+ MATRIX_KEY(1, 5, 0x14)
+ MATRIX_KEY(1, 6, 0x1f)
+ MATRIX_KEY(1, 7, 0x02)
+ MATRIX_KEY(1, 10, 0x6a)
+ MATRIX_KEY(2, 0, 0x13)
+ MATRIX_KEY(2, 1, 0x10)
+ MATRIX_KEY(2, 2, 0x19)
+ MATRIX_KEY(2, 3, 0x07)
+ MATRIX_KEY(2, 4, 0x18)
+ MATRIX_KEY(2, 5, 0x31)
+ MATRIX_KEY(2, 6, 0x32)
+ MATRIX_KEY(2, 7, 0x05)
+ MATRIX_KEY(2, 8, 0x28)
+ MATRIX_KEY(2, 9, 0x6c)
+ MATRIX_KEY(3, 0, 0x26)
+ MATRIX_KEY(3, 1, 0x25)
+ MATRIX_KEY(3, 2, 0x24)
+ MATRIX_KEY(3, 3, 0x0a)
+ MATRIX_KEY(3, 4, 0x17)
+ MATRIX_KEY(3, 5, 0x23)
+ MATRIX_KEY(3, 6, 0x22)
+ MATRIX_KEY(3, 7, 0x08)
+ MATRIX_KEY(3, 8, 0x35)
+ MATRIX_KEY(3, 9, 0x69)
+ MATRIX_KEY(4, 0, 0x21)
+ MATRIX_KEY(4, 1, 0x12)
+ MATRIX_KEY(4, 2, 0x20)
+ MATRIX_KEY(4, 4, 0x2e)
+ MATRIX_KEY(4, 5, 0x30)
+ MATRIX_KEY(4, 6, 0x1e)
+ MATRIX_KEY(4, 7, 0x0d)
+ MATRIX_KEY(4, 8, 0x37)
+ MATRIX_KEY(4, 9, 0x67)
+ MATRIX_KEY(5, 1, 0x38)
+ MATRIX_KEY(5, 2, 0x0c)
+ MATRIX_KEY(5, 3, 0x1b)
+ MATRIX_KEY(5, 4, 0x34)
+ MATRIX_KEY(5, 5, 0x1a)
+ MATRIX_KEY(5, 6, 0x06)
+ MATRIX_KEY(5, 8, 0x27)
+ MATRIX_KEY(5, 9, 0x0e)
+ MATRIX_KEY(5, 10, 0x6f)
+ MATRIX_KEY(6, 0, 0x2b)
+ MATRIX_KEY(6, 2, 0x4e)
+ MATRIX_KEY(6, 3, 0x68)
+ MATRIX_KEY(6, 4, 0x03)
+ MATRIX_KEY(6, 5, 0x6d)
+ MATRIX_KEY(6, 6, 0x09)
+ MATRIX_KEY(6, 7, 0x01)
+ MATRIX_KEY(6, 9, 0x0f)
+ MATRIX_KEY(7, 8, 0x2a)
+ MATRIX_KEY(7, 9, 0x1d)
+ MATRIX_KEY(7, 10, 0x33)
+ >;
};

/ {
--
2.38.1


2023-01-23 21:50:10

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 2/9] ARM: dts: nspire: Use syscon-reboot to handle restart

Writing this bit can be handled by the syscon-reboot driver.
Add this node to DT.

Signed-off-by: Andrew Davis <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Tested-by: Fabian Vogt <[email protected]>
Reviewed-by: Fabian Vogt <[email protected]>
---
arch/arm/boot/dts/nspire.dtsi | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/nspire.dtsi b/arch/arm/boot/dts/nspire.dtsi
index bb240e6a3a6f..48fbc9d533c3 100644
--- a/arch/arm/boot/dts/nspire.dtsi
+++ b/arch/arm/boot/dts/nspire.dtsi
@@ -172,7 +172,14 @@ rtc: rtc@90090000 {
};

misc: misc@900a0000 {
+ compatible = "ti,nspire-misc", "syscon", "simple-mfd";
reg = <0x900a0000 0x1000>;
+
+ reboot {
+ compatible = "syscon-reboot";
+ offset = <0x08>;
+ value = <0x02>;
+ };
};

pwr: pwr@900b0000 {
--
2.38.1


2023-01-23 21:50:13

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 5/9] ARM: dts: nspire: Fix vbus_reg node to conform with DT binding

This node does not follow the DT binding schema, correct this.
All "regulator-fixed" are voltage type, so drop "regulator-type".
Should result in no functional change.

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm/boot/dts/nspire.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/nspire.dtsi b/arch/arm/boot/dts/nspire.dtsi
index f979b28e2576..9587e1ebeb93 100644
--- a/arch/arm/boot/dts/nspire.dtsi
+++ b/arch/arm/boot/dts/nspire.dtsi
@@ -71,7 +71,6 @@ vbus_reg: vbus_reg {
compatible = "regulator-fixed";

regulator-name = "USB VBUS output";
- regulator-type = "voltage";

regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
--
2.38.1


2023-01-23 21:50:15

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 9/9] ARM: nspire: Remove unused header file mmio.h

The Nspire boardfile platform drivers have all been converted. None
of the definitions in this header are used anymore. Remove it.

While here lets remove all the other unused headers and the file
name from in the file itself.

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm/mach-nspire/mmio.h | 13 -------------
arch/arm/mach-nspire/nspire.c | 14 --------------
2 files changed, 27 deletions(-)
delete mode 100644 arch/arm/mach-nspire/mmio.h

diff --git a/arch/arm/mach-nspire/mmio.h b/arch/arm/mach-nspire/mmio.h
deleted file mode 100644
index 2ce0656139ec..000000000000
--- a/arch/arm/mach-nspire/mmio.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * linux/arch/arm/mach-nspire/mmio.h
- *
- * Copyright (C) 2013 Daniel Tang <[email protected]>
- */
-
-#define NSPIRE_PWR_PHYS_BASE 0x900B0000
-#define NSPIRE_PWR_VIRT_BASE 0xFEEB0000
-#define NSPIRE_PWR_BUS_DISABLE1 0x18
-#define NSPIRE_PWR_BUS_DISABLE2 0x20
-
-#define NSPIRE_LCD_PHYS_BASE 0xC0000000
diff --git a/arch/arm/mach-nspire/nspire.c b/arch/arm/mach-nspire/nspire.c
index 1e13337972dd..2fbfc23237ff 100644
--- a/arch/arm/mach-nspire/nspire.c
+++ b/arch/arm/mach-nspire/nspire.c
@@ -1,23 +1,9 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * linux/arch/arm/mach-nspire/nspire.c
- *
* Copyright (C) 2013 Daniel Tang <[email protected]>
*/
-#include <linux/init.h>
-#include <linux/of_irq.h>
-#include <linux/of_address.h>
-#include <linux/of_platform.h>
-#include <linux/irqchip.h>
-#include <linux/irqchip/arm-vic.h>
-#include <linux/clkdev.h>
-#include <linux/amba/bus.h>

#include <asm/mach/arch.h>
-#include <asm/mach-types.h>
-#include <asm/mach/map.h>
-
-#include "mmio.h"

static const char *const nspire_dt_match[] __initconst = {
"ti,nspire",
--
2.38.1


2023-01-23 21:50:18

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v5 8/9] ARM: nspire: Use syscon-reboot to handle restart

Writing this bit can be handled by the DT syscon-reboot driver.
Enable that driver and remove the machine_desc version.

Signed-off-by: Andrew Davis <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Tested-by: Fabian Vogt <[email protected]>
Reviewed-by: Fabian Vogt <[email protected]>
---
arch/arm/mach-nspire/Kconfig | 2 ++
arch/arm/mach-nspire/mmio.h | 3 ---
arch/arm/mach-nspire/nspire.c | 10 ----------
3 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-nspire/Kconfig b/arch/arm/mach-nspire/Kconfig
index b7a3871876d7..0ffdcaca1e6b 100644
--- a/arch/arm/mach-nspire/Kconfig
+++ b/arch/arm/mach-nspire/Kconfig
@@ -9,5 +9,7 @@ config ARCH_NSPIRE
select ARM_VIC
select ARM_TIMER_SP804
select NSPIRE_TIMER
+ select POWER_RESET
+ select POWER_RESET_SYSCON
help
This enables support for systems using the TI-NSPIRE CPU
diff --git a/arch/arm/mach-nspire/mmio.h b/arch/arm/mach-nspire/mmio.h
index 48e32f13f311..2ce0656139ec 100644
--- a/arch/arm/mach-nspire/mmio.h
+++ b/arch/arm/mach-nspire/mmio.h
@@ -5,9 +5,6 @@
* Copyright (C) 2013 Daniel Tang <[email protected]>
*/

-#define NSPIRE_MISC_PHYS_BASE 0x900A0000
-#define NSPIRE_MISC_HWRESET 0x08
-
#define NSPIRE_PWR_PHYS_BASE 0x900B0000
#define NSPIRE_PWR_VIRT_BASE 0xFEEB0000
#define NSPIRE_PWR_BUS_DISABLE1 0x18
diff --git a/arch/arm/mach-nspire/nspire.c b/arch/arm/mach-nspire/nspire.c
index 2d4abb0288b9..1e13337972dd 100644
--- a/arch/arm/mach-nspire/nspire.c
+++ b/arch/arm/mach-nspire/nspire.c
@@ -27,16 +27,6 @@ static const char *const nspire_dt_match[] __initconst = {
NULL,
};

-static void nspire_restart(enum reboot_mode mode, const char *cmd)
-{
- void __iomem *base = ioremap(NSPIRE_MISC_PHYS_BASE, SZ_4K);
- if (!base)
- return;
-
- writel(2, base + NSPIRE_MISC_HWRESET);
-}
-
DT_MACHINE_START(NSPIRE, "TI-NSPIRE")
.dt_compat = nspire_dt_match,
- .restart = nspire_restart,
MACHINE_END
--
2.38.1


2023-01-23 21:57:31

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v5 0/9] TI-Nspire cleanups

On Mon, Jan 23, 2023, at 22:49, Andrew Davis wrote:
> Hello all,
>
> This series is an extended version of the series started here[0]
> and here[1].
>
> We break out what was the first patch into one for DTS change and
> one for code changes as suggested by Krzysztof. Those are now patches
> 2 and 8 of this series (I kept the ACKs, hope that is okay).
>
> As also pointed out by Krzysztof syscon nodes need a specific
> compatible, add that as patch 1.
>
> While I was adding that, I noticed some other dtbs_check issues,
> so while here fixed some of those up too (patches 3-6).

Looks all good to me, if there are no final comments within the
next few days, can you send this all to:[email protected], either as
separate patches or as two pull requests (dts and code) based
on 6.2-rc-1?

I think I previously commented on the lack of an entry in
the MAINTAINERS. It would be nice to have one more patch to
add this, whichever way you want to split this with Daniel,
adding one or both of you as maintainer and/or reviewer.
I'd keep that separate from this series though, to not hold
it up any longer.

Arnd

2023-01-23 23:57:22

by Andrew Davis

[permalink] [raw]
Subject: Re: [PATCH v5 0/9] TI-Nspire cleanups

On 1/23/23 3:57 PM, Arnd Bergmann wrote:
> On Mon, Jan 23, 2023, at 22:49, Andrew Davis wrote:
>> Hello all,
>>
>> This series is an extended version of the series started here[0]
>> and here[1].
>>
>> We break out what was the first patch into one for DTS change and
>> one for code changes as suggested by Krzysztof. Those are now patches
>> 2 and 8 of this series (I kept the ACKs, hope that is okay).
>>
>> As also pointed out by Krzysztof syscon nodes need a specific
>> compatible, add that as patch 1.
>>
>> While I was adding that, I noticed some other dtbs_check issues,
>> so while here fixed some of those up too (patches 3-6).
>
> Looks all good to me, if there are no final comments within the
> next few days, can you send this all to:[email protected], either as
> separate patches or as two pull requests (dts and code) based
> on 6.2-rc-1?
>

Sure thing.

> I think I previously commented on the lack of an entry in
> the MAINTAINERS. It would be nice to have one more patch to
> add this, whichever way you want to split this with Daniel,
> adding one or both of you as maintainer and/or reviewer.
> I'd keep that separate from this series though, to not hold
> it up any longer.
>

Daniel,

Do you want to do this? If not I can add myself as a reviewer, the
point of this series is to boil down the support to just the DTS file,
at which point hopefully we won't need too much maintenance.

Andrew

> Arnd

2023-01-24 10:34:00

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v5 0/9] TI-Nspire cleanups

On Mon, 23 Jan 2023, Arnd Bergmann wrote:

> On Mon, Jan 23, 2023, at 22:49, Andrew Davis wrote:
> > Hello all,
> >
> > This series is an extended version of the series started here[0]
> > and here[1].
> >
> > We break out what was the first patch into one for DTS change and
> > one for code changes as suggested by Krzysztof. Those are now patches
> > 2 and 8 of this series (I kept the ACKs, hope that is okay).
> >
> > As also pointed out by Krzysztof syscon nodes need a specific
> > compatible, add that as patch 1.
> >
> > While I was adding that, I noticed some other dtbs_check issues,
> > so while here fixed some of those up too (patches 3-6).
>
> Looks all good to me, if there are no final comments within the
> next few days, can you send this all to:[email protected], either as
> separate patches or as two pull requests (dts and code) based
> on 6.2-rc-1?

Once the dt-bindings patch has been Acked by the DT maintainers, I'll
take this via MFD.

--
Lee Jones [李琼斯]

2023-01-25 19:57:26

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v5 1/9] dt-bindings: mfd: Add TI-Nspire misc registers

On Mon, Jan 23, 2023 at 03:49:16PM -0600, Andrew Davis wrote:
> The TI Nspire devices contain a set of registers with a seemingly
> miscellaneous set of functionality. This area is known simply as the
> "misc" region.
>
> Signed-off-by: Andrew Davis <[email protected]>
> ---
> .../bindings/mfd/ti,nspire-misc.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
> new file mode 100644
> index 000000000000..316c4b3dcd87
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
> @@ -0,0 +1,51 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/ti,nspire-misc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI Nspire MISC hardware block
> +
> +maintainers:
> + - Andrew Davis <[email protected]>
> +
> +description: |

Drop '|'

> + System controller node represents a register region containing a set
> + of miscellaneous registers. The registers are not cohesive enough to
> + represent as any specific type of device. Currently there is a reset
> + controller.
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - ti,nspire-misc
> + - const: syscon
> + - const: simple-mfd
> +
> + reg:
> + maxItems: 1
> +
> + reboot:
> + $ref: "../power/reset/syscon-reboot.yaml"

$ref: /schemas/power/reset/syscon-reboot.yaml#

Otherwise,

Reviewed-by: Rob Herring <[email protected]>

2023-01-28 02:01:08

by Daniel Tang

[permalink] [raw]
Subject: Re: [PATCH v5 0/9] TI-Nspire cleanups

On Tue, 24 Jan 2023 at 10:56, Andrew Davis <[email protected]> wrote:
>
> On 1/23/23 3:57 PM, Arnd Bergmann wrote:
> > On Mon, Jan 23, 2023, at 22:49, Andrew Davis wrote:
> >> Hello all,
> >>
> >> This series is an extended version of the series started here[0]
> >> and here[1].
> >>
> >> We break out what was the first patch into one for DTS change and
> >> one for code changes as suggested by Krzysztof. Those are now patches
> >> 2 and 8 of this series (I kept the ACKs, hope that is okay).
> >>
> >> As also pointed out by Krzysztof syscon nodes need a specific
> >> compatible, add that as patch 1.
> >>
> >> While I was adding that, I noticed some other dtbs_check issues,
> >> so while here fixed some of those up too (patches 3-6).
> >
> > Looks all good to me, if there are no final comments within the
> > next few days, can you send this all to:[email protected], either as
> > separate patches or as two pull requests (dts and code) based
> > on 6.2-rc-1?
> >
>
> Sure thing.
>
> > I think I previously commented on the lack of an entry in
> > the MAINTAINERS. It would be nice to have one more patch to
> > add this, whichever way you want to split this with Daniel,
> > adding one or both of you as maintainer and/or reviewer.
> > I'd keep that separate from this series though, to not hold
> > it up any longer.
> >
>
> Daniel,
>
> Do you want to do this? If not I can add myself as a reviewer, the
> point of this series is to boil down the support to just the DTS file,
> at which point hopefully we won't need too much maintenance.
>
> Andrew
>

I would prefer that someone who is more active in this project be the
maintainer (I've not been working on this platform for many years now,
and don't currently have the means to test changes).

Fabian, would you be OK being listed as a maintainer for now? If not,
I'll get in touch with some other project team members to find a
maintainer.

Cheers,
Daniel

> > Arnd

2023-01-28 10:39:47

by Fabian Vogt

[permalink] [raw]
Subject: Re: [PATCH v5 0/9] TI-Nspire cleanups

Hi,

Am Samstag, 28. Januar 2023, 03:00:49 CET schrieb Daniel Tang:
> On Tue, 24 Jan 2023 at 10:56, Andrew Davis <[email protected]> wrote:
> >
> > On 1/23/23 3:57 PM, Arnd Bergmann wrote:
> > > On Mon, Jan 23, 2023, at 22:49, Andrew Davis wrote:
> > >> Hello all,
> > >>
> > >> This series is an extended version of the series started here[0]
> > >> and here[1].
> > >>
> > >> We break out what was the first patch into one for DTS change and
> > >> one for code changes as suggested by Krzysztof. Those are now patches
> > >> 2 and 8 of this series (I kept the ACKs, hope that is okay).
> > >>
> > >> As also pointed out by Krzysztof syscon nodes need a specific
> > >> compatible, add that as patch 1.
> > >>
> > >> While I was adding that, I noticed some other dtbs_check issues,
> > >> so while here fixed some of those up too (patches 3-6).
> > >
> > > Looks all good to me, if there are no final comments within the
> > > next few days, can you send this all to:[email protected], either as
> > > separate patches or as two pull requests (dts and code) based
> > > on 6.2-rc-1?
> > >
> >
> > Sure thing.
> >
> > > I think I previously commented on the lack of an entry in
> > > the MAINTAINERS. It would be nice to have one more patch to
> > > add this, whichever way you want to split this with Daniel,
> > > adding one or both of you as maintainer and/or reviewer.
> > > I'd keep that separate from this series though, to not hold
> > > it up any longer.
> > >
> >
> > Daniel,
> >
> > Do you want to do this? If not I can add myself as a reviewer, the
> > point of this series is to boil down the support to just the DTS file,
> > at which point hopefully we won't need too much maintenance.
> >
> > Andrew
> >
>
> I would prefer that someone who is more active in this project be the
> maintainer (I've not been working on this platform for many years now,
> and don't currently have the means to test changes).
>
> Fabian, would you be OK being listed as a maintainer for now? If not,
> I'll get in touch with some other project team members to find a
> maintainer.

Sure.

Cheers,
Fabian

> Cheers,
> Daniel
>
> > > Arnd