mbox series

[v2,0/6] Initial support for Samsung Galaxy Tab 2 series

Message ID 20241030211215.347710-1-bavishimithil@gmail.com
Headers show
Series Initial support for Samsung Galaxy Tab 2 series | expand

Message

Mithil Bavishi Oct. 30, 2024, 9:12 p.m. UTC
This series adds initial support for the Samsung Galaxy Tab 2
(samsung-espresso*) series of devices. It adds support for 6 variants
(P3100, P3110, P3113, P5100, P5110, P5113). Downstream categorised them
based on 3G and WiFi, but since they use different panel, touch
controllers, batteries, I decided to categorise them based on screen
size as espresso7 and espresso10.

It adds basic functionality for both the models including panel, drm,
sdcard, touchscreen, mmc, wifi, bluetooth, keys, battery, fuel gauge,
pmic, sensors.

Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
---
Changes in v2
- Fix node names in common dtsi to have - instead of _
- Removed import for twl6030.dtsi
- Edited dts to completely use twl6032 nodes
- Fixed typo ldosb -> ldousb
- Link to v1: https://lore.kernel.org/all/20241030194136.297648-1-bavishimithil@gmail.com/

--
Mithil Bavishi (6):
  ARM: dts: twl6032: Add DTS file for TWL6032 PMIC
  arm/dts: Add common device tree for Samsung Galaxy Tab 2 series
  dt-bindings: omap: Add Samaung Galaxy Tab 2 7.0
  arm/dts: Add initial support for Galaxy Tab 2 7.0
  dt-bindings: omap: Add Samaung Galaxy Tab 2 10.1
  arm/dts: Add initial support for Galaxy Tab 2 10.1

 .../devicetree/bindings/arm/ti/omap.yaml      |   2 +
 arch/arm/boot/dts/ti/omap/Makefile            |   2 +
 .../omap/omap4-samsung-espresso-common.dtsi   | 690 ++++++++++++++++++
 .../dts/ti/omap/omap4-samsung-espresso10.dts  | 102 +++
 .../dts/ti/omap/omap4-samsung-espresso7.dts   |  70 ++
 arch/arm/boot/dts/ti/omap/twl6032.dtsi        |  81 ++
 6 files changed, 947 insertions(+)
 create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi
 create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso10.dts
 create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dts
 create mode 100644 arch/arm/boot/dts/ti/omap/twl6032.dtsi

Comments

Andreas Kemnade Oct. 30, 2024, 10:42 p.m. UTC | #1
Hi Mithil,

Am Wed, 30 Oct 2024 21:12:11 +0000
schrieb Mithil Bavishi <bavishimithil@gmail.com>:

