From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Martin Jücker" <martin.juecker@gmail.com>
Cc: linux-samsung-soc@vger.kernel.org, kgene@kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH 2/5] ARM: dts: add Samsung's exynos4412-based p4note boards
Date: Mon, 26 Oct 2020 15:48:30 +0100 [thread overview]
Message-ID: <20201026144830.GA76312@kozik-lap> (raw)
In-Reply-To: <20201024144421.34435-3-martin.juecker@gmail.com>
On Sat, Oct 24, 2020 at 04:44:18PM +0200, Martin Jücker wrote:
> The p4note family contains a couple of variants of the Galaxy Note 10.1
> tablet with mainly different modems. The GT-N8010/GT-N8013 is the wifi
> only version.
>
> Signed-off-by: Martin Jücker <martin.juecker@gmail.com>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/exynos4412-p4note-n801x.dts | 16 +
> arch/arm/boot/dts/exynos4412-p4note.dtsi | 1057 +++++++++++++++++
> 3 files changed, 1074 insertions(+)
> create mode 100644 arch/arm/boot/dts/exynos4412-p4note-n801x.dts
> create mode 100644 arch/arm/boot/dts/exynos4412-p4note.dtsi
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4572db3fa5ae..b6d72bd7ebac 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -195,6 +195,7 @@ dtb-$(CONFIG_ARCH_EXYNOS4) += \
> exynos4412-odroidx.dtb \
> exynos4412-odroidx2.dtb \
> exynos4412-origen.dtb \
> + exynos4412-p4note-n801x.dtb \
> exynos4412-smdk4412.dtb \
> exynos4412-tiny4412.dtb \
> exynos4412-trats2.dtb
> diff --git a/arch/arm/boot/dts/exynos4412-p4note-n801x.dts b/arch/arm/boot/dts/exynos4412-p4note-n801x.dts
> new file mode 100644
> index 000000000000..e7fb5b96e6c6
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-p4note-n801x.dts
> @@ -0,0 +1,16 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Samsung's Galaxy Note 10.1 - N801x (wifi only version)
> + *
> + * Copyright (c) 2020 Martin Jücker <martin.juecker@gmail.com>
> + */
> +
> +/dts-v1/;
> +#include "exynos4412-p4note.dtsi"
> +
> +/ {
> + model = "Samsung Galaxy Note 10.1 (GT-N8010/N8013) based on Exynos4412";
> + compatible = "samsung,n801x", "samsung,p4note", "samsung,exynos4412", "samsung,exynos4";
Compatible without the wildcard, so samsung,n8010.
> +
> + /* this is the base variant without any kind of modem */
> +};
> diff --git a/arch/arm/boot/dts/exynos4412-p4note.dtsi b/arch/arm/boot/dts/exynos4412-p4note.dtsi
> new file mode 100644
> index 000000000000..6d7e84f40e92
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-p4note.dtsi
> @@ -0,0 +1,1057 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Samsung's Exynos4412 based p4note device family base DT
> + *
> + * Copyright (c) 2020 Martin Jücker <martin.juecker@gmail.com>
> + */
> +
> +/dts-v1/;
> +#include "exynos4412.dtsi"
> +#include "exynos4412-ppmu-common.dtsi"
> +
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/gpio-keys.h>
Looks unused.
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/clock/maxim,max77686.h>
> +#include <dt-bindings/pinctrl/samsung.h>
> +
> +/ {
> + compatible = "samsung,p4note", "samsung,exynos4412", "samsung,exynos4";
> +
> + memory@40000000 {
> + device_type = "memory";
> + reg = <0x40000000 0x80000000>;
> + };
> +
> + chosen {
> + stdout-path = &serial_2;
> + };
> +
> + firmware@204f000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0204F000 0x1000>;
> + };
> +
> + fixed-rate-clocks {
> + xxti {
> + compatible = "samsung,clock-xxti";
> + clock-frequency = <0>;
> + };
> +
> + xusbxti {
> + compatible = "samsung,clock-xusbxti";
> + clock-frequency = <24000000>;
> + };
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio_keys>;
> +
> + key-down {
> + gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_VOLUMEDOWN>;
> + label = "volume down";
> + debounce-interval = <10>;
> + };
> +
> + key-up {
> + gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_VOLUMEUP>;
> + label = "volume up";
> + debounce-interval = <10>;
> + };
> +
> + key-power {
> + gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_POWER>;
> + label = "power";
> + debounce-interval = <10>;
> + linux,can-disable;
> + wakeup-source;
> + };
> + };
> +
> + tsp_reg_1: voltage-regulator-1 {
All labels are not used.
> + compatible = "regulator-fixed";
> + regulator-name = "TSP_FIXED_VOLTAGES_1";
Would be better to have a real name matching either schematics (which I
guess you do not have) or vendor sources.
> + pinctrl-names = "default";
> + pinctrl-0 = <&tsp_reg_gpio_1>;
> + gpios = <&gpm4 5 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + tsp_reg_2: voltage-regulator-2 {
> + compatible = "regulator-fixed";
> + regulator-name = "TSP_FIXED_VOLTAGES_2";
> + pinctrl-names = "default";
> + pinctrl-0 = <&tsp_reg_gpio_2>;
> + gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + tsp_reg_3: voltage-regulator-3 {
> + compatible = "regulator-fixed";
> + regulator-name = "TSP_FIXED_VOLTAGES_3";
> + pinctrl-names = "default";
> + pinctrl-0 = <&tsp_reg_gpio_3>;
> + gpios = <&gpb 7 GPIO_ACTIVE_HIGH>;
> + startup-delay-us = <20000>;
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + wlan_pwrseq: sdhci3-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&gpm3 5 GPIO_ACTIVE_LOW>;
> + pinctrl-0 = <&wifi_reset>;
> + pinctrl-names = "default";
> + clocks = <&max77686 MAX77686_CLK_PMIC>;
> + clock-names = "ext_clock";
> + };
> +
> + i2c-gpio-10 {
Numbering should start from 1 unless there is a reason for 10/14/19?
> + compatible = "i2c-gpio";
> + sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + i2c-gpio,delay-us = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ak8975@c {
Node name: magnetometer
> + compatible = "asahi-kasei,ak8975";
> + reg = <0x0c>;
> + interrupt-parent = <&gpm4>;
> + interrupts = <7 IRQ_TYPE_EDGE_RISING>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&ak8975_irq>;
> + };
> + };
> +
> + i2c-gpio-14 {
> + compatible = "i2c-gpio";
> + sda-gpios = <&gpy0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + scl-gpios = <&gpy0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + i2c-gpio,delay-us = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + max17042@36 {
Node name: fuel-gauge
> + compatible = "maxim,max17042";
> + reg = <0x36>;
> + interrupt-parent = <&gpx2>;
> + interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
You might need to disable the pull-down on the pin, whcih is usually the
default.
> + maxim,rsns-microohm = <10000>;
> + maxim,over-heat-temp = <600>;
> + maxim,over-volt = <4300>;
> + };
> + };
> +
> + i2c-gpio-19 {
> + compatible = "i2c-gpio";
> + sda-gpios = <&gpm4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + scl-gpios = <&gpm4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + i2c-gpio,delay-us = <5>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + stmpe_mfd@41 {
Node name: touchscreen?
Although you already have a touchscreen later, so what is it?
> + compatible = "st,stmpe811";
> + reg = <0x41>;
> + interrupt-parent = <&gpx0>;
> + interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
Disable the pull-down of interrupt pin?
> + interrupt-controller;
> + irq-trigger = <0x1>;
> + st,adc-freq = <3>;
> + st,mod-12b = <1>;
> + st,ref-sel = <0>;
> + st,sample-time = <3>;
> +
> + stmpe_adc: stmpe_adc {
Node name: adc
Label seems unused, so remove it.
> + compatible = "st,stmpe-adc";
> + #io-channel-cells = <1>;
> + st,norequest-mask = <0x2F>;
> + };
> + };
> + };
> +};
> +
> +&adc {
> + status = "okay";
Missing vdd-supply
> +};
> +
> +&bus_dmc {
> + devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
> + vdd-supply = <&buck1_reg>;
> + status = "okay";
> +};
> +
> +&bus_acp {
> + devfreq = <&bus_dmc>;
> + status = "okay";
> +};
> +
> +&bus_c2c {
> + devfreq = <&bus_dmc>;
> + status = "okay";
> +};
> +
> +&bus_leftbus {
> + devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
> + vdd-supply = <&buck3_reg>;
> + status = "okay";
> +};
> +
> +&bus_rightbus {
> + devfreq = <&bus_leftbus>;
> + status = "okay";
> +};
> +
> +&bus_display {
> + devfreq = <&bus_leftbus>;
> + status = "okay";
> +};
> +
> +&bus_fsys {
> + devfreq = <&bus_leftbus>;
> + status = "okay";
> +};
> +
> +&bus_peri {
> + devfreq = <&bus_leftbus>;
> + status = "okay";
> +};
> +
> +&bus_mfc {
> + devfreq = <&bus_leftbus>;
> + status = "okay";
> +};
> +
> +&cpu0 {
> + cpu0-supply = <&buck2_reg>;
> +};
> +
> +&cpu_thermal {
> + cooling-maps {
> + map0 {
> + /* Corresponds to 800MHz at freq_table */
> + cooling-device = <&cpu0 7 7>, <&cpu1 7 7>, <&cpu2 7 7>, <&cpu3 7 7>;
> + };
> + map1 {
> + /* Corresponds to 200MHz at freq_table */
> + cooling-device = <&cpu0 13 13>, <&cpu1 13 13>, <&cpu2 13 13>, <&cpu3 13 13>;
> + };
> + };
> +};
> +
> +&ehci {
> + status = "okay";
> +};
> +
> +&exynos_usbphy {
> + status = "okay";
> +};
> +
> +&fimd {
> + pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + display-timings {
> + timing0 {
> + clock-frequency = <66666666>;
> + hactive = <1280>;
> + vactive = <800>;
> + hfront-porch = <18>;
> + hback-porch = <36>;
> + hsync-len = <16>;
> + vback-porch = <16>;
> + vfront-porch = <4>;
> + vsync-len = <3>;
> + hsync-active = <1>;
> + };
> + };
> +};
> +
> +&gpu {
> + mali-supply = <&buck4_reg>;
> + status = "okay";
> +};
> +
> +&hsotg {
> + vusb_a-supply = <&ldo12_reg>;
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&i2c_3 {
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <400000>;
> + pinctrl-0 = <&i2c3_bus>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + touchscreen@4a {
> + compatible = "atmel,maxtouch";
> + reg = <0x4a>;
> + reset-gpios = <&gpm0 4 GPIO_ACTIVE_HIGH>;
> + interrupt-parent = <&gpm2>;
> + interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-0 = <&tsp_rst &tsp_irq>;
> + pinctrl-names = "default";
> + };
> +};
> +
> +&i2c_7 {
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <400000>;
> + pinctrl-0 = <&i2c7_bus>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + max77686: max77686_pmic@9 {
> + compatible = "maxim,max77686";
> + interrupt-parent = <&gpx0>;
> + interrupts = <7 IRQ_TYPE_NONE>;
> + pinctrl-0 = <&max77686_irq>;
> + pinctrl-names = "default";
> + reg = <0x09>;
> + #clock-cells = <1>;
> +
> + voltage-regulators {
Just "regulators" and no empty line after this.
You should define all regulators here. If some are unknown, keep the
min-max the same as in driver.
> +
> + /* WM8994 audio */
> + ldo3_reg: LDO3 {
> + regulator-name = "VCC_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
> + };
> +
> + /* Unknown */
> + ldo5_reg: LDO5 {
> + regulator-name = "VCC_1.8V_IO";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* CSI IP block */
> + ldo8_reg: LDO8 {
> + regulator-name = "VMIPI_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
> + };
> +
> + /* IR LED on/off */
> + ldo9_reg: LDO9 {
> + regulator-name = "VLED_IC_1.9V";
> + regulator-min-microvolt = <1950000>;
> + regulator-max-microvolt = <1950000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* CSI IP block */
> + ldo10_reg: LDO10 {
> + regulator-name = "VMIPI_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
> + };
> +
> + /* Unknown */
> + ldo11_reg: LDO11 {
> + regulator-name = "VABB1_1.9V";
> + regulator-min-microvolt = <1950000>;
> + regulator-max-microvolt = <1950000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* USB OTG */
> + ldo12_reg: LDO12 {
> + regulator-name = "VUOTG_3.0V";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
> + };
> +
> + /* Unknown */
> + ldo14_reg: LDO14 {
> + regulator-name = "VABB2_1.9V";
> + regulator-min-microvolt = <1950000>;
> + regulator-max-microvolt = <1950000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* Camera ISX012 */
> + ldo18_reg: LDO18 {
> + regulator-name = "CAM_IO_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* Camera S5K6A3 */
> + ldo19_reg: LDO19 {
> + regulator-name = "VT_CORE_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* MMC2 */
> + ldo21_reg: LDO21 {
> + regulator-name = "VTF_2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
> + };
> +
> + /* ADC */
> + ldo23_reg: LDO23 {
> + regulator-name = "VDD_ADC_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* Camera S5K6A3 */
> + ldo24_reg: LDO24 {
> + regulator-name = "CAM_A2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* IR LED sending */
> + ldo25_reg: LDO25 {
> + regulator-name = "VLED_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + /* Camera ISX012 */
> + ldo26_reg: LDO26 {
> + regulator-name = "3MP_AF_2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck1_reg: BUCK1 {
> + regulator-name = "VDD_MIF";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1050000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "VDD_ARM";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "VDD_INT";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "VDD_G3D";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1075000>;
> + regulator-boot-on;
> + };
> +
> + buck9_reg: BUCK9 {
> + regulator-name = "3MP_CORE_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
Empty line to match the other nodes.
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> + };
> + };
> +};
> +
> +&mshc_0 {
> + broken-cd;
> + non-removable;
> + card-detect-delay = <200>;
> + clock-frequency = <400000000>;
> + samsung,dw-mshc-ciu-div = <0>;
> + samsung,dw-mshc-sdr-timing = <2 3>;
> + samsung,dw-mshc-ddr-timing = <1 2>;
> + pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
> + pinctrl-names = "default";
> + bus-width = <4>;
> + cap-mmc-highspeed;
> + cap-sd-highspeed;
> + status = "okay";
> +};
> +
> +&pinctrl_0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep0>;
> +
> + tsp_reg_gpio_2: tsp-reg-gpio-2 {
> + samsung,pins = "gpb-5";
> + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
> + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
> + };
> +
> + tsp_reg_gpio_3: tsp-reg-gpio-3 {
> + samsung,pins = "gpb-7";
> + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
> + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
> + };
> +
> + sleep0: sleep-states {
> + PIN_SLP(gpa0-0, INPUT, NONE);
> + PIN_SLP(gpa0-1, OUT0, NONE);
> + PIN_SLP(gpa0-2, INPUT, NONE);
> + PIN_SLP(gpa0-3, INPUT, UP);
> + PIN_SLP(gpa0-4, INPUT, NONE);
> + PIN_SLP(gpa0-5, INPUT, DOWN);
> + PIN_SLP(gpa0-6, INPUT, DOWN);
> + PIN_SLP(gpa0-7, INPUT, UP);
> +
> + PIN_SLP(gpa1-0, INPUT, DOWN);
> + PIN_SLP(gpa1-1, INPUT, DOWN);
> + PIN_SLP(gpa1-2, INPUT, DOWN);
> + PIN_SLP(gpa1-3, INPUT, DOWN);
> + PIN_SLP(gpa1-4, INPUT, DOWN);
> + PIN_SLP(gpa1-5, INPUT, DOWN);
> +
> + PIN_SLP(gpb-0, INPUT, NONE);
> + PIN_SLP(gpb-1, INPUT, NONE);
> + PIN_SLP(gpb-2, INPUT, NONE);
> + PIN_SLP(gpb-3, INPUT, NONE);
> + PIN_SLP(gpb-4, INPUT, DOWN);
> + PIN_SLP(gpb-5, INPUT, DOWN);
> + PIN_SLP(gpb-6, INPUT, DOWN);
> + PIN_SLP(gpb-7, INPUT, DOWN);
> +
> + PIN_SLP(gpc0-0, INPUT, DOWN);
> + PIN_SLP(gpc0-1, INPUT, DOWN);
> + PIN_SLP(gpc0-2, INPUT, DOWN);
> + PIN_SLP(gpc0-3, INPUT, DOWN);
> + PIN_SLP(gpc0-4, INPUT, DOWN);
> +
> + PIN_SLP(gpc1-0, INPUT, UP);
> + PIN_SLP(gpc1-1, PREV, NONE);
> + PIN_SLP(gpc1-2, INPUT, UP);
> + PIN_SLP(gpc1-3, INPUT, UP);
> + PIN_SLP(gpc1-4, INPUT, UP);
> +
> + PIN_SLP(gpd0-0, INPUT, DOWN);
> + PIN_SLP(gpd0-1, OUT0, NONE);
> + PIN_SLP(gpd0-2, INPUT, NONE);
> + PIN_SLP(gpd0-3, INPUT, NONE);
> +
> + PIN_SLP(gpd1-0, INPUT, DOWN);
> + PIN_SLP(gpd1-1, INPUT, DOWN);
> + PIN_SLP(gpd1-2, INPUT, NONE);
> + PIN_SLP(gpd1-3, INPUT, NONE);
> +
> + PIN_SLP(gpf0-0, OUT0, NONE);
> + PIN_SLP(gpf0-1, OUT0, NONE);
> + PIN_SLP(gpf0-2, OUT0, NONE);
> + PIN_SLP(gpf0-3, OUT0, NONE);
> + PIN_SLP(gpf0-4, OUT0, NONE);
> + PIN_SLP(gpf0-5, OUT0, NONE);
> + PIN_SLP(gpf0-6, OUT0, NONE);
> + PIN_SLP(gpf0-7, OUT0, NONE);
> +
> + PIN_SLP(gpf1-0, OUT0, NONE);
> + PIN_SLP(gpf1-1, OUT0, NONE);
> + PIN_SLP(gpf1-2, OUT0, NONE);
> + PIN_SLP(gpf1-3, OUT0, NONE);
> + PIN_SLP(gpf1-4, OUT0, NONE);
> + PIN_SLP(gpf1-5, OUT0, NONE);
> + PIN_SLP(gpf1-6, OUT0, NONE);
> + PIN_SLP(gpf1-7, OUT0, NONE);
> +
> + PIN_SLP(gpf2-0, OUT0, NONE);
> + PIN_SLP(gpf2-1, OUT0, NONE);
> + PIN_SLP(gpf2-2, OUT0, NONE);
> + PIN_SLP(gpf2-3, OUT0, NONE);
> + PIN_SLP(gpf2-4, OUT0, NONE);
> + PIN_SLP(gpf2-5, OUT0, NONE);
> + PIN_SLP(gpf2-6, OUT0, NONE);
> + PIN_SLP(gpf2-7, OUT0, NONE);
> +
> + PIN_SLP(gpf3-0, OUT0, NONE);
> + PIN_SLP(gpf3-1, OUT0, NONE);
> + PIN_SLP(gpf3-2, OUT0, NONE);
> + PIN_SLP(gpf3-3, OUT0, NONE);
> + PIN_SLP(gpf3-4, OUT0, NONE);
> + PIN_SLP(gpf3-5, OUT0, NONE);
> +
> + PIN_SLP(gpj0-0, INPUT, DOWN);
> + PIN_SLP(gpj0-1, INPUT, DOWN);
> + PIN_SLP(gpj0-2, INPUT, DOWN);
> + PIN_SLP(gpj0-3, PREV, NONE);
> + PIN_SLP(gpj0-4, PREV, NONE);
> + PIN_SLP(gpj0-5, OUT0, NONE);
> + PIN_SLP(gpj0-6, OUT0, NONE);
> + PIN_SLP(gpj0-7, OUT0, NONE);
> +
> + PIN_SLP(gpj1-0, OUT0, NONE);
> + PIN_SLP(gpj1-1, INPUT, DOWN);
> + PIN_SLP(gpj1-2, PREV, NONE);
> + PIN_SLP(gpj1-3, OUT0, NONE);
> + };
> +};
> +
> +&pinctrl_1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep1>;
> +
> + uart_sel: uart-sel {
> + samsung,pins = "gpl2-7";
> + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
> + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
> + samsung,pin-val = <1>;
> + /* 0 = CP, 1 = AP (serial output) */
> + };
> +
> + gpio_keys: gpio-keys {
> + samsung,pins = "gpx2-2", "gpx2-7", "gpx3-3";
> + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
> + };
> +
> + wifi_host_wake: wifi-host-wake {
> + samsung,pins = "gpx2-5";
> + samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
> + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
> + };
> +
> + bt_shutdown: bt-shutdown {
> + samsung,pins = "gpl0-6";
> + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
> + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
> + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
> + samsung,pin-val = <1>;
> + };
> +
> + bt_device_wakeup: bt-device-wakeup {
> + samsung,pins = "gpx3-1";
Please order the nodes in pinctrl by pins (first entry), so:
sd3-wifi {
samsung,pins = "gpk3-3", ...
}
...
bt-shutdown {
samsung,pins = "gpl0-6";
}
...
gpx0
gpx2
gpx3
etc.
Best regards,
Krzysztof
next prev parent reply other threads:[~2020-10-26 14:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-24 14:44 [PATCH 0/5] add exynos4412-based p4note device family support Martin Jücker
2020-10-24 14:44 ` [PATCH 1/5] dt-bindings: samsung: document bindings for p4note family boards Martin Jücker
2020-10-30 18:28 ` Rob Herring
2020-10-24 14:44 ` [PATCH 2/5] ARM: dts: add Samsung's exynos4412-based p4note boards Martin Jücker
2020-10-26 11:55 ` Marek Szyprowski
2020-10-26 14:48 ` Krzysztof Kozlowski [this message]
2020-10-26 16:00 ` Krzysztof Kozlowski
2020-10-26 23:27 ` Martin Juecker
2020-10-27 8:17 ` Krzysztof Kozlowski
2020-10-29 21:40 ` Martin Juecker
2020-10-30 7:41 ` Marek Szyprowski
2020-10-24 14:44 ` [PATCH 3/5] ARM: defconfig: add stmpe adc driver for p4note Martin Jücker
2020-10-24 14:44 ` [PATCH 4/5] ARM: defconfig: compile Atmel MXT touchscreeen as module Martin Jücker
2020-10-24 14:44 ` [PATCH 5/5] ARM: exynos: extend cpuidle support to p4note boards Martin Jücker
-- strict thread matches above, loose matches on Subject: below --
2020-10-31 17:58 [PATCH v2 0/5] add exynos4412-based p4note device family support Martin Jücker
2020-10-31 17:58 ` [PATCH 2/5] ARM: dts: add Samsung's exynos4412-based p4note boards Martin Jücker
2020-11-02 19:18 ` Krzysztof Kozlowski
2020-11-02 21:21 ` Martin Juecker
2020-11-03 7:53 ` Krzysztof Kozlowski
2020-11-03 9:51 ` Marek Szyprowski
2020-11-03 10:38 ` Martin Juecker
2020-11-05 11:50 ` Marek Szyprowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201026144830.GA76312@kozik-lap \
--to=krzk@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kgene@kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=martin.juecker@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.