mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 17:08:52 +09:00
![Neil Armstrong](/assets/img/avatar_default.png)
There is no reason not to use the Linux "jedec,spi-nor" binding in U-Boot dts files. This compatible has been added in sf_probe, let use it. This patch switches to jedec,spi-nor when spi-flash is used in the DTS and DTSI files, and removed spi-flash when jedec,spi-nor is already present. The x86 dts are switched in a separate commit since it depends on a change in fdtdec. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Reviewed-by: Evgeniy Paltsev <paltsev@synopsys.com> Reviewed-by: Rick Chen <rick@andestech.com> Reviewed-by: Patrick Delaunay <Patrick.delaunay@st.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
427 lines
9.0 KiB
Plaintext
427 lines
9.0 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* SAMSUNG/GOOGLE Peach-Pit board device tree source
|
|
*
|
|
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "exynos54xx.dtsi"
|
|
#include <dt-bindings/clock/maxim,max77802.h>
|
|
#include <dt-bindings/regulator/maxim,max77802.h>
|
|
|
|
/ {
|
|
model = "Samsung/Google Peach Pit board based on Exynos5420";
|
|
|
|
compatible = "google,pit-rev#", "google,pit",
|
|
"google,peach", "samsung,exynos5420", "samsung,exynos5";
|
|
|
|
config {
|
|
google,bad-wake-gpios = <&gpx0 6 GPIO_ACTIVE_HIGH>;
|
|
hwid = "PIT TEST A-A 7848";
|
|
lazy-init = <1>;
|
|
};
|
|
|
|
aliases {
|
|
serial0 = "/serial@12C30000";
|
|
console = "/serial@12C30000";
|
|
pmic = "/i2c@12CA0000";
|
|
i2c104 = &i2c_tunnel;
|
|
};
|
|
|
|
backlight: backlight {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm 0 1000000 0>;
|
|
brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
|
|
default-brightness-level = <7>;
|
|
power-supply = <&tps65090_fet1>;
|
|
};
|
|
|
|
dmc {
|
|
mem-manuf = "samsung";
|
|
mem-type = "ddr3";
|
|
clock-frequency = <800000000>;
|
|
arm-frequency = <900000000>;
|
|
};
|
|
|
|
tmu@10060000 {
|
|
samsung,min-temp = <25>;
|
|
samsung,max-temp = <125>;
|
|
samsung,start-warning = <95>;
|
|
samsung,start-tripping = <105>;
|
|
samsung,hw-tripping = <110>;
|
|
samsung,efuse-min-value = <40>;
|
|
samsung,efuse-value = <55>;
|
|
samsung,efuse-max-value = <100>;
|
|
samsung,slope = <274761730>;
|
|
samsung,dc-value = <25>;
|
|
};
|
|
|
|
/* MAX77802 is on i2c bus 4 */
|
|
i2c@12CA0000 {
|
|
clock-frequency = <400000>;
|
|
power-regulator@9 {
|
|
compatible = "maxim,max77802-pmic";
|
|
reg = <0x9>;
|
|
};
|
|
};
|
|
|
|
sound {
|
|
compatible = "google,peach-audio-max98090";
|
|
|
|
samsung,model = "PEACH-I2S-MAX98090";
|
|
samsung,audio-codec = <&max98090>;
|
|
|
|
cpu {
|
|
sound-dai = <&i2s0 0>;
|
|
};
|
|
|
|
codec {
|
|
sound-dai = <&max98090 0>;
|
|
};
|
|
};
|
|
|
|
i2c@12CD0000 { /* i2c7 */
|
|
clock-frequency = <100000>;
|
|
max98090: soundcodec@10 {
|
|
reg = <0x10>;
|
|
compatible = "maxim,max98090";
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
|
|
edp-lvds-bridge@48 {
|
|
compatible = "parade,ps8625";
|
|
reg = <0x48>;
|
|
sleep-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
|
|
reset-gpios = <&gpy7 7 GPIO_ACTIVE_LOW>;
|
|
parade,regs = /bits/ 8 <
|
|
0x02 0xa1 0x01 /* HPD low */
|
|
/*
|
|
* SW setting
|
|
* [1:0] SW output 1.2V voltage is lower to 96%
|
|
*/
|
|
0x04 0x14 0x01
|
|
/*
|
|
* RCO SS setting
|
|
* [5:4] = b01 0.5%, b10 1%, b11 1.5%
|
|
*/
|
|
0x04 0xe3 0x20
|
|
0x04 0xe2 0x80 /* [7] RCO SS enable */
|
|
/*
|
|
* RPHY Setting
|
|
* [3:2] CDR tune wait cycle before
|
|
* measure for fine tune b00: 1us,
|
|
* 01: 0.5us, 10:2us, 11:4us.
|
|
*/
|
|
0x04 0x8a 0x0c
|
|
0x04 0x89 0x08 /* [3] RFD always on */
|
|
/*
|
|
* CTN lock in/out:
|
|
* 20000ppm/80000ppm. Lock out 2
|
|
* times.
|
|
*/
|
|
0x04 0x71 0x2d
|
|
/*
|
|
* 2.7G CDR settings
|
|
* NOF=40LSB for HBR CDR setting
|
|
*/
|
|
0x04 0x7d 0x07
|
|
0x04 0x7b 0x00 /* [1:0] Fmin=+4bands */
|
|
0x04 0x7a 0xfd /* [7:5] DCO_FTRNG=+-40% */
|
|
/*
|
|
* 1.62G CDR settings
|
|
* [5:2]NOF=64LSB [1:0]DCO scale is 2/5
|
|
*/
|
|
0x04 0xc0 0x12
|
|
0x04 0xc1 0x92 /* Gitune=-37% */
|
|
0x04 0xc2 0x1c /* Fbstep=100% */
|
|
0x04 0x32 0x80 /* [7]LOS signal disable */
|
|
/*
|
|
* RPIO Setting
|
|
* [7:4] LVDS driver bias current :
|
|
* 75% (250mV swing)
|
|
*/
|
|
0x04 0x00 0xb0
|
|
/*
|
|
* [7:6] Right-bar GPIO output strength is 8mA
|
|
*/
|
|
0x04 0x15 0x40
|
|
/* EQ Training State Machine Setting */
|
|
0x04 0x54 0x10 /* RCO calibration start */
|
|
/* [4:0] MAX_LANE_COUNT set to one lane */
|
|
0x01 0x02 0x81
|
|
/* [4:0] LANE_COUNT_SET set to one lane */
|
|
0x01 0x21 0x81
|
|
0x00 0x52 0x20
|
|
0x00 0xf1 0x03 /* HPD CP toggle enable */
|
|
0x00 0x62 0x41
|
|
/* Counter number add 1ms counter delay */
|
|
0x00 0xf6 0x01
|
|
/*
|
|
* [6]PWM function control by
|
|
* DPCD0040f[7], default is PWM
|
|
* block always works.
|
|
*/
|
|
0x00 0x77 0x06
|
|
/*
|
|
* 04h Adjust VTotal tolerance to
|
|
* fix the 30Hz no display issue
|
|
*/
|
|
0x00 0x4c 0x04
|
|
/* DPCD00400='h00, Parade OUI = 'h001cf8 */
|
|
0x01 0xc0 0x00
|
|
0x01 0xc1 0x1c /* DPCD00401='h1c */
|
|
0x01 0xc2 0xf8 /* DPCD00402='hf8 */
|
|
/*
|
|
* DPCD403~408 = ASCII code
|
|
* D2SLV5='h4432534c5635
|
|
*/
|
|
0x01 0xc3 0x44
|
|
0x01 0xc4 0x32 /* DPCD404 */
|
|
0x01 0xc5 0x53 /* DPCD405 */
|
|
0x01 0xc6 0x4c /* DPCD406 */
|
|
0x01 0xc7 0x56 /* DPCD407 */
|
|
0x01 0xc8 0x35 /* DPCD408 */
|
|
/*
|
|
* DPCD40A, Initial Code major revision
|
|
* '01'
|
|
*/
|
|
0x01 0xca 0x01
|
|
/* DPCD40B Initial Code minor revision '05' */
|
|
0x01 0xcb 0x05
|
|
/* DPCD720 Select internal PWM */
|
|
0x01 0xa5 0xa0
|
|
/*
|
|
* FFh for 100% PWM of brightness, 0h for 0%
|
|
* brightness
|
|
*/
|
|
0x01 0xa7 0xff
|
|
/*
|
|
* Set LVDS output as 6bit-VESA mapping,
|
|
* single LVDS channel
|
|
*/
|
|
0x01 0xcc 0x13
|
|
/* Enable SSC set by register */
|
|
0x02 0xb1 0x20
|
|
/*
|
|
* Set SSC enabled and +/-1% central
|
|
* spreading
|
|
*/
|
|
0x04 0x10 0x16
|
|
/* MPU Clock source: LC => RCO */
|
|
0x04 0x59 0x60
|
|
0x04 0x54 0x14 /* LC -> RCO */
|
|
0x02 0xa1 0x91>; /* HPD high */
|
|
|
|
ports {
|
|
port@0 {
|
|
bridge_out: endpoint {
|
|
remote-endpoint = <&panel_in>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
bridge_in: endpoint {
|
|
remote-endpoint = <&dp_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
sound@3830000 {
|
|
samsung,codec-type = "max98090";
|
|
};
|
|
|
|
i2c@12E10000 { /* i2c9 */
|
|
clock-frequency = <400000>;
|
|
tpm@20 {
|
|
compatible = "infineon,slb9645tt";
|
|
reg = <0x20>;
|
|
};
|
|
};
|
|
|
|
panel: panel {
|
|
compatible = "auo,b116xw03";
|
|
power-supply = <&tps65090_fet6>;
|
|
backlight = <&backlight>;
|
|
|
|
port {
|
|
panel_in: endpoint {
|
|
remote-endpoint = <&bridge_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
spi@12d30000 { /* spi1 */
|
|
spi-max-frequency = <50000000>;
|
|
firmware_storage_spi: flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
|
|
/*
|
|
* A region for the kernel to store a panic event
|
|
* which the firmware will add to the log.
|
|
*/
|
|
elog-panic-event-offset = <0x01e00000 0x100000>;
|
|
|
|
elog-shrink-size = <0x400>;
|
|
elog-full-threshold = <0xc00>;
|
|
};
|
|
};
|
|
|
|
xhci@12000000 {
|
|
samsung,vbus-gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
xhci@12400000 {
|
|
samsung,vbus-gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
fimd@14400000 {
|
|
samsung,vl-freq = <60>;
|
|
samsung,vl-col = <1366>;
|
|
samsung,vl-row = <768>;
|
|
samsung,vl-width = <1366>;
|
|
samsung,vl-height = <768>;
|
|
|
|
samsung,vl-clkp;
|
|
samsung,vl-dp;
|
|
samsung,vl-bpix = <4>;
|
|
|
|
samsung,vl-hspw = <32>;
|
|
samsung,vl-hbpd = <40>;
|
|
samsung,vl-hfpd = <40>;
|
|
samsung,vl-vspw = <6>;
|
|
samsung,vl-vbpd = <10>;
|
|
samsung,vl-vfpd = <12>;
|
|
samsung,vl-cmd-allow-len = <0xf>;
|
|
|
|
samsung,winid = <3>;
|
|
samsung,interface-mode = <1>;
|
|
samsung,dp-enabled = <1>;
|
|
samsung,dual-lcd-enabled = <0>;
|
|
};
|
|
};
|
|
|
|
&dp {
|
|
status = "okay";
|
|
samsung,color-space = <0>;
|
|
samsung,dynamic-range = <0>;
|
|
samsung,ycbcr-coeff = <0>;
|
|
samsung,color-depth = <1>;
|
|
samsung,link-rate = <0x06>;
|
|
samsung,lane-count = <2>;
|
|
samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
|
|
|
|
ports {
|
|
port@0 {
|
|
dp_out: endpoint {
|
|
remote-endpoint = <&bridge_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&spi_2 {
|
|
spi-max-frequency = <3125000>;
|
|
spi-deactivate-delay = <200>;
|
|
status = "okay";
|
|
num-cs = <1>;
|
|
samsung,spi-src-clk = <0>;
|
|
cs-gpios = <&gpb1 2 0>;
|
|
|
|
cros_ec: cros-ec@0 {
|
|
compatible = "google,cros-ec-spi";
|
|
interrupt-parent = <&gpx1>;
|
|
interrupts = <5 0>;
|
|
reg = <0>;
|
|
spi-half-duplex;
|
|
spi-max-timeout-ms = <1100>;
|
|
ec-interrupt = <&gpx1 5 GPIO_ACTIVE_LOW>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
/*
|
|
* This describes the flash memory within the EC. Note
|
|
* that the STM32L flash erases to 0, not 0xff.
|
|
*/
|
|
flash@8000000 {
|
|
reg = <0x08000000 0x20000>;
|
|
erase-value = <0>;
|
|
};
|
|
|
|
controller-data {
|
|
samsung,spi-feedback-delay = <1>;
|
|
};
|
|
|
|
i2c_tunnel: i2c-tunnel {
|
|
compatible = "google,cros-ec-i2c-tunnel";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
google,remote-bus = <0>;
|
|
|
|
battery: sbs-battery@b {
|
|
compatible = "sbs,sbs-battery";
|
|
reg = <0xb>;
|
|
sbs,poll-retry-count = <1>;
|
|
sbs,i2c-retry-count = <2>;
|
|
};
|
|
|
|
power-regulator@48 {
|
|
compatible = "ti,tps65090";
|
|
reg = <0x48>;
|
|
|
|
regulators {
|
|
tps65090_dcdc1: dcdc1 {
|
|
ti,enable-ext-control;
|
|
};
|
|
tps65090_dcdc2: dcdc2 {
|
|
ti,enable-ext-control;
|
|
};
|
|
tps65090_dcdc3: dcdc3 {
|
|
ti,enable-ext-control;
|
|
};
|
|
tps65090_fet1: fet1 {
|
|
regulator-name = "vcd_led";
|
|
};
|
|
tps65090_fet2: fet2 {
|
|
regulator-name = "video_mid";
|
|
regulator-always-on;
|
|
};
|
|
tps65090_fet3: fet3 {
|
|
regulator-name = "wwan_r";
|
|
regulator-always-on;
|
|
};
|
|
tps65090_fet4: fet4 {
|
|
regulator-name = "sdcard";
|
|
regulator-always-on;
|
|
};
|
|
tps65090_fet5: fet5 {
|
|
regulator-name = "camout";
|
|
regulator-always-on;
|
|
};
|
|
tps65090_fet6: fet6 {
|
|
regulator-name = "lcd_vdd";
|
|
};
|
|
tps65090_fet7: fet7 {
|
|
regulator-name = "video_mid_1a";
|
|
regulator-always-on;
|
|
};
|
|
tps65090_ldo1: ldo1 {
|
|
};
|
|
tps65090_ldo2: ldo2 {
|
|
};
|
|
};
|
|
|
|
charger {
|
|
compatible = "ti,tps65090-charger";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
#include "cros-ec-keyboard.dtsi"
|