* [PATCH v2 0/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree
@ 2024-06-27 19:30 Raymond Hackley
2024-06-27 19:30 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Document samsung,ms013g Raymond Hackley
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Raymond Hackley @ 2024-06-27 19:30 UTC (permalink / raw)
To: linux-kernel
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, phone-devel,
~postmarketos/upstreaming
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] dt-bindings: arm: qcom: Document samsung,ms013g
2024-06-27 19:30 [PATCH v2 0/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
@ 2024-06-27 19:30 ` Raymond Hackley
2024-07-01 9:36 ` Krzysztof Kozlowski
2024-06-27 19:30 ` [PATCH v2 2/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
2024-06-28 15:41 ` [PATCH v2 0/2] " Rob Herring (Arm)
2 siblings, 1 reply; 7+ messages in thread
From: Raymond Hackley @ 2024-06-27 19:30 UTC (permalink / raw)
To: linux-kernel
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, phone-devel,
~postmarketos/upstreaming
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree
2024-06-27 19:30 [PATCH v2 0/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
2024-06-27 19:30 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Document samsung,ms013g Raymond Hackley
@ 2024-06-27 19:30 ` Raymond Hackley
2024-06-29 9:01 ` Luca Weiss
2024-06-28 15:41 ` [PATCH v2 0/2] " Rob Herring (Arm)
2 siblings, 1 reply; 7+ messages in thread
From: Raymond Hackley @ 2024-06-27 19:30 UTC (permalink / raw)
To: linux-kernel
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, phone-devel,
~postmarketos/upstreaming
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree
2024-06-27 19:30 [PATCH v2 0/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
2024-06-27 19:30 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Document samsung,ms013g Raymond Hackley
2024-06-27 19:30 ` [PATCH v2 2/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
@ 2024-06-28 15:41 ` Rob Herring (Arm)
2 siblings, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2024-06-28 15:41 UTC (permalink / raw)
To: Raymond Hackley
Cc: Konrad Dybcio, linux-kernel, linux-arm-msm, Rob Herring,
phone-devel, Conor Dooley, devicetree, Krzysztof Kozlowski,
~postmarketos/upstreaming, Bjorn Andersson
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-sramctrl', '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', 'rockchip,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#
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree
2024-06-27 19:30 ` [PATCH v2 2/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
@ 2024-06-29 9:01 ` Luca Weiss
2024-06-29 13:09 ` Konrad Dybcio
0 siblings, 1 reply; 7+ messages in thread
From: Luca Weiss @ 2024-06-29 9:01 UTC (permalink / raw)
To: linux-kernel, ~postmarketos/upstreaming
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, phone-devel,
~postmarketos/upstreaming, Raymond Hackley
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;
> + };
> +};
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree
2024-06-29 9:01 ` Luca Weiss
@ 2024-06-29 13:09 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2024-06-29 13:09 UTC (permalink / raw)
To: Luca Weiss, linux-kernel, ~postmarketos/upstreaming
Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-msm, devicetree, phone-devel, Raymond Hackley
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: arm: qcom: Document samsung,ms013g
2024-06-27 19:30 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Document samsung,ms013g Raymond Hackley
@ 2024-07-01 9:36 ` Krzysztof Kozlowski
0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-01 9:36 UTC (permalink / raw)
To: Raymond Hackley, linux-kernel
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, phone-devel,
~postmarketos/upstreaming
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
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-07-01 9:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-27 19:30 [PATCH v2 0/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
2024-06-27 19:30 ` [PATCH v2 1/2] dt-bindings: arm: qcom: Document samsung,ms013g Raymond Hackley
2024-07-01 9:36 ` Krzysztof Kozlowski
2024-06-27 19:30 ` [PATCH v2 2/2] ARM: dts: qcom-msm8226-samsung-ms013g: Add initial device tree Raymond Hackley
2024-06-29 9:01 ` Luca Weiss
2024-06-29 13:09 ` Konrad Dybcio
2024-06-28 15:41 ` [PATCH v2 0/2] " Rob Herring (Arm)
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).