> +	twl: twl@48 {
> +		reg = <0x48>;
> +		#clock-cells = <1>;
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <
> +			&twl6030_pins
> +			&twl6030_wkup_pins
> +		>;
> +
> +		/* SPI = 0, IRQ# = 7, 4 = active high
> level-sensitive */
> +		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /*
> IRQ_SYS_1N cascaded to gic */
> +		interrupt-parent = <&gic>;
> +		ti,system-power-controller;

this has to be system-power-controller;

And you have it correctly here:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/blob/master/device/community/linux-postmarketos-omap/0002-arm-dts-Add-common-dtsi-for-espresso.patch?ref_type=heads#L532

so, please double-check if you are trying to mainline the right branch.
No need to respin just for this line. There is still a lot other stuff
to fix here but I want to make sure we are looking at the right thing.

Regards,
Andreas
Mithil Bavishi Oct. 31, 2024, 6:55 a.m. UTC | #2
> this has to be system-power-controller;

I am so sorry for the mess up, I was on the wrong branch which is almost the same as pmOS but a bit older, hence the entire mess up. I'll run a quick diff from pmOS and this patch and fix them accordingly.

> There is still a lot other stuff to fix here but I want to make sure we are looking at the right thing.

Could you please go ahead and mention them as well.

Best Regards,
Mithil
Andreas Kemnade Oct. 31, 2024, 7:32 a.m. UTC | #3
Hi,

Am Thu, 31 Oct 2024 06:55:24 +0000
schrieb Mithil Bavishi <bavishimithil@gmail.com>:

> > this has to be system-power-controller;  
> 
> I am so sorry for the mess up, I was on the wrong branch which is
> almost the same as pmOS but a bit older, hence the entire mess up.
> I'll run a quick diff from pmOS and this patch and fix them
> accordingly.
> 
> > There is still a lot other stuff to fix here but I want to make
> > sure we are looking at the right thing.  
> 
> Could you please go ahead and mention them as well.
> 
well, that takes time, I wanted to start that on the right thing.

1. make dtbs shows warnings

2. make CHECK_DTBS=y ti/omap/omap4-samsung-espresso7.dtb is too noisy
(probably same for espresso10).

a lot comes from the dtsi files, so you need to ignore a lot, probably
either strip down the new dts to almost nothing besides dtsi includes
to determine the background noise or take a similar device, redirect
output and errors, diff that output with the full devicetree.
I am trying to clean that dtsi warning mess up, linux-next shows a lot
less warnings but that takes time.

One of the warnings that should be fixed:
dts/ti/omap/omap4-samsung-espresso7.dtb: lvds-encoder: compatible:
'oneOf' conditional failed, one must be fixed: ['lvds-encoder'] is too
short 'lvds-encoder' is not one of ['ti,ds90c185', 'ti,ds90c187',
'ti,sn75lvds83'] 'lvds-encoder' is not one of ['ti,ds90cf364a',
'ti,ds90cf384a', 'ti,sn65lvds94'] 'lvds-encoder' is not one of
['thine,thc63lvdm83d'] from schema $id:
	http://devicetree.org/schemas/display/bridge/lvds-codec.yaml

Regards,
Andreas
Mithil Bavishi Oct. 31, 2024, 10:41 a.m. UTC | #4
> well, that takes time, I wanted to start that on the right thing.

Yes indeed, I'll be more careful the next time, again sorry for the 
trouble, I am not used to the process of mailing lists and may have done
some mistakes there as well.

> 1. make dtbs shows warnings

> 2. make CHECK_DTBS=y ti/omap/omap4-samsung-espresso7.dtb is too noisy
> (probably same for espresso10).

> a lot comes from the dtsi files, so you need to ignore a lot, probably
> either strip down the new dts to almost nothing besides dtsi includes
> to determine the background noise or take a similar device, redirect
> output and errors, diff that output with the full devicetree.
> I am trying to clean that dtsi warning mess up, linux-next shows a lot
> less warnings but that takes time.

Oh, I was not aware of such tool, ran it and yeah there are a ton of
warnings, where can I ask for assitance if I need it while fixing them.

> One of the warnings that should be fixed:
> dts/ti/omap/omap4-samsung-espresso7.dtb: lvds-encoder: compatible:
> 'oneOf' conditional failed, one must be fixed: ['lvds-encoder'] is too
> short 'lvds-encoder' is not one of ['ti,ds90c185', 'ti,ds90c187',
> 'ti,sn75lvds83'] 'lvds-encoder' is not one of ['ti,ds90cf364a',
> 'ti,ds90cf384a', 'ti,sn65lvds94'] 'lvds-encoder' is not one of
> ['thine,thc63lvdm83d'] from schema $id:
> 	http://devicetree.org/schemas/display/bridge/lvds-codec.yaml

Ah right, I have to add the encoder (doestek, dtc34lm85am) in bindings and
in vendor, this patchset may grow too big I assume.

Best Regards,
Mithil
Andreas Kemnade Nov. 3, 2024, 5:36 p.m. UTC | #5
Am Thu, 31 Oct 2024 10:41:45 +0000
schrieb Mithil Bavishi <bavishimithil@gmail.com>:

> > well, that takes time, I wanted to start that on the right thing.  
> 
> Yes indeed, I'll be more careful the next time, again sorry for the 
> trouble, I am not used to the process of mailing lists and may have
> done some mistakes there as well.
> 
probably you did not notice an error in make dtbs and the old
devicetree on the device was still there and was used.

> > 1. make dtbs shows warnings  
> 
> > 2. make CHECK_DTBS=y ti/omap/omap4-samsung-espresso7.dtb is too
> > noisy (probably same for espresso10).  
> 
> > a lot comes from the dtsi files, so you need to ignore a lot,
> > probably either strip down the new dts to almost nothing besides
> > dtsi includes to determine the background noise or take a similar
> > device, redirect output and errors, diff that output with the full
> > devicetree. I am trying to clean that dtsi warning mess up,
> > linux-next shows a lot less warnings but that takes time.  
> 
> Oh, I was not aware of such tool, ran it and yeah there are a ton of
> warnings, where can I ask for assitance if I need it while fixing
> them.
> 
I hope you understood that warnings like this:
arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dtb:
/ocp/interconnect@4a000000/segment@0/target-module@4000/cm1@0/clocks/pad_clks_ck@108:
failed to match any schema with compatible: ['ti,gate-clock']

are not the ones you need to fix, so just the diff between old and new.

> > One of the warnings that should be fixed:
> > dts/ti/omap/omap4-samsung-espresso7.dtb: lvds-encoder: compatible:
> > 'oneOf' conditional failed, one must be fixed: ['lvds-encoder'] is
> > too short 'lvds-encoder' is not one of ['ti,ds90c185',
> > 'ti,ds90c187', 'ti,sn75lvds83'] 'lvds-encoder' is not one of
> > ['ti,ds90cf364a', 'ti,ds90cf384a', 'ti,sn65lvds94'] 'lvds-encoder'
> > is not one of ['thine,thc63lvdm83d'] from schema $id:
> > 	http://devicetree.org/schemas/display/bridge/lvds-codec.yaml
> >  
> 
> Ah right, I have to add the encoder (doestek, dtc34lm85am) in
> bindings and in vendor, this patchset may grow too big I assume.
>
You can do the binding stuff separately, lvds-encoder/panel should be
trivial, so one patch for vendor prefix if needed and one for the
binding.

Regards,
Andreas
Mithil Bavishi Nov. 8, 2024, 9:51 a.m. UTC | #6
> probably you did not notice an error in make dtbs and the old
> devicetree on the device was still there and was used.

I messed up my PowerVR tree with mainline, hence the problems. I've fixed
it now locally.

> are not the ones you need to fix, so just the diff between old and new.

Yeah, I ran the command for espresso and then panda for a comparision.
The diff is what i worked on, but I have some doubts which I'd like to ask

dts/ti/omap/omap4-samsung-espresso7.dtb: /: irled@0: 'anyOf' conditional 
	failed, one must be fixed:
        'reg' is a required property
        'ranges' is a required property
        from schema $id: http://devicetree.org/schemas/root-node.yaml# 

Documentation/devicetree/bindings/leds/irled/gpio-ir-tx.yaml does not say
those properties to be required, is the node placed incorrectly?

/home/mighty/linux/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dtb:
 /: pwm@10: 'anyOf' conditional failed, one must be fixed:
        'reg' is a required property
        'ranges' is a required property
        from schema $id: http://devicetree.org/schemas/root-node.yaml#

Similarly here as well.

/home/mighty/linux/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dtb:
current-sense-shunt: 'io-channel-ranges' does not match any of the 
regexes: 'pinctrl-[0-9]+'
        from schema $id: 
	http://devicetree.org/schemas/iio/afe/current-sense-shunt.yaml#

I tried searching the tree for "io-channel-ranges" which has only one
example - ste-ux500-samsung-janice.dts. In that dts the node is same as
in espresso.

Best Regards,
Mithil
Andreas Kemnade Nov. 8, 2024, 10:41 a.m. UTC | #7
Am Fri,  8 Nov 2024 09:51:07 +0000
schrieb Mithil Bavishi <bavishimithil@gmail.com>:

> > probably you did not notice an error in make dtbs and the old
> > devicetree on the device was still there and was used.  
> 
> I messed up my PowerVR tree with mainline, hence the problems. I've fixed
> it now locally.
> 
> > are not the ones you need to fix, so just the diff between old and new.  
> 
> Yeah, I ran the command for espresso and then panda for a comparision.
> The diff is what i worked on, but I have some doubts which I'd like to ask
> 
> dts/ti/omap/omap4-samsung-espresso7.dtb: /: irled@0: 'anyOf' conditional 
> 	failed, one must be fixed:
>         'reg' is a required property
>         'ranges' is a required property
>         from schema $id: http://devicetree.org/schemas/root-node.yaml# 
> 
> Documentation/devicetree/bindings/leds/irled/gpio-ir-tx.yaml does not say
> those properties to be required, is the node placed incorrectly?
> 
Well, anything with @ in the node nade needs reg as a property. So
probably best is led-ir since having reg does not make any sense here
since we are not on a bus with devices having addresses on that bus. 

> /home/mighty/linux/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dtb:
>  /: pwm@10: 'anyOf' conditional failed, one must be fixed:
>         'reg' is a required property
>         'ranges' is a required property
>         from schema $id: http://devicetree.org/schemas/root-node.yaml#
> 
> Similarly here as well.
> 
Same issue here, too.

> /home/mighty/linux/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dtb:
> current-sense-shunt: 'io-channel-ranges' does not match any of the 
> regexes: 'pinctrl-[0-9]+'
>         from schema $id: 
> 	http://devicetree.org/schemas/iio/afe/current-sense-shunt.yaml#
> 
> I tried searching the tree for "io-channel-ranges" which has only one
> example - ste-ux500-samsung-janice.dts. In that dts the node is same as
> in espresso.
> 
Not documented, so not allowed. There is code using it in kernel, but
that might only come into effect if current-sense-shunt has children
nodes. So drop it and check functionality.

Regards,
Andreas