Commit 3236013b authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'samsung-dt-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM changes for v5.9

1. Enable Bluetooth on Artik5 (Exynos3250).
2. Enable accelerometer on Aries boards (Samsung Galaxy S family,
   S5Pv210); multiple fixes.
3. Fix highest frequencies on Exynos5800.
4. Fix rare USB instability on Odroid XU3 family (Exynos5422).
5. Minor DTS fixes and adjustments with dtschema.

* tag 'samsung-dt-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: Replace HTTP links with HTTPS ones
  ARM: dts: exynos: Disable frequency scaling for FSYS bus on Odroid XU3 family
  ARM: dts: exynos: Define fixed regulators in root node for consistency in SMDK5420
  ARM: dts: exynos: Define fixed regulators in root node for consistency in Arndale
  ARM: dts: exynos: Define fixed regulators in root node for consistency in Origen
  ARM: dts: exynos: Remove DMA controller bus node name to fix dtschema warnings
  ARM: dts: exynos: Fix missing empty reg/ranges property regulators on Trats
  ARM: dts: exynos: Align L2 cache-controller nodename with dtschema
  ARM: dts: s5pv210: Correct BCM4329 bluetooth node
  ARM: dts: s5pv210: Add BMA023 accelerometer support to Aries
  ARM: dts: s5pv210: Add support for GP2A light sensor on Aries
  ARM: dts: s5pv210: Correct fuelgauge definition on Aries
  ARM: dts: s5pv210: Add interrupt-controller property to gph3
  ARM: dts: exynos: Enable Bluetooth support for Artik5 board
  ARM: dts: exynos: Extend all Exynos5800 A15's OPPs with max voltage data

