Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
79522766
Commit
79522766
authored
Aug 23, 2019
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'spi-5.3' into spi-5.4
parents
be28f76b
d41f36a6
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
38 additions
and
9 deletions
+38
-9
Documentation/devicetree/bindings/spi/spi-controller.yaml
Documentation/devicetree/bindings/spi/spi-controller.yaml
+1
-2
drivers/spi/spi-bcm-qspi.c
drivers/spi/spi-bcm-qspi.c
+2
-2
drivers/spi/spi-bcm2835.c
drivers/spi/spi-bcm2835.c
+2
-1
drivers/spi/spi-dw-pci.c
drivers/spi/spi-dw-pci.c
+13
-0
drivers/spi/spi-fsl-qspi.c
drivers/spi/spi-fsl-qspi.c
+1
-1
drivers/spi/spi-gpio.c
drivers/spi/spi-gpio.c
+6
-0
drivers/spi/spi-pxa2xx.c
drivers/spi/spi-pxa2xx.c
+12
-2
drivers/spi/spi-zynq-qspi.c
drivers/spi/spi-zynq-qspi.c
+1
-1
No files found.
Documentation/devicetree/bindings/spi/spi-controller.yaml
View file @
79522766
...
...
@@ -31,7 +31,7 @@ properties:
If that property is used, the number of chip selects will be
increased automatically with max(cs-gpios, hardware chip selects).
So if, for example, the controller has
2
CS lines, and the
So if, for example, the controller has
4
CS lines, and the
cs-gpios looks like this
cs-gpios = <&gpio1 0 0>, <0>, <&gpio1 1 0>, <&gpio1 2 0>;
...
...
@@ -73,7 +73,6 @@ patternProperties:
Compatible of the SPI device.
reg
:
maxItems
:
1
minimum
:
0
maximum
:
256
description
:
...
...
drivers/spi/spi-bcm-qspi.c
View file @
79522766
...
...
@@ -343,7 +343,7 @@ static int bcm_qspi_bspi_set_flex_mode(struct bcm_qspi *qspi,
{
int
bpc
=
0
,
bpp
=
0
;
u8
command
=
op
->
cmd
.
opcode
;
int
width
=
op
->
cmd
.
buswidth
?
op
->
cmd
.
buswidth
:
SPI_NBITS_SINGLE
;
int
width
=
op
->
data
.
buswidth
?
op
->
data
.
buswidth
:
SPI_NBITS_SINGLE
;
int
addrlen
=
op
->
addr
.
nbytes
;
int
flex_mode
=
1
;
...
...
@@ -981,7 +981,7 @@ static int bcm_qspi_exec_mem_op(struct spi_mem *mem,
if
(
mspi_read
)
return
bcm_qspi_mspi_exec_mem_op
(
spi
,
op
);
ret
=
bcm_qspi_bspi_set_mode
(
qspi
,
op
,
-
1
);
ret
=
bcm_qspi_bspi_set_mode
(
qspi
,
op
,
0
);
if
(
!
ret
)
ret
=
bcm_qspi_bspi_exec_mem_op
(
spi
,
op
);
...
...
drivers/spi/spi-bcm2835.c
View file @
79522766
...
...
@@ -834,7 +834,8 @@ static int bcm2835_spi_transfer_one(struct spi_controller *ctlr,
bcm2835_wr
(
bs
,
BCM2835_SPI_CLK
,
cdiv
);
/* handle all the 3-wire mode */
if
((
spi
->
mode
&
SPI_3WIRE
)
&&
(
tfr
->
rx_buf
))
if
(
spi
->
mode
&
SPI_3WIRE
&&
tfr
->
rx_buf
&&
tfr
->
rx_buf
!=
ctlr
->
dummy_rx
)
cs
|=
BCM2835_SPI_CS_REN
;
else
cs
&=
~
BCM2835_SPI_CS_REN
;
...
...
drivers/spi/spi-dw-pci.c
View file @
79522766
...
...
@@ -19,6 +19,7 @@ struct spi_pci_desc {
int
(
*
setup
)(
struct
dw_spi
*
);
u16
num_cs
;
u16
bus_num
;
u32
max_freq
;
};
static
struct
spi_pci_desc
spi_pci_mid_desc_1
=
{
...
...
@@ -33,6 +34,12 @@ static struct spi_pci_desc spi_pci_mid_desc_2 = {
.
bus_num
=
1
,
};
static
struct
spi_pci_desc
spi_pci_ehl_desc
=
{
.
num_cs
=
1
,
.
bus_num
=
-
1
,
.
max_freq
=
100000000
,
};
static
int
spi_pci_probe
(
struct
pci_dev
*
pdev
,
const
struct
pci_device_id
*
ent
)
{
struct
dw_spi
*
dws
;
...
...
@@ -65,6 +72,7 @@ static int spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if
(
desc
)
{
dws
->
num_cs
=
desc
->
num_cs
;
dws
->
bus_num
=
desc
->
bus_num
;
dws
->
max_freq
=
desc
->
max_freq
;
if
(
desc
->
setup
)
{
ret
=
desc
->
setup
(
dws
);
...
...
@@ -123,6 +131,11 @@ static const struct pci_device_id pci_ids[] = {
{
PCI_VDEVICE
(
INTEL
,
0x0800
),
(
kernel_ulong_t
)
&
spi_pci_mid_desc_1
},
/* Intel MID platform SPI controller 2 */
{
PCI_VDEVICE
(
INTEL
,
0x0812
),
(
kernel_ulong_t
)
&
spi_pci_mid_desc_2
},
/* Intel Elkhart Lake PSE SPI controllers */
{
PCI_VDEVICE
(
INTEL
,
0x4b84
),
(
kernel_ulong_t
)
&
spi_pci_ehl_desc
},
{
PCI_VDEVICE
(
INTEL
,
0x4b85
),
(
kernel_ulong_t
)
&
spi_pci_ehl_desc
},
{
PCI_VDEVICE
(
INTEL
,
0x4b86
),
(
kernel_ulong_t
)
&
spi_pci_ehl_desc
},
{
PCI_VDEVICE
(
INTEL
,
0x4b87
),
(
kernel_ulong_t
)
&
spi_pci_ehl_desc
},
{},
};
...
...
drivers/spi/spi-fsl-qspi.c
View file @
79522766
...
...
@@ -206,7 +206,7 @@ static const struct fsl_qspi_devtype_data imx6sx_data = {
};
static
const
struct
fsl_qspi_devtype_data
imx7d_data
=
{
.
rxfifo
=
SZ_
512
,
.
rxfifo
=
SZ_
128
,
.
txfifo
=
SZ_512
,
.
ahb_buf_size
=
SZ_1K
,
.
quirks
=
QUADSPI_QUIRK_TKT253890
|
QUADSPI_QUIRK_4X_INT_CLK
,
...
...
drivers/spi/spi-gpio.c
View file @
79522766
...
...
@@ -410,6 +410,12 @@ static int spi_gpio_probe(struct platform_device *pdev)
bb
=
&
spi_gpio
->
bitbang
;
bb
->
master
=
master
;
/*
* There is some additional business, apart from driving the CS GPIO
* line, that we need to do on selection. This makes the local
* callback for chipselect always get called.
*/
master
->
flags
|=
SPI_MASTER_GPIO_SS
;
bb
->
chipselect
=
spi_gpio_chipselect
;
bb
->
set_line_direction
=
spi_gpio_set_direction
;
...
...
drivers/spi/spi-pxa2xx.c
View file @
79522766
...
...
@@ -1457,6 +1457,14 @@ static const struct pci_device_id pxa2xx_spi_pci_compound_match[] = {
{
PCI_VDEVICE
(
INTEL
,
0x02aa
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0x02ab
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0x02fb
),
LPSS_CNL_SSP
},
/* TGL-LP */
{
PCI_VDEVICE
(
INTEL
,
0xa0aa
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0xa0ab
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0xa0de
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0xa0df
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0xa0fb
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0xa0fd
),
LPSS_CNL_SSP
},
{
PCI_VDEVICE
(
INTEL
,
0xa0fe
),
LPSS_CNL_SSP
},
{
},
};
...
...
@@ -1831,14 +1839,16 @@ static int pxa2xx_spi_probe(struct platform_device *pdev)
status
=
devm_spi_register_controller
(
&
pdev
->
dev
,
controller
);
if
(
status
!=
0
)
{
dev_err
(
&
pdev
->
dev
,
"problem registering spi controller
\n
"
);
goto
out_error_
clock
_enabled
;
goto
out_error_
pm_runtime
_enabled
;
}
return
status
;
out_error_
clock
_enabled:
out_error_
pm_runtime
_enabled:
pm_runtime_put_noidle
(
&
pdev
->
dev
);
pm_runtime_disable
(
&
pdev
->
dev
);
out_error_clock_enabled:
clk_disable_unprepare
(
ssp
->
clk
);
out_error_dma_irq_alloc:
...
...
drivers/spi/spi-zynq-qspi.c
View file @
79522766
...
...
@@ -694,7 +694,7 @@ static int zynq_qspi_probe(struct platform_device *pdev)
ctlr
->
setup
=
zynq_qspi_setup_op
;
ctlr
->
max_speed_hz
=
clk_get_rate
(
xqspi
->
refclk
)
/
2
;
ctlr
->
dev
.
of_node
=
np
;
ret
=
spi_register_controller
(
ctlr
);
ret
=
devm_spi_register_controller
(
&
pdev
->
dev
,
ctlr
);
if
(
ret
)
{
dev_err
(
&
pdev
->
dev
,
"spi_register_master failed
\n
"
);
goto
clk_dis_all
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment