Re: [PATCH v2 00/10] ARM: dts: suniv: F1C100s: add more peripherals

Andre Przywara
2022-11-15T00:31:15Z

On Mon, 07 Nov 2022 20:33:47 +0100
Jernej Škrabec <jernej.skrabec@gmail.com> wrote:

Hi Jernej,

thanks for the reviews!

> Dne ponedeljek, 07. november 2022 ob 01:54:23 CET je Andre Przywara
> napisal(a):
> > 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.
>
> Please don't combine series if not agreed upon before. Now whole series will
> be delayed until USB is sorted out.

Apologies for that. Indeed I should have added the board DT to the USB
series instead, as there is no dependency to anything in here.

If you don't mind, I will send a v3 with the last three patches
dropped, and the ACKs and R-b's added (and that one line in the commit
message fixed).

Cheers,
Andre

>
> Best regards,
> Jernej
>
> > 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.przywa
> > ra@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