devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] ARM: dts: suniv: F1C100s: add more peripherals
@ 2022-11-07  0:54 Andre Przywara
  2022-11-07  0:54 ` [PATCH v2 01/10] dt-bindings: pwm: allwinner,sun4i-a10: Add F1C100s compatible Andre Przywara
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Andre Przywara @ 2022-11-07  0:54 UTC (permalink / raw)
  To: Chen-Yu Tsai, Samuel Holland, Jernej Skrabec, Rob Herring,
	Krzysztof Kozlowski
  Cc: Clément Péron, Icenowy Zheng, devicetree,
	linux-arm-kernel, linux-sunxi

This is a fixed version of the initial post. I dropped the two patches
that were already applied by the respective maintainers, and fixed the
smaller issues mentioned in the review.
This adds v2 of the series enabling the "Lctech Pi F1C200s" board on top,
also with the comments addressed.
The whole series goes on top of v3 of Icenowy's F1C100s USB support
series [1]. There is no real conflict, but the lctech-pi.dts file
references the new USB DT nodes from the .dtsi.

I put a git repo with all those patches up here:
https://github.com/apritzel/linux/commits/f1c100s-devices-v2

For a changelog see below.

[1] https://lore.kernel.org/linux-arm-kernel/20221106154826.6687-1-andre.przywara@arm.com/T/#t

=================
The Allwinner F1C100s series of SoCs shares many peripherals with other
Allwinner SoCs. Since they are compatible, we can use the existing
drivers, and just need to enable the devices in the DT.

This series adds the I2C controllers, the PWM device, the CIR (infrared)
device and the LRADC (aka. KEYADC, low res ADC) to the F1C100s .dtsi, so
boards can just use them by setting 'status = "okay";'.

The only thing missing driver-wise is the IR mod clock, which was not
modeled in our CCU driver. Patch 4/10 fixes that.

For every device there is one patch that adds the new compatible string
to the DT binding, and another patch to add the DT node.

This has been tested on the Lctech Pi F1C200s board, by:
- Connecting an LED to PE6, and configuring this as the PWM pin in the DT.
  Doing a sweep on /sys/class/pwm/pwm1/duty_cycle made the LED fade out.
- Configuring PD0/PD12 as I2C0, and letting i2c-detect find the on-board
  NS2009 I2C chip.
- Connecting two resistors to the "ADC" pin, and configuring them as two
  buttons in the DT. /dev/input/event0 properly reported button presses.
- Connecting an infrared receiver to PE11, configured as CIR.
  ir-keytable reported key presses on a remote control.

All those (basic) tests were successful, and prove that the peripherals
do work and are compatible.

The final three patches add the binding docs and the .dts file for the
Lctech Pi F1C200s development board.

Please have a look and test on your hardware, if possible.

Cheers,
Andre

Changelog v1 ... v2:
- dropped former patch 3/9 and 8/9: already applied
- increase register frame size in DT for PWM and LRADC
- drop I2C1 pins from pinctroller DT node
- increase IR mod clock mux to 2 bits
- fix mistyped comma in vendor prefix name
- drop unneeded mmc0 and spi0 aliases from Lctech Pi DT
- add /omit-if-no-ref/ tag to UART1 pins
- add ACKs and Reviewed-by tags


Andre Przywara (10):
  dt-bindings: pwm: allwinner,sun4i-a10: Add F1C100s compatible
  ARM: dts: suniv: f1c100s: add PWM node
  ARM: dts: suniv: f1c100s: add I2C DT nodes
  clk: sunxi-ng: f1c100s: Add IR mod clock
  dt-bindings: media: IR: Add F1C100s IR compatible string
  ARM: dts: suniv: f1c100s: add CIR DT node
  ARM: dts: suniv: f1c100s: add LRADC node
  dt-bindings: vendor-prefixes: add Lctech name
  dt-bindings: arm: sunxi: add compatible strings for Lctech Pi
  ARM: dts: suniv: Add Lctech Pi F1C200s devicetree

 .../devicetree/bindings/arm/sunxi.yaml        |  6 ++
 .../media/allwinner,sun4i-a10-ir.yaml         |  1 +
 .../bindings/pwm/allwinner,sun4i-a10-pwm.yaml |  4 +-
 .../devicetree/bindings/vendor-prefixes.yaml  |  2 +
 arch/arm/boot/dts/Makefile                    |  1 +
 arch/arm/boot/dts/suniv-f1c100s.dtsi          | 76 ++++++++++++++++++
 arch/arm/boot/dts/suniv-f1c200s-lctech-pi.dts | 78 +++++++++++++++++++
 drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c      | 11 ++-
 drivers/clk/sunxi-ng/ccu-suniv-f1c100s.h      |  2 +-
 include/dt-bindings/clock/suniv-ccu-f1c100s.h |  2 +
 10 files changed, 180 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/suniv-f1c200s-lctech-pi.dts

-- 
2.35.5


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2022-11-16 18:53 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-07  0:54 [PATCH v2 00/10] ARM: dts: suniv: F1C100s: add more peripherals Andre Przywara
2022-11-07  0:54 ` [PATCH v2 01/10] dt-bindings: pwm: allwinner,sun4i-a10: Add F1C100s compatible Andre Przywara
2022-11-07 20:09   ` Uwe Kleine-König
2022-11-15 10:25   ` Thierry Reding
2022-11-07  0:54 ` [PATCH v2 02/10] ARM: dts: suniv: f1c100s: add PWM node Andre Przywara
2022-11-07 17:57   ` Jernej Škrabec
2022-11-15 10:19   ` Uwe Kleine-König
2022-11-15 10:25     ` Thierry Reding
2022-11-15 21:40       ` Jernej Škrabec
2022-11-07  0:54 ` [PATCH v2 03/10] ARM: dts: suniv: f1c100s: add I2C DT nodes Andre Przywara
2022-11-07 18:00   ` Jernej Škrabec
2022-11-07  0:54 ` [PATCH v2 04/10] clk: sunxi-ng: f1c100s: Add IR mod clock Andre Przywara
2022-11-07 18:01   ` Jernej Škrabec
2022-11-07  0:54 ` [PATCH v2 05/10] dt-bindings: media: IR: Add F1C100s IR compatible string Andre Przywara
2022-11-07  0:54 ` [PATCH v2 06/10] ARM: dts: suniv: f1c100s: add CIR DT node Andre Przywara
2022-11-07  0:54 ` [PATCH v2 07/10] ARM: dts: suniv: f1c100s: add LRADC node Andre Przywara
2022-11-07  0:54 ` [PATCH v2 08/10] dt-bindings: vendor-prefixes: add Lctech name Andre Przywara
2022-11-07 18:02   ` Jernej Škrabec
2022-11-07 18:16   ` Krzysztof Kozlowski
2022-11-07  0:54 ` [PATCH v2 09/10] dt-bindings: arm: sunxi: add compatible strings for Lctech Pi Andre Przywara
2022-11-07  0:54 ` [PATCH v2 10/10] ARM: dts: suniv: Add Lctech Pi F1C200s devicetree Andre Przywara
2022-11-07 18:03   ` Jernej Škrabec
2022-11-07 19:33 ` [PATCH v2 00/10] ARM: dts: suniv: F1C100s: add more peripherals Jernej Škrabec
2022-11-15  0:28   ` Andre Przywara
2022-11-15  5:11     ` Jernej Škrabec
2022-11-16 18:50       ` Jernej Škrabec

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).