<20240627193013.1800-1-raymondhackley@protonmail.com>
Samsung Galaxy Grand 2 is a phone based on MSM8226. It's similar to the other Samsung devices based on MSM8226 with only a few minor differences. The device trees contain initial support with: - GPIO keys - Regulator haptic - SDHCI (internal and external storage) - UART (on USB connector via the TI TSU6721 MUIC) - Regulators - Touchscreen - Accelerometer --- v2: Adjust l3, l15, l22 and l27 regulator voltages. Sort nodes. Set regulator-allow-set-load for vqmmc supplies.
<20240627193013.1800-2-raymondhackley@protonmail.com>
<20240627193013.1800-1-raymondhackley@protonmail.com>
(view parent)
Document samsung,ms013g for Galaxy Grand 2. Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com> --- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml index ec1c10a12470..7990e7e27542 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -141,6 +141,7 @@ properties: - microsoft,makepeace - microsoft,moneypenny - motorola,falcon + - samsung,ms013g - samsung,s3ve3g - const: qcom,msm8226 -- 2.39.2
<20240627193013.1800-3-raymondhackley@protonmail.com>
<20240627193013.1800-1-raymondhackley@protonmail.com>
(view parent)
Samsung Galaxy Grand 2 is a phone based on MSM8226. It's similar to the other Samsung devices based on MSM8226 with only a few minor differences. The device trees contain initial support with: - GPIO keys - Regulator haptic - SDHCI (internal and external storage) - UART (on USB connector via the TI TSU6721 MUIC) - Regulators - Touchscreen - Accelerometer Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com> --- arch/arm/boot/dts/qcom/Makefile | 1 + .../dts/qcom/qcom-msm8226-samsung-ms013g.dts | 386 ++++++++++++++++++ 2 files changed, 387 insertions(+) create mode 100644 arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile index ccd4ce6353df..f06c6d425e91 100644 --- a/arch/arm/boot/dts/qcom/Makefile +++ b/arch/arm/boot/dts/qcom/Makefile @@ -28,6 +28,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-msm8226-microsoft-dempsey.dtb \ qcom-msm8226-microsoft-makepeace.dtb \ qcom-msm8226-microsoft-moneypenny.dtb \ + qcom-msm8226-samsung-ms013g.dtb \ qcom-msm8226-samsung-s3ve3g.dtb \ qcom-msm8660-surf.dtb \ qcom-msm8916-samsung-e5.dtb \ diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts new file mode 100644 index 000000000000..190b52fda634 --- /dev/null +++ b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts @@ -0,0 +1,386 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/dts-v1/; + +#include "qcom-msm8226.dtsi" +#include "pm8226.dtsi" + +/delete-node/ &smem_region; + +/ { + model = "Samsung Galaxy Grand 2"; + compatible = "samsung,ms013g", "qcom,msm8226"; + chassis-type = "handset"; + + aliases { + mmc0 = &sdhc_1; /* SDC1 eMMC slot */ + mmc1 = &sdhc_2; /* SDC2 SD card slot */ + serial0 = &blsp1_uart3; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + gpio-hall-sensor { + compatible = "gpio-keys"; + + pinctrl-0 = <&gpio_hall_sensor_default>; + pinctrl-names = "default"; + + label = "GPIO Hall Effect Sensor"; + + event-hall-sensor { + label = "Hall Effect Sensor"; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + linux,input-type = <EV_SW>; + linux,code = <SW_LID>; + linux,can-disable; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + + pinctrl-0 = <&gpio_keys_default>; + pinctrl-names = "default"; + + label = "GPIO Buttons"; + + button-volume-up { + label = "Volume Up"; + gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEUP>; + }; + + button-volume-down { + label = "Volume Down"; + gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEDOWN>; + }; + + button-home { + label = "Home Key"; + gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; + linux,code = <KEY_HOMEPAGE>; + }; + }; + + haptic { + compatible = "regulator-haptic"; + haptic-supply = <®_motor_vdd>; + min-microvolt = <3300000>; + max-microvolt = <3300000>; + }; + + reg_motor_vdd: regulator-motor-vdd { + compatible = "regulator-fixed"; + regulator-name = "motor_vdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 111 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 = <&motor_en_default>; + pinctrl-names = "default"; + }; + + reg_vdd_tsp_a: regulator-vdd-tsp-a { + compatible = "regulator-fixed"; + regulator-name = "tsp_3p3v"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 = <&tsp_en_default>; + pinctrl-names = "default"; + }; + + reserved-memory { + smem_region: smem@fa00000 { + reg = <0x0fa00000 0x100000>; + no-map; + }; + }; +}; + +&blsp1_i2c2 { + status = "okay"; + + accelerometer@18 { + compatible = "bosch,bma255"; + reg = <0x18>; + interrupts-extended = <&tlmm 64 IRQ_TYPE_EDGE_RISING>; + + vdd-supply = <&pm8226_l19>; + vddio-supply = <&pm8226_lvs1>; + + pinctrl-0 = <&accel_int_default>; + pinctrl-names = "default"; + + mount-matrix = "0", "1", "0", + "-1", "0", "0", + "0", "0", "-1"; + }; +}; + +&blsp1_i2c5 { + status = "okay"; + + touchscreen@20 { + compatible = "zinitix,bt541"; + + reg = <0x20>; + interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>; + + touchscreen-size-x = <720>; + touchscreen-size-y = <1280>; + + vcca-supply = <®_vdd_tsp_a>; + vdd-supply = <&pm8226_lvs1>; + + pinctrl-0 = <&tsp_int_default>; + pinctrl-names = "default"; + }; +}; + +&blsp1_uart3 { + status = "okay"; +}; + +&rpm_requests { + regulators { + compatible = "qcom,rpm-pm8226-regulators"; + + pm8226_s3: s3 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1300000>; + }; + + pm8226_s4: s4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2200000>; + }; + + pm8226_s5: s5 { + regulator-min-microvolt = <1150000>; + regulator-max-microvolt = <1150000>; + }; + + pm8226_l1: l1 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + }; + + pm8226_l2: l2 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + pm8226_l3: l3 { + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <1337500>; + }; + + pm8226_l4: l4 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + pm8226_l5: l5 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + pm8226_l6: l6 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-allow-set-load; + regulator-always-on; + }; + + pm8226_l7: l7 { + regulator-min-microvolt = <1850000>; + regulator-max-microvolt = <1850000>; + }; + + pm8226_l8: l8 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8226_l9: l9 { + regulator-min-microvolt = <2050000>; + regulator-max-microvolt = <2050000>; + }; + + pm8226_l10: l10 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8226_l12: l12 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8226_l14: l14 { + regulator-min-microvolt = <2750000>; + regulator-max-microvolt = <2750000>; + }; + + pm8226_l15: l15 { + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + pm8226_l16: l16 { + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3350000>; + }; + + pm8226_l17: l17 { + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + + regulator-system-load = <200000>; + regulator-allow-set-load; + regulator-always-on; + }; + + pm8226_l18: l18 { + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + }; + + pm8226_l19: l19 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <3000000>; + }; + + pm8226_l20: l20 { + regulator-min-microvolt = <3075000>; + regulator-max-microvolt = <3075000>; + }; + + pm8226_l21: l21 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + }; + + pm8226_l22: l22 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + + pm8226_l23: l23 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + pm8226_l24: l24 { + regulator-min-microvolt = <1300000>; + regulator-max-microvolt = <1350000>; + }; + + pm8226_l25: l25 { + regulator-min-microvolt = <1775000>; + regulator-max-microvolt = <2125000>; + }; + + pm8226_l26: l26 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1300000>; + }; + + pm8226_l27: l27 { + regulator-min-microvolt = <2050000>; + regulator-max-microvolt = <2050000>; + }; + + pm8226_l28: l28 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + + pm8226_lvs1: lvs1 {}; + }; +}; + +&sdhc_1 { + vmmc-supply = <&pm8226_l17>; + vqmmc-supply = <&pm8226_l6>; + + bus-width = <8>; + non-removable; + + status = "okay"; +}; + +&sdhc_2 { + vmmc-supply = <&pm8226_l18>; + vqmmc-supply = <&pm8226_l21>; + + bus-width = <4>; + cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + + pinctrl-0 = <&sdhc2_default_state &sdhc2_cd_default>; + pinctrl-names = "default"; + + status = "okay"; +}; + +&tlmm { + accel_int_default: accel-int-default-state { + pins = "gpio64"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + gpio_hall_sensor_default: gpio-hall-sensor-default-state { + pins = "gpio50"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + + gpio_keys_default: gpio-keys-default-state { + pins = "gpio106", "gpio107", "gpio108"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + + motor_en_default: motor-en-default-state { + pins = "gpio111"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + sdhc2_cd_default: sdhc2-cd-default-state { + pins = "gpio38"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + tsp_en_default: tsp-en-default-state { + pins = "gpio31"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + tsp_int_default: tsp-int-default-state { + pins = "gpio17"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; +}; -- 2.39.2
<171958904261.3122689.7431145315207852456.robh@kernel.org>
<20240627193013.1800-1-raymondhackley@protonmail.com>
(view parent)
On Thu, 27 Jun 2024 19:30:30 +0000, Raymond Hackley wrote: > Samsung Galaxy Grand 2 is a phone based on MSM8226. It's similar to the > other Samsung devices based on MSM8226 with only a few minor differences. > > The device trees contain initial support with: > - GPIO keys > - Regulator haptic > - SDHCI (internal and external storage) > - UART (on USB connector via the TI TSU6721 MUIC) > - Regulators > - Touchscreen > - Accelerometer > > --- > v2: Adjust l3, l15, l22 and l27 regulator voltages. Sort nodes. > Set regulator-allow-set-load for vqmmc supplies. > > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y qcom/qcom-msm8226-samsung-ms013g.dtb' for 20240627193013.1800-1-raymondhackley@protonmail.com: arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dtb: syscon@f9011000: compatible: 'anyOf' conditional failed, one must be fixed: ['syscon'] is too short 'syscon' is not one of ['al,alpine-sysfabric-service', 'allwinner,sun8i-a83t-system-controller', 'allwinner,sun8i-h3-system-controller', 'allwinner,sun8i-v3s-system-controller', 'allwinner,sun50i-a64-system-controller', 'altr,l3regs', 'altr,sdr-ctl', 'amd,pensando-elba-syscon', 'amlogic,meson-mx-assist', 'amlogic,meson-mx-bootrom', 'amlogic,meson8-analog-top', 'amlogic,meson8b-analog-top', 'amlogic,meson8-pmu', 'amlogic,meson8b-pmu', 'apm,xgene-csw', 'apm,xgene-efuse', 'apm,xgene-mcb', 'apm,xgene-rb', 'apm,xgene-scu', 'atmel,sama5d2-sfrbu', 'atmel,sama5d3-nfc-io', 'atmel,sama5d3-sfrbu', 'atmel,sama5d4-sfrbu', 'axis,artpec6-syscon', 'brcm,cru-clkset', 'brcm,sr-cdru', 'brcm,sr-mhb', 'cirrus,ep7209-syscon1', 'cirrus,ep7209-syscon2', 'cirrus,ep7209-syscon3', 'cnxt,cx92755-uc', 'freecom,fsg-cs2-system-controller', 'fsl,imx93-aonmix-ns-syscfg', 'fsl,imx93-wakeupmix-syscfg', 'fsl,ls1088a-reset', 'fsl,vf610-anatop', 'fsl,vf610-mscm-cpucfg', 'hisilicon,dsa-subctrl', 'hisilicon,hi6220-sramctr l', 'hisilicon,hip04-ppe', 'hisilicon,pcie-sas-subctrl', 'hisilicon,peri-subctrl', 'hpe,gxp-sysreg', 'intel,lgm-syscon', 'loongson,ls1b-syscon', 'loongson,ls1c-syscon', 'lsi,axxia-syscon', 'marvell,armada-3700-cpu-misc', 'marvell,armada-3700-nb-pm', 'marvell,armada-3700-avs', 'marvell,armada-3700-usb2-host-misc', 'marvell,dove-global-config', 'mediatek,mt2701-pctl-a-syscfg', 'mediatek,mt2712-pctl-a-syscfg', 'mediatek,mt6397-pctl-pmic-syscfg', 'mediatek,mt8135-pctl-a-syscfg', 'mediatek,mt8135-pctl-b-syscfg', 'mediatek,mt8173-pctl-a-syscfg', 'mediatek,mt8365-syscfg', 'microchip,lan966x-cpu-syscon', 'microchip,sam9x60-sfr', 'microchip,sama7g5-ddr3phy', 'microchip,sparx5-cpu-syscon', 'mscc,ocelot-cpu-syscon', 'mstar,msc313-pmsleep', 'nuvoton,ma35d1-sys', 'nuvoton,wpcm450-shm', 'rockchip,px30-qos', 'rockchip,rk3036-qos', 'rockchip,rk3066-qos', 'rockchip,rk3128-qos', 'rockchip,rk3228-qos', 'rockchip,rk3288-qos', 'rockchip,rk3368-qos', 'rockchip,rk3399-qos', 'rockchip,rk3568-qos', 'rockchi p,rk3588-qos', 'rockchip,rv1126-qos', 'st,spear1340-misc', 'stericsson,nomadik-pmu', 'starfive,jh7100-sysmain', 'ti,am62-opp-efuse-table', 'ti,am62-usb-phy-ctrl', 'ti,am625-dss-oldi-io-ctrl', 'ti,am62p-cpsw-mac-efuse', 'ti,am654-dss-oldi-io-ctrl', 'ti,am654-serdes-ctrl', 'ti,j784s4-pcie-ctrl', 'ti,keystone-pllctrl'] from schema $id: http://devicetree.org/schemas/mfd/syscon.yaml#
<6223513.lOV4Wx5bFT@g550jk>
<20240627193013.1800-3-raymondhackley@protonmail.com>
(view parent)
On Donnerstag, 27. Juni 2024 21:30:52 MESZ Raymond Hackley wrote: > Samsung Galaxy Grand 2 is a phone based on MSM8226. It's similar to the > other Samsung devices based on MSM8226 with only a few minor differences. > > The device trees contain initial support with: > - GPIO keys > - Regulator haptic > - SDHCI (internal and external storage) > - UART (on USB connector via the TI TSU6721 MUIC) > - Regulators > - Touchscreen > - Accelerometer > > Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com> > --- > arch/arm/boot/dts/qcom/Makefile | 1 + > .../dts/qcom/qcom-msm8226-samsung-ms013g.dts | 386 ++++++++++++++++++ > 2 files changed, 387 insertions(+) > create mode 100644 arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts > > diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile > index ccd4ce6353df..f06c6d425e91 100644 > --- a/arch/arm/boot/dts/qcom/Makefile > +++ b/arch/arm/boot/dts/qcom/Makefile > @@ -28,6 +28,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \ > qcom-msm8226-microsoft-dempsey.dtb \ > qcom-msm8226-microsoft-makepeace.dtb \ > qcom-msm8226-microsoft-moneypenny.dtb \ > + qcom-msm8226-samsung-ms013g.dtb \ > qcom-msm8226-samsung-s3ve3g.dtb \ > qcom-msm8660-surf.dtb \ > qcom-msm8916-samsung-e5.dtb \ > diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts > new file mode 100644 > index 000000000000..190b52fda634 > --- /dev/null > +++ b/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-ms013g.dts > @@ -0,0 +1,386 @@ > +// SPDX-License-Identifier: BSD-3-Clause > + > +/dts-v1/; > + > +#include "qcom-msm8226.dtsi" > +#include "pm8226.dtsi" > + > +/delete-node/ &smem_region; > + > +/ { > + model = "Samsung Galaxy Grand 2"; > + compatible = "samsung,ms013g", "qcom,msm8226"; > + chassis-type = "handset"; > + > + aliases { > + mmc0 = &sdhc_1; /* SDC1 eMMC slot */ > + mmc1 = &sdhc_2; /* SDC2 SD card slot */ > + serial0 = &blsp1_uart3; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + gpio-hall-sensor { > + compatible = "gpio-keys"; > + > + pinctrl-0 = <&gpio_hall_sensor_default>; > + pinctrl-names = "default"; > + > + label = "GPIO Hall Effect Sensor"; > + > + event-hall-sensor { > + label = "Hall Effect Sensor"; > + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; > + linux,input-type = <EV_SW>; > + linux,code = <SW_LID>; > + linux,can-disable; > + }; > + }; > + > + gpio-keys { > + compatible = "gpio-keys"; > + > + pinctrl-0 = <&gpio_keys_default>; > + pinctrl-names = "default"; > + > + label = "GPIO Buttons"; > + > + button-volume-up { > + label = "Volume Up"; > + gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEUP>; > + }; > + > + button-volume-down { > + label = "Volume Down"; > + gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEDOWN>; > + }; > + > + button-home { > + label = "Home Key"; > + gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_HOMEPAGE>; > + }; > + }; > + > + haptic { > + compatible = "regulator-haptic"; > + haptic-supply = <®_motor_vdd>; > + min-microvolt = <3300000>; > + max-microvolt = <3300000>; > + }; This is the vibration motor? Use "vibrator" as node name then as per https://github.com/devicetree-org/devicetree-specification/blob/main/source/chapter2-devicetree-basics.rst?plain=1#L299 Apart from this I don't see anything wrong. Reviewed-by: Luca Weiss <luca@lucaweiss.eu> > + > + reg_motor_vdd: regulator-motor-vdd { > + compatible = "regulator-fixed"; > + regulator-name = "motor_vdd"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + > + gpio = <&tlmm 111 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + > + pinctrl-0 = <&motor_en_default>; > + pinctrl-names = "default"; > + }; > + > + reg_vdd_tsp_a: regulator-vdd-tsp-a { > + compatible = "regulator-fixed"; > + regulator-name = "tsp_3p3v"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + > + gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + > + pinctrl-0 = <&tsp_en_default>; > + pinctrl-names = "default"; > + }; > + > + reserved-memory { > + smem_region: smem@fa00000 { > + reg = <0x0fa00000 0x100000>; > + no-map; > + }; > + }; > +}; > + > +&blsp1_i2c2 { > + status = "okay"; > + > + accelerometer@18 { > + compatible = "bosch,bma255"; > + reg = <0x18>; > + interrupts-extended = <&tlmm 64 IRQ_TYPE_EDGE_RISING>; > + > + vdd-supply = <&pm8226_l19>; > + vddio-supply = <&pm8226_lvs1>; > + > + pinctrl-0 = <&accel_int_default>; > + pinctrl-names = "default"; > + > + mount-matrix = "0", "1", "0", > + "-1", "0", "0", > + "0", "0", "-1"; > + }; > +}; > + > +&blsp1_i2c5 { > + status = "okay"; > + > + touchscreen@20 { > + compatible = "zinitix,bt541"; > + > + reg = <0x20>; > + interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>; > + > + touchscreen-size-x = <720>; > + touchscreen-size-y = <1280>; > + > + vcca-supply = <®_vdd_tsp_a>; > + vdd-supply = <&pm8226_lvs1>; > + > + pinctrl-0 = <&tsp_int_default>; > + pinctrl-names = "default"; > + }; > +}; > + > +&blsp1_uart3 { > + status = "okay"; > +}; > + > +&rpm_requests { > + regulators { > + compatible = "qcom,rpm-pm8226-regulators"; > + > + pm8226_s3: s3 { > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1300000>; > + }; > + > + pm8226_s4: s4 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2200000>; > + }; > + > + pm8226_s5: s5 { > + regulator-min-microvolt = <1150000>; > + regulator-max-microvolt = <1150000>; > + }; > + > + pm8226_l1: l1 { > + regulator-min-microvolt = <1225000>; > + regulator-max-microvolt = <1225000>; > + }; > + > + pm8226_l2: l2 { > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + }; > + > + pm8226_l3: l3 { > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <1337500>; > + }; > + > + pm8226_l4: l4 { > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + }; > + > + pm8226_l5: l5 { > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + }; > + > + pm8226_l6: l6 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-allow-set-load; > + regulator-always-on; > + }; > + > + pm8226_l7: l7 { > + regulator-min-microvolt = <1850000>; > + regulator-max-microvolt = <1850000>; > + }; > + > + pm8226_l8: l8 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + pm8226_l9: l9 { > + regulator-min-microvolt = <2050000>; > + regulator-max-microvolt = <2050000>; > + }; > + > + pm8226_l10: l10 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + pm8226_l12: l12 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + pm8226_l14: l14 { > + regulator-min-microvolt = <2750000>; > + regulator-max-microvolt = <2750000>; > + }; > + > + pm8226_l15: l15 { > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + }; > + > + pm8226_l16: l16 { > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3350000>; > + }; > + > + pm8226_l17: l17 { > + regulator-min-microvolt = <2950000>; > + regulator-max-microvolt = <2950000>; > + > + regulator-system-load = <200000>; > + regulator-allow-set-load; > + regulator-always-on; > + }; > + > + pm8226_l18: l18 { > + regulator-min-microvolt = <2950000>; > + regulator-max-microvolt = <2950000>; > + }; > + > + pm8226_l19: l19 { > + regulator-min-microvolt = <2850000>; > + regulator-max-microvolt = <3000000>; > + }; > + > + pm8226_l20: l20 { > + regulator-min-microvolt = <3075000>; > + regulator-max-microvolt = <3075000>; > + }; > + > + pm8226_l21: l21 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2950000>; > + regulator-allow-set-load; > + }; > + > + pm8226_l22: l22 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2950000>; > + }; > + > + pm8226_l23: l23 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + pm8226_l24: l24 { > + regulator-min-microvolt = <1300000>; > + regulator-max-microvolt = <1350000>; > + }; > + > + pm8226_l25: l25 { > + regulator-min-microvolt = <1775000>; > + regulator-max-microvolt = <2125000>; > + }; > + > + pm8226_l26: l26 { > + regulator-min-microvolt = <1225000>; > + regulator-max-microvolt = <1300000>; > + }; > + > + pm8226_l27: l27 { > + regulator-min-microvolt = <2050000>; > + regulator-max-microvolt = <2050000>; > + }; > + > + pm8226_l28: l28 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2950000>; > + }; > + > + pm8226_lvs1: lvs1 {}; > + }; > +}; > + > +&sdhc_1 { > + vmmc-supply = <&pm8226_l17>; > + vqmmc-supply = <&pm8226_l6>; > + > + bus-width = <8>; > + non-removable; > + > + status = "okay"; > +}; > + > +&sdhc_2 { > + vmmc-supply = <&pm8226_l18>; > + vqmmc-supply = <&pm8226_l21>; > + > + bus-width = <4>; > + cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; > + > + pinctrl-0 = <&sdhc2_default_state &sdhc2_cd_default>; > + pinctrl-names = "default"; > + > + status = "okay"; > +}; > + > +&tlmm { > + accel_int_default: accel-int-default-state { > + pins = "gpio64"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + gpio_hall_sensor_default: gpio-hall-sensor-default-state { > + pins = "gpio50"; > + function = "gpio"; > + drive-strength = <2>; > + bias-pull-up; > + }; > + > + gpio_keys_default: gpio-keys-default-state { > + pins = "gpio106", "gpio107", "gpio108"; > + function = "gpio"; > + drive-strength = <2>; > + bias-pull-up; > + }; > + > + motor_en_default: motor-en-default-state { > + pins = "gpio111"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + sdhc2_cd_default: sdhc2-cd-default-state { > + pins = "gpio38"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + tsp_en_default: tsp-en-default-state { > + pins = "gpio31"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + tsp_int_default: tsp-int-default-state { > + pins = "gpio17"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > +}; >
<0159b30e-2617-4e12-816b-273d58dfc297@linaro.org>
<6223513.lOV4Wx5bFT@g550jk>
(view parent)
On 29.06.2024 11:01 AM, Luca Weiss wrote: > On Donnerstag, 27. Juni 2024 21:30:52 MESZ Raymond Hackley wrote: >> Samsung Galaxy Grand 2 is a phone based on MSM8226. It's similar to the >> other Samsung devices based on MSM8226 with only a few minor differences. >> >> The device trees contain initial support with: >> - GPIO keys >> - Regulator haptic >> - SDHCI (internal and external storage) >> - UART (on USB connector via the TI TSU6721 MUIC) >> - Regulators >> - Touchscreen >> - Accelerometer >> >> Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com> >> --- [...] >> + haptic { >> + compatible = "regulator-haptic"; >> + haptic-supply = <®_motor_vdd>; >> + min-microvolt = <3300000>; >> + max-microvolt = <3300000>; >> + }; > > This is the vibration motor? Use "vibrator" as node name then as per > https://github.com/devicetree-org/devicetree-specification/blob/main/source/chapter2-devicetree-basics.rst?plain=1#L299 With that: Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad
<b5b76937-091f-494e-879a-c042ab475548@linaro.org>
<20240627193013.1800-2-raymondhackley@protonmail.com>
(view parent)
On 27/06/2024 21:30, Raymond Hackley wrote: > Document samsung,ms013g for Galaxy Grand 2. > > Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof