提交 96d60366 编写于 作者: R Robert Marko 提交者: Tom Rini

IPQ40xx: Add SPI support

Since we have SPI driver for IPQ40xx QUP SPI controller, lets add the necessary nodes, pinctrl and clocks.
Signed-off-by: NRobert Marko <robert.marko@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
上级 367ea426
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
aliases { aliases {
serial0 = &blsp1_uart1; serial0 = &blsp1_uart1;
spi0 = &blsp1_spi1;
}; };
reserved-memory { reserved-memory {
...@@ -89,6 +90,17 @@ ...@@ -89,6 +90,17 @@
gpio-count = <100>; gpio-count = <100>;
gpio-bank-name="soc"; gpio-bank-name="soc";
#gpio-cells = <2>; #gpio-cells = <2>;
u-boot,dm-pre-reloc;
};
blsp1_spi1: spi@78b5000 {
compatible = "qcom,spi-qup-v2.2.1";
reg = <0x78b5000 0x600>;
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
u-boot,dm-pre-reloc;
}; };
usb3_ss_phy: ssphy@9a000 { usb3_ss_phy: ssphy@9a000 {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* /*
* Clock drivers for Qualcomm IPQ40xx * Clock drivers for Qualcomm IPQ40xx
* *
* Copyright (c) 2019 Sartura Ltd. * Copyright (c) 2020 Sartura Ltd.
* *
* Author: Robert Marko <robert.marko@sartura.hr> * Author: Robert Marko <robert.marko@sartura.hr>
* *
...@@ -24,7 +24,7 @@ ulong msm_set_rate(struct clk *clk, ulong rate) ...@@ -24,7 +24,7 @@ ulong msm_set_rate(struct clk *clk, ulong rate)
switch (clk->id) { switch (clk->id) {
case GCC_BLSP1_UART1_APPS_CLK: /*UART1*/ case GCC_BLSP1_UART1_APPS_CLK: /*UART1*/
/* This clock is already initialized by SBL1 */ /* This clock is already initialized by SBL1 */
return 0; return 0;
break; break;
default: default:
return 0; return 0;
...@@ -47,8 +47,21 @@ static ulong msm_clk_set_rate(struct clk *clk, ulong rate) ...@@ -47,8 +47,21 @@ static ulong msm_clk_set_rate(struct clk *clk, ulong rate)
return msm_set_rate(clk, rate); return msm_set_rate(clk, rate);
} }
static int msm_enable(struct clk *clk)
{
switch (clk->id) {
case GCC_BLSP1_QUP1_SPI_APPS_CLK: /*SPI1*/
/* This clock is already initialized by SBL1 */
return 0;
break;
default:
return 0;
}
}
static struct clk_ops msm_clk_ops = { static struct clk_ops msm_clk_ops = {
.set_rate = msm_clk_set_rate, .set_rate = msm_clk_set_rate,
.enable = msm_enable,
}; };
static const struct udevice_id msm_clk_ids[] = { static const struct udevice_id msm_clk_ids[] = {
......
...@@ -18,6 +18,9 @@ static const struct pinctrl_function msm_pinctrl_functions[] = { ...@@ -18,6 +18,9 @@ static const struct pinctrl_function msm_pinctrl_functions[] = {
{"blsp_uart0_0", 1}, /* Only for GPIO:16,17 */ {"blsp_uart0_0", 1}, /* Only for GPIO:16,17 */
{"blsp_uart0_1", 2}, /* Only for GPIO:60,61 */ {"blsp_uart0_1", 2}, /* Only for GPIO:60,61 */
{"blsp_uart1", 1}, {"blsp_uart1", 1},
{"blsp_spi0_0", 1}, /* Only for GPIO:12,13,14,15 */
{"blsp_spi0_1", 2}, /* Only for GPIO:54,55,56,57 */
{"blsp_spi1", 2},
}; };
static const char *ipq4019_get_function_name(struct udevice *dev, static const char *ipq4019_get_function_name(struct udevice *dev,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册