Link: https://lore.kernel.org/r/20200721180900.13844-2-krzk@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 42f8362a f37b5d3a
......@@ -352,6 +352,14 @@ &mshc_1 {
};
&pinctrl_1 {
bten: bten {
samsung,pins ="gpx1-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
};
wlanen: wlanen {
samsung,pins = "gpx2-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
......@@ -364,6 +372,22 @@ s2mps14_irq: s2mps14-irq {
samsung,pins = "gpx3-5";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
};
bthostwake: bthostwake {
samsung,pins = "gpx3-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
btwake: btwake {
samsung,pins = "gpx3-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
};
};
&rtc {
......@@ -372,6 +396,23 @@ &rtc {
status = "okay";
};
&serial_0 {
assigned-clocks = <&cmu CLK_SCLK_UART0>;
assigned-clock-rates = <100000000>;
status = "okay";
bluetooth {
compatible = "brcm,bcm4330-bt";
pinctrl-names = "default";
pinctrl-0 = <&bten &btwake &bthostwake>;
max-speed = <3000000>;
shutdown-gpios = <&gpx1 7 GPIO_ACTIVE_HIGH>;
device-wakeup-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpx3 6 GPIO_ACTIVE_HIGH>;
clocks = <&s2mps14_osc S2MPS11_CLK_BT>;
};
};
&tmu {
status = "okay";
};
......
......@@ -418,12 +418,6 @@ exynos_usbphy: exynos-usbphy@125b0000 {
status = "disabled";
};
amba {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
pdma0: pdma@12680000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12680000 0x1000>;
......@@ -445,7 +439,6 @@ pdma1: pdma@12690000 {
#dma-channels = <8>;
#dma-requests = <32>;
};
};
adc: adc@126c0000 {
compatible = "samsung,exynos3250-adc";
......
......@@ -669,13 +669,6 @@ pwm: pwm@139d0000 {
status = "disabled";
};
amba: amba {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&gic>;
ranges;
pdma0: pdma@12680000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12680000 0x1000>;
......@@ -708,7 +701,6 @@ mdma1: mdma@12850000 {
#dma-channels = <8>;
#dma-requests = <1>;
};
};
fimd: fimd@11c00000 {
compatible = "samsung,exynos4210-fimd";
......
......@@ -30,9 +30,6 @@ chosen {
stdout-path = "serial2:115200n8";
};
regulators {
compatible = "simple-bus";
vemmc_reg: regulator-0 {
compatible = "regulator-fixed";
regulator-name = "VMEM_VDD_2.8V";
......@@ -86,7 +83,6 @@ vt_core_15v_reg: regulator-5 {
gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
gpio-keys {
compatible = "gpio-keys";
......
......@@ -181,20 +181,6 @@ hdmi_ddc: i2c-ddc {
};
};
&amba {
mdma0: mdma@12840000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12840000 0x1000>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_MDMA>;
clock-names = "apb_pclk";
#dma-cells = <1>;
#dma-channels = <8>;
#dma-requests = <1>;
power-domains = <&pd_lcd0>;
};
};
&camera {
status = "okay";
......@@ -616,6 +602,20 @@ &serial_3 {
/delete-property/dma-names;
};
&soc {
mdma0: mdma@12840000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12840000 0x1000>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clock CLK_MDMA>;
clock-names = "apb_pclk";
#dma-cells = <1>;
#dma-channels = <8>;
#dma-requests = <1>;
power-domains = <&pd_lcd0>;
};
};
&sysram {
smp-sram@0 {
status = "disabled";
......
......@@ -97,7 +97,7 @@ pd_lcd1: power-domain@10023ca0 {
label = "LCD1";
};
l2c: l2-cache-controller@10502000 {
l2c: cache-controller@10502000 {
compatible = "arm,pl310-cache";
reg = <0x10502000 0x1000>;
cache-unified;
......
......@@ -33,21 +33,14 @@ firmware@203f000 {
reg = <0x0203F000 0x1000>;
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
mmc_reg: regulator@0 {
mmc_reg: regulator-0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
display-timings {
native-mode = <&timing0>;
......
......@@ -213,7 +213,7 @@ pd_isp: power-domain@10023ca0 {
label = "ISP";
};
l2c: l2-cache-controller@10502000 {
l2c: cache-controller@10502000 {
compatible = "arm,pl310-cache";
reg = <0x10502000 0x1000>;
cache-unified;
......
......@@ -84,61 +84,49 @@ panel_ep: endpoint {
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
main_dc_reg: regulator@0 {
main_dc_reg: regulator-0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "MAIN_DC";
regulator-always-on;
};
mmc_reg: regulator@1 {
mmc_reg: regulator-1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "VDD_MMC";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
reg_hdmi_en: regulator@2 {
reg_hdmi_en: regulator-2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "hdmi-en";
regulator-always-on;
};
vcc_1v2_reg: regulator@3 {
vcc_1v2_reg: regulator-3 {
compatible = "regulator-fixed";
reg = <3>;
regulator-name = "VCC_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
vcc_1v8_reg: regulator@4 {
vcc_1v8_reg: regulator-4 {
compatible = "regulator-fixed";
reg = <4>;
regulator-name = "VCC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
vcc_3v3_reg: regulator@5 {
vcc_3v3_reg: regulator-5 {
compatible = "regulator-fixed";
reg = <5>;
regulator-name = "VCC_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
sound {
compatible = "samsung,arndale-wm1811";
......
......@@ -679,13 +679,6 @@ usb2_phy_gen: phy@12130000 {
samsung,pmureg-phandle = <&pmu_system_controller>;
};
amba {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&gic>;
ranges;
pdma0: pdma@121a0000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x121A0000 0x1000>;
......@@ -729,7 +722,6 @@ mdma1: mdma@11c10000 {
#dma-channels = <8>;
#dma-requests = <1>;
};
};
gsc_0: gsc@13e00000 {
compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
......
......@@ -3,7 +3,7 @@
* Exynos5410 SoC pin-mux and pin-config device tree source
*
* Copyright (c) 2013 Hardkernel Co., Ltd.
* http://www.hardkernel.com
* https://www.hardkernel.com
*/
#include <dt-bindings/pinctrl/samsung.h>
......
......@@ -189,13 +189,6 @@ pinctrl_3: pinctrl@3860000 {
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
};
amba {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&gic>;
ranges;
pdma0: pdma@121a0000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x121a0000 0x1000>;
......@@ -217,7 +210,6 @@ pdma1: pdma@121b0000 {
#dma-channels = <8>;
#dma-requests = <32>;
};
};
audi2s0: i2s@3830000 {
compatible = "samsung,exynos5420-i2s";
......
......@@ -32,40 +32,31 @@ oscclk {
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
vdd: fixed-regulator@0 {
vdd: regulator-0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "vdd-supply";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
dbvdd: fixed-regulator@1 {
dbvdd: regulator-1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "dbvdd-supply";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
spkvdd: fixed-regulator@2 {
spkvdd: regulator-2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "spkvdd-supply";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
};
usb300_vbus_reg: regulator-usb300 {
usb300_vbus_reg: regulator-3 {
compatible = "regulator-fixed";
regulator-name = "VBUS0";
regulator-min-microvolt = <5000000>;
......@@ -76,7 +67,7 @@ usb300_vbus_reg: regulator-usb300 {
enable-active-high;
};
usb301_vbus_reg: regulator-usb301 {
usb301_vbus_reg: regulator-4 {
compatible = "regulator-fixed";
regulator-name = "VBUS1";
regulator-min-microvolt = <5000000>;
......
......@@ -433,13 +433,6 @@ pinctrl_4: pinctrl@3860000 {
power-domains = <&mau_pd>;
};
amba {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&gic>;
ranges;
adma: adma@3880000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x03880000 0x1000>;
......@@ -503,7 +496,6 @@ mdma1: mdma@11c10000 {
*/
status = "disabled";
};
};
i2s0: i2s@3830000 {
compatible = "samsung,exynos5420-i2s";
......
......@@ -411,12 +411,6 @@ &bus_fsys_apb {
status = "okay";
};
&bus_fsys {
operating-points-v2 = <&bus_fsys2_opp_table>;
devfreq = <&bus_wcore>;
status = "okay";
};
&bus_fsys2 {
operating-points-v2 = <&bus_fsys2_opp_table>;
devfreq = <&bus_wcore>;
......
......@@ -23,17 +23,17 @@ &clock {
&cluster_a15_opp_table {
opp-2000000000 {
opp-hz = /bits/ 64 <2000000000>;
opp-microvolt = <1312500>;
opp-microvolt = <1312500 1312500 1500000>;
clock-latency-ns = <140000>;
};
opp-1900000000 {
opp-hz = /bits/ 64 <1900000000>;
opp-microvolt = <1262500>;
opp-microvolt = <1262500 1262500 1500000>;
clock-latency-ns = <140000>;
};
opp-1800000000 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <1237500>;
opp-microvolt = <1237500 1237500 1500000>;
clock-latency-ns = <140000>;
};
opp-1700000000 {
......
......@@ -69,6 +69,18 @@ touchkey_vdd: regulator-fixed-1 {
pinctrl-0 = <&touchkey_vdd_ena>;
};
gp2a_vled: regulator-fixed-2 {
compatible = "regulator-fixed";
regulator-name = "VLED";
enable-active-high;
gpio = <&gpj1 4 GPIO_ACTIVE_HIGH>;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
pinctrl-names = "default";
pinctrl-0 = <&gp2a_power>;
};
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
......@@ -137,9 +149,13 @@ i2c_accel: i2c-gpio-1 {
pinctrl-names = "default";
pinctrl-0 = <&accel_i2c_pins>;
status = "disabled";
accelerometer@38 {
compatible = "bosch,bma023";
reg = <0x38>;
/* bma023 accelerometer, no mainline binding */
vdd-supply = <&ldo9_reg>;
vddio-supply = <&ldo9_reg>;
};
};
i2c_pmic: i2c-gpio-2 {
......@@ -425,10 +441,8 @@ i2c_fuel: i2c-gpio-4 {
pinctrl-names = "default";
pinctrl-0 = <&fg_i2c_pins>;
fuelgauge@36 {
fg: fuelgauge@36 {
compatible = "maxim,max17040";
interrupt-parent = <&vic0>;
interrupts = <7>;
reg = <0x36>;
};
};
......@@ -470,9 +484,21 @@ i2c_prox: i2c-gpio-6 {
pinctrl-names = "default";
pinctrl-0 = <&prox_i2c_pins>;
status = "disabled";
light-sensor@44 {
compatible = "sharp,gp2ap002a00f";
reg = <0x44>;
interrupt-parent = <&gph0>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&gp2a_vled>;
vio-supply = <&gp2a_vled>;
io-channels = <&gp2a_shunt>;
io-channel-names = "alsout";
sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
/* Sharp gp2a prox/light sensor, incomplete mainline binding */
pinctrl-names = "default";
pinctrl-0 = <&gp2a_irq>;
};
};
i2c_magnetometer: i2c-gpio-7 {
......@@ -545,6 +571,14 @@ &adc {
vdd-supply = <&ldo4_reg>;
status = "okay";
gp2a_shunt: current-sense-shunt {
compatible = "current-sense-shunt";
io-channels = <&adc 9>;
shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
#io-channel-cells = <0>;
io-channel-ranges;
};
};
&fimd {
......@@ -595,6 +629,13 @@ &mfc {
};
&pinctrl0 {
bt_reset: bt-reset {
samsung,pins = "gpb-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
wlan_bt_en: wlan-bt-en {
samsung,pins = "gpb-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
......@@ -620,6 +661,19 @@ wlan_gpio_rst: wlan-gpio-rst {
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
bt_wake: bt-wake {
samsung,pins = "gpg3-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
gp2a_irq: gp2a-irq {
samsung,pins = "gph0-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
pmic_dvs_pins: pmic-dvs-pins {
samsung,pins = "gph0-3", "gph0-4", "gph0-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
......@@ -688,6 +742,13 @@ vibrator_ena: vibrator-ena {
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
gp2a_power: gp2a-power {
samsung,pins = "gpj1-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
touchkey_i2c_pins: touchkey-i2c-pins {
samsung,pins = "gpj3-0", "gpj3-1";
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
......@@ -797,16 +858,23 @@ &sdhci2 {
};
&uart0 {
assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
assigned-clock-rates = <0>, <111166667>;
assigned-clock-parents = <&clocks MOUT_MPLL>;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <115200>;
compatible = "brcm,bcm4329-bt";
max-speed = <3000000>;
pinctrl-names = "default";
pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake>;
pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
&bt_reset &bt_wake>;
shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gph2 5 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&gph2>;
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host-wake";
};
};
......
......@@ -37,10 +37,27 @@ vol-up {
};
};
&fg {
compatible = "maxim,max77836-battery";
interrupt-parent = <&gph3>;
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&fg_irq>;
};
&pinctrl0 {
pinctrl-names = "default";
pinctrl-0 = <&sleep_cfg>;
fg_irq: fg-irq {
samsung,pins = "gph3-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
/* Based on vendor kernel v2.6.35.7 */
sleep_cfg: sleep-cfg {
PIN_SLP(gpa0-0, PREV, NONE);
......
......@@ -273,6 +273,8 @@ gph2: gph2 {
gph3: gph3 {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment