X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=arch%2Farm%2Fboot%2Fdts%2Frk3288-firefly.dtsi;h=b3bb02ea23fee090d5b9752f530b6d948edb803e;hb=2ae05321496aa27767bc33a5cc19451b3db67919;hp=6bfbd7fd9a63c4c8425310b926968f58ed2c5717;hpb=c9934c739f5c20fca13d4b5c904da78da652c153;p=firefly-linux-kernel-4.4.55.git diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi index 6bfbd7fd9a63..b3bb02ea23fe 100644 --- a/arch/arm/boot/dts/rk3288-firefly.dtsi +++ b/arch/arm/boot/dts/rk3288-firefly.dtsi @@ -45,7 +45,65 @@ / { memory { device_type = "memory"; - reg = <0 0x80000000>; + reg = <0x0 0x0 0x0 0x80000000>; + }; + + backlight: backlight { + status = "disabled"; + compatible = "pwm-backlight"; + brightness-levels = < + 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31 + 32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62 63 + 64 65 66 67 68 69 70 71 + 72 73 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 + 88 89 90 91 92 93 94 95 + 96 97 98 99 100 101 102 103 + 104 105 106 107 108 109 110 111 + 112 113 114 115 116 117 118 119 + 120 121 122 123 124 125 126 127 + 128 129 130 131 132 133 134 135 + 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 + 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 + 168 169 170 171 172 173 174 175 + 176 177 178 179 180 181 182 183 + 184 185 186 187 188 189 190 191 + 192 193 194 195 196 197 198 199 + 200 201 202 203 204 205 206 207 + 208 209 210 211 212 213 214 215 + 216 217 218 219 220 221 222 223 + 224 225 226 227 228 229 230 231 + 232 233 234 235 236 237 238 239 + 240 241 242 243 244 245 246 247 + 248 249 250 251 252 253 254 255>; + default-brightness-level = <180>; + pwms = <&pwm1 0 25000 0>; + pwm-names = "backlight"; + power-supply = <&vcc_sys>; + }; + + panel: panel { + status = "disabled"; + compatible ="lg,lp079qx1-sp0v"; + power-supply = <&vcc_sys>; + backlight = <&backlight>; + enable-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; + + ports { + panel_in: port { + panel_in_edp: endpoint { + remote-endpoint = <&edp_out_panel>; + }; + }; + }; }; dovdd_1v8: dovdd-1v8-regulator { @@ -63,22 +121,6 @@ clock-output-names = "ext_gmac"; }; - io_domains: io-domains { - compatible = "rockchip,rk3288-io-voltage-domain"; - rockchip,grf = <&grf>; - - audio-supply = <&vcca_33>; - bb-supply = <&vcc_io>; - dvp-supply = <&dovdd_1v8>; - flash0-supply = <&vcc_flash>; - flash1-supply = <&vcc_lan>; - gpio30-supply = <&vcc_io>; - gpio1830-supply = <&vcc_io>; - lcdc-supply = <&vcc_io>; - sdcard-supply = <&vccio_sd>; - wifi-supply = <&vccio_wl>; - }; - ir: ir-receiver { compatible = "gpio-ir-receiver"; pinctrl-names = "default"; @@ -120,6 +162,59 @@ }; }; + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&hym8563>; + clock-names = "ext_clock"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_enable_h>; + + /* + * On the module itself this is one of these (depending + * on the actual card populated): + * - SDIO_RESET_L_WL_REG_ON + * - PDN (power down when low) + */ + reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>; + }; + + es8323-sound { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8323-codec"; + simple-audio-card,mclk-fs = <256>; + //simple-audio-card,hp-det-gpio = <&gpio7 15 GPIO_ACTIVE_HIGH>; + simple-audio-card,widgets = + "Microphone","Mic Jack", + "Headphone","Headphone Jack"; + simple-audio-card,routing = + "Mic Jack","MICBIAS1", + "IN1P","Mic Jack", + "Headphone Jack","HPOL", + "Headphone Jack","HPOR"; + simple-audio-card,cpu { + sound-dai = <&i2s>; + }; + simple-audio-card,codec { + sound-dai = <&es8323>; + }; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "SPDIF"; + simple-audio-card,dai-link@1 { + cpu { sound-dai = <&spdif>; }; + codec { sound-dai = <&spdif_out>; }; + }; + }; + + spdif_out: spdif-out { + compatible = "linux,spdif-dit"; + #sound-dai-cells = <0>; + }; + vbat_wl: vcc_sys: vsys-regulator { compatible = "regulator-fixed"; regulator-name = "vcc_sys"; @@ -201,12 +296,61 @@ regulator-always-on; vin-supply = <&vcc_io>; }; + + wireless-bluetooth { + compatible = "bluetooth-platdata"; + uart_rts_gpios = <&gpio4 19 GPIO_ACTIVE_LOW>; + pinctrl-names = "default", "rts_gpio"; + pinctrl-0 = <&uart0_rts>; + pinctrl-1 = <&uart0_gpios>; + BT,reset_gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; + BT,wake_gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>; + BT,wake_host_irq = <&gpio4 31 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + + wireless-wlan { + compatible = "wlan-platdata"; + rockchip,grf = <&grf>; + wifi_chip_type = "ap6335"; + sdio_vref = <1800>; + WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; }; &cpu0 { cpu0-supply = <&vdd_cpu>; }; +&edp { + vcc-supply = <&vdd_10>; + vccio-supply = <&vcc_18>; + force-hpd; + status = "disabled"; + + ports { + edp_out: port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + edp_out_panel: endpoint { + reg = <0>; + remote-endpoint = <&panel_in_edp>; + }; + }; + }; +}; + +&edp_in { + /delete-node/ endpoint@0; +}; + +&edp_phy { + status = "disabled"; + //status = "okay"; +}; + &emmc { bus-width = <8>; cap-mmc-highspeed; @@ -236,11 +380,24 @@ status = "ok"; }; +&gpu { + mali-supply = <&vdd_gpu>; + status = "okay"; +}; + &hdmi { - ddc-i2c-bus = <&i2c5>; status = "okay"; }; +&hevc_service { + status = "okay"; + +}; + +&hdmi_in { + /delete-node/ endpoint@1; +}; + &i2c0 { clock-frequency = <400000>; status = "okay"; @@ -267,6 +424,7 @@ regulator-min-microvolt = <850000>; regulator-max-microvolt = <1350000>; regulator-always-on; + regulator-ramp-delay = <6000>; vin-supply = <&vcc_sys>; }; @@ -350,6 +508,7 @@ regulator-name = "vcca_33"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + regulator-always-on; }; vcc_lan: REG9 { @@ -384,17 +543,59 @@ &i2c1 { status = "okay"; + + mpu6050@68 { + compatible = "invensense,mpu6050"; + reg = <0x68>; + interrupt-parent = <&gpio5>; + interrupts = ; + mount-matrix = "0", + "1", + "0", + "-1", + "0", + "0", + "0", + "0", + "-1"; + }; }; &i2c2 { status = "okay"; + + es8323: es8323@10 { + status = "okay"; + compatible = "everest,es8323"; + reg = <0x10>; + spk-con-gpio = <&gpio7 3 GPIO_ACTIVE_HIGH>; + hp-det-gpio = <&gpio7 15 GPIO_ACTIVE_LOW>; + clock-names = "mclk"; + clocks = <&cru SCLK_I2S0_OUT>; + #sound-dai-cells = <0>; + }; }; &i2c4 { status = "okay"; }; -&i2c5 { +&io_domains { + status = "okay"; + + audio-supply = <&vcca_33>; + bb-supply = <&vcc_io>; + dvp-supply = <&dovdd_1v8>; + flash0-supply = <&vcc_flash>; + flash1-supply = <&vcc_lan>; + gpio30-supply = <&vcc_io>; + gpio1830-supply = <&vcc_io>; + lcdc-supply = <&vcc_io>; + sdcard-supply = <&vccio_sd>; + wifi-supply = <&vccio_wl>; +}; + +&rga { status = "okay"; }; @@ -407,6 +608,15 @@ output-low; }; + pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { + drive-strength = <8>; + }; + + pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { + bias-pull-up; + drive-strength = <8>; + }; + act8846 { pwr_hold: pwr-hold { rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>; @@ -455,7 +665,32 @@ }; }; + sdio-pwrseq { + wifi_enable_h: wifi-enable-h { + rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + sdmmc { + /* + * Default drive strength isn't enough to achieve even + * high-speed mode on firefly board so bump up to 8ma. + */ + sdmmc_bus4: sdmmc-bus4 { + rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, + <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, + <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, + <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; + }; + + sdmmc_clk: sdmmc-clk { + rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; + }; + + sdmmc_cmd: sdmmc-cmd { + rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; + }; + sdmmc_pwr: sdmmc-pwr { rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; }; @@ -476,6 +711,17 @@ rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; }; }; + + wireless-bluetooth { + uart0_gpios: uart0-gpios { + rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&i2s { + status = "okay"; + #sound-dai-cells = <0>; }; &saradc { @@ -484,12 +730,21 @@ }; &sdio0 { + clock-frequency = <50000000>; + clock-freq-min-max = <200000 50000000>; + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; disable-wp; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; non-removable; num-slots = <1>; pinctrl-names = "default"; - pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk &sdio0_int>; + sd-uhs-sdr104; + supports-sdio; vmmc-supply = <&vbat_wl>; vqmmc-supply = <&vccio_wl>; status = "okay"; @@ -510,6 +765,10 @@ status = "okay"; }; +&spdif { + status = "okay"; +}; + &spi0 { pinctrl-names = "default"; pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; @@ -524,7 +783,7 @@ &uart0 { pinctrl-names = "default"; - pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; + pinctrl-0 = <&uart0_xfer>, <&uart0_cts>; status = "okay"; }; @@ -562,6 +821,10 @@ status = "okay"; }; +&vopb_out { + /delete-node/ endpoint@1; +}; + &vopl { status = "okay"; }; @@ -570,6 +833,14 @@ status = "okay"; }; +&vpu_service { + status = "okay"; +}; + +&vopl_out { + /delete-node/ endpoint@0; +}; + &wdt { status = "okay"; };