Home
last modified time | relevance | path

Searched full:scom (Results 1 – 25 of 49) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/fsi/
Dfsi-scom.c3 * SCOM FSI Client device driver
22 /* SCOM engine register set */
47 /* SCOM address encodings */
51 /* SCOM indirect stuff */
145 static int put_indirect_scom_form0(struct scom_device *scom, uint64_t value, in put_indirect_scom_form0() argument
156 rc = __put_scom(scom, ind_data, ind_addr, status); in put_indirect_scom_form0()
160 rc = __get_scom(scom, &ind_data, addr, status); in put_indirect_scom_form0()
170 static int put_indirect_scom_form1(struct scom_device *scom, uint64_t value, in put_indirect_scom_form1() argument
180 return __put_scom(scom, ind_data, ind_addr, status); in put_indirect_scom_form1()
183 static int get_indirect_scom_form0(struct scom_device *scom, uint64_t *value, in get_indirect_scom_form0() argument
[all …]
Di2cr-scom.c37 struct i2cr_scom *scom = filep->private_data; in i2cr_scom_read() local
44 ret = fsi_master_i2cr_read(scom->i2cr, (u32)*offset, &data); in i2cr_scom_read()
58 struct i2cr_scom *scom = filep->private_data; in i2cr_scom_write() local
69 ret = fsi_master_i2cr_write(scom->i2cr, (u32)*offset, data); in i2cr_scom_write()
87 struct i2cr_scom *scom; in i2cr_scom_probe() local
94 scom = devm_kzalloc(dev, sizeof(*scom), GFP_KERNEL); in i2cr_scom_probe()
95 if (!scom) in i2cr_scom_probe()
98 scom->i2cr = to_fsi_master_i2cr(fsi_dev->slave->master); in i2cr_scom_probe()
99 dev_set_drvdata(dev, scom); in i2cr_scom_probe()
101 scom->dev.type = &fsi_cdev_type; in i2cr_scom_probe()
[all …]
DKconfig71 that translates I2C commands to CFAM or SCOM operations, effectively
75 tristate "SCOM FSI client device driver"
77 This option enables an FSI based SCOM device driver.
98 tristate "IBM I2C Responder SCOM driver"
101 This option enables an I2C Responder based SCOM device driver. The
102 I2CR has the capability to directly perform SCOM operations instead
DMakefile9 obj-$(CONFIG_FSI_SCOM) += fsi-scom.o
12 obj-$(CONFIG_I2CR_SCOM) += i2cr-scom.o
/kernel/linux/linux-5.10/drivers/fsi/
Dfsi-scom.c3 * SCOM FSI Client device driver
21 /* SCOM engine register set */
46 /* SCOM address encodings */
50 /* SCOM indirect stuff */
145 static int put_indirect_scom_form0(struct scom_device *scom, uint64_t value, in put_indirect_scom_form0() argument
156 rc = __put_scom(scom, ind_data, ind_addr, status); in put_indirect_scom_form0()
161 rc = __get_scom(scom, &ind_data, addr, status); in put_indirect_scom_form0()
175 static int put_indirect_scom_form1(struct scom_device *scom, uint64_t value, in put_indirect_scom_form1() argument
185 return __put_scom(scom, ind_data, ind_addr, status); in put_indirect_scom_form1()
188 static int get_indirect_scom_form0(struct scom_device *scom, uint64_t *value, in get_indirect_scom_form0() argument
[all …]
DKconfig66 tristate "SCOM FSI client device driver"
68 This option enables an FSI based SCOM device driver.
DMakefile8 obj-$(CONFIG_FSI_SCOM) += fsi-scom.o
/kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/
Dopal-prd.c273 struct opal_prd_scom scom; in opal_prd_ioctl() local
286 rc = copy_from_user(&scom, (void __user *)param, sizeof(scom)); in opal_prd_ioctl()
290 scom.rc = opal_xscom_read(scom.chip, scom.addr, in opal_prd_ioctl()
291 (__be64 *)&scom.data); in opal_prd_ioctl()
292 scom.data = be64_to_cpu(scom.data); in opal_prd_ioctl()
294 scom.chip, scom.addr, scom.data, scom.rc); in opal_prd_ioctl()
296 rc = copy_to_user((void __user *)param, &scom, sizeof(scom)); in opal_prd_ioctl()
302 rc = copy_from_user(&scom, (void __user *)param, sizeof(scom)); in opal_prd_ioctl()
306 scom.rc = opal_xscom_write(scom.chip, scom.addr, scom.data); in opal_prd_ioctl()
308 scom.chip, scom.addr, scom.data, scom.rc); in opal_prd_ioctl()
[all …]
Dopal-xscom.c3 * PowerNV SCOM bus debugfs interface
197 root = debugfs_create_dir("scom", arch_debugfs_dir); in scom_debug_init()
202 for_each_node_with_property(dn, "scom-controller") { in scom_debug_init()
DKconfig37 bool "Expose SCOM controllers via debugfs"
/kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/
Dopal-prd.c269 struct opal_prd_scom scom; in opal_prd_ioctl() local
282 rc = copy_from_user(&scom, (void __user *)param, sizeof(scom)); in opal_prd_ioctl()
286 scom.rc = opal_xscom_read(scom.chip, scom.addr, in opal_prd_ioctl()
287 (__be64 *)&scom.data); in opal_prd_ioctl()
288 scom.data = be64_to_cpu(scom.data); in opal_prd_ioctl()
290 scom.chip, scom.addr, scom.data, scom.rc); in opal_prd_ioctl()
292 rc = copy_to_user((void __user *)param, &scom, sizeof(scom)); in opal_prd_ioctl()
298 rc = copy_from_user(&scom, (void __user *)param, sizeof(scom)); in opal_prd_ioctl()
302 scom.rc = opal_xscom_write(scom.chip, scom.addr, scom.data); in opal_prd_ioctl()
304 scom.chip, scom.addr, scom.data, scom.rc); in opal_prd_ioctl()
[all …]
Dopal-xscom.c3 * PowerNV SCOM bus debugfs interface
197 root = debugfs_create_dir("scom", powerpc_debugfs_root); in scom_debug_init()
202 for_each_node_with_property(dn, "scom-controller") { in scom_debug_init()
DKconfig51 bool "Expose SCOM controllers via debugfs"
/kernel/linux/linux-6.6/arch/arm/boot/dts/aspeed/
Dibm-power10-quad.dtsi19 scom100: scom@1000 {
20 compatible = "ibm,i2cr-scom";
47 scom101: scom@1000 {
48 compatible = "ibm,i2cr-scom";
75 scom110: scom@1000 {
76 compatible = "ibm,i2cr-scom";
103 scom111: scom@1000 {
104 compatible = "ibm,i2cr-scom";
131 scom112: scom@1000 {
132 compatible = "ibm,i2cr-scom";
[all …]
Daspeed-bmc-ibm-everest.dts2514 scom@1000 {
2542 scom500: scom@1000 {
2543 compatible = "ibm,i2cr-scom";
2574 scom501: scom@1000 {
2575 compatible = "ibm,i2cr-scom";
2606 scom510: scom@1000 {
2607 compatible = "ibm,i2cr-scom";
2638 scom511: scom@1000 {
2639 compatible = "ibm,i2cr-scom";
2670 scom512: scom@1000 {
[all …]
Dibm-power9-dual.dtsi11 scom@1000 {
112 scom@1000 {
/kernel/linux/linux-5.10/include/uapi/linux/
Dfsi.h9 * /dev/scom "raw" ioctl interface
18 /* Structure for SCOM read/write */
20 __u64 addr; /* SCOM address, supports indirect */
21 __u64 data; /* SCOM data (in for write, out for read) */
45 /* Flags for SCOM check */
49 /* Flags for SCOM reset */
/kernel/linux/linux-6.6/include/uapi/linux/
Dfsi.h9 * /dev/scom "raw" ioctl interface
18 /* Structure for SCOM read/write */
20 __u64 addr; /* SCOM address, supports indirect */
21 __u64 data; /* SCOM data (in for write, out for read) */
45 /* Flags for SCOM check */
49 /* Flags for SCOM reset */
/kernel/linux/linux-6.6/arch/powerpc/kernel/
Dmisc_64.S179 * SCOM access functions for 970 (FX only for now)
195 /* rotate 24 bits SCOM address 8 bits left and mask out it's low 8 bits
202 /* do the actual scom read */
213 * the scom on any of the bogus CPUs yet, but may have to be done
229 /* rotate 24 bits SCOM address 8 bits left and mask out it's low 8 bits
/kernel/linux/linux-5.10/arch/powerpc/kernel/
Dmisc_64.S200 * SCOM access functions for 970 (FX only for now)
216 /* rotate 24 bits SCOM address 8 bits left and mask out it's low 8 bits
223 /* do the actual scom read */
234 * the scom on any of the bogus CPUs yet, but may have to be done
250 /* rotate 24 bits SCOM address 8 bits left and mask out it's low 8 bits
/kernel/linux/linux-5.10/drivers/cpufreq/
Dmaple-cpufreq.c32 #define SCOM_PCR 0x0aa001 /* PCR scom addr */
47 #define SCOM_PSR 0x408001 /* PSR scom addr */
75 * SCOM based frequency switching for 970FX rev3
/kernel/linux/linux-6.6/drivers/cpufreq/
Dmaple-cpufreq.c32 #define SCOM_PCR 0x0aa001 /* PCR scom addr */
47 #define SCOM_PSR 0x408001 /* PSR scom addr */
75 * SCOM based frequency switching for 970FX rev3
Dpmac64-cpufreq.c38 #define SCOM_PCR 0x0aa001 /* PCR scom addr */
53 #define SCOM_PSR 0x408001 /* PSR scom addr */
145 * SCOM based frequency switching for 970FX rev3
444 freq_method = "SCOM"; in g5_neo2_cpufreq_init()
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Dibm-power9-dual.dtsi11 scom@1000 {
112 scom@1000 {
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/fsi/
Dibm,i2cr-fsi-master.yaml15 writes or SCOM operations, thereby acting as an FSI master.